一種管理存儲(chǔ)系統(tǒng)的方法及設(shè)備的制造方法
【專利摘要】一種管理存儲(chǔ)系統(tǒng)的方法及設(shè)備,用于減少上層應(yīng)用需要維護(hù)的SSD屬性集合的數(shù)量,減少應(yīng)用的資源消耗。該管理存儲(chǔ)系統(tǒng)的方法由存儲(chǔ)控制器執(zhí)行,包括如下步驟:對至少一個(gè)SSD進(jìn)行掃描,獲得所述至少一個(gè)SSD的M項(xiàng)屬性集合,每個(gè)SSD的對應(yīng)至少一個(gè)屬性集合;根據(jù)掃描獲得的M項(xiàng)所述屬性集合構(gòu)造N個(gè)虛擬SSD,每個(gè)虛擬SSD根據(jù)至少兩項(xiàng)屬性集合構(gòu)造,且每個(gè)虛擬SSD的屬性集合由所述至少兩項(xiàng)屬性集合合并而成,M為大于或等于2的整數(shù),N為小于M的正整數(shù);向應(yīng)用上報(bào)所述N個(gè)虛擬SSD各自的屬性集合,以使所述應(yīng)用根據(jù)所述N個(gè)虛擬SSD的屬性集合對所述N個(gè)虛擬SSD進(jìn)行訪問。
【專利說明】
_種管理存儲(chǔ)系統(tǒng)的方法及設(shè)備
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種管理存儲(chǔ)系統(tǒng)的方法及設(shè)備。
【背景技術(shù)】
[0002] 在擁有多個(gè)固態(tài)硬盤(英文:solid state drives,SSD)的存儲(chǔ)系統(tǒng)中,管理SSD的 設(shè)備需要對每個(gè)SSD盤進(jìn)行掃描,獲得每個(gè)SSD的屬性集合,然后將每個(gè)SSD的屬性集合上報(bào) 應(yīng)用,應(yīng)用根據(jù)每個(gè)SSD的屬性集合對SSD進(jìn)行訪問。
[0003] 但是,目前存儲(chǔ)系統(tǒng)規(guī)模越來越大,一個(gè)存儲(chǔ)系統(tǒng)中包括大量SSD,使得每個(gè)應(yīng)用 均需要管理大量SSD的屬性集合,需要耗費(fèi)大量資源,并增加系統(tǒng)復(fù)雜性。
【發(fā)明內(nèi)容】
[0004] 本申請?zhí)峁┮环N管理存儲(chǔ)系統(tǒng)的方法及設(shè)備,以減少上層應(yīng)用需要維護(hù)的SSD屬 性集合數(shù)量,減少資源消耗。
[0005] 第一方面,本申請?zhí)峁┮环N管理存儲(chǔ)系統(tǒng)的方法,該方法由存儲(chǔ)控制器執(zhí)行,該存 儲(chǔ)控制器可以與至少一個(gè)SSD位于同一物理實(shí)體中,存儲(chǔ)控制器也可以為一獨(dú)立的控制設(shè) 備,通過網(wǎng)絡(luò)與至少一個(gè)SSD通信。首先,存儲(chǔ)控制器對至少一個(gè)SSD進(jìn)行掃描,獲得該至少 一個(gè)SSD的M項(xiàng)屬性集合,其中,每個(gè)SSD的對應(yīng)至少一個(gè)屬性集合。然后,存儲(chǔ)控制器根據(jù)掃 描獲得的M項(xiàng)所述屬性集合構(gòu)造N個(gè)虛擬SSD,每個(gè)虛擬SSD根據(jù)至少兩項(xiàng)屬性集合構(gòu)造,且 每個(gè)虛擬SSD的屬性集合由該至少兩項(xiàng)屬性集合合并而成,M為大于或等于2的整數(shù),N為小 于M的正整數(shù);向應(yīng)用上報(bào)所述N個(gè)虛擬SSD各自的屬性集合,以使所述應(yīng)用根據(jù)所述N個(gè)虛 擬SSD的屬性集合對所述N個(gè)虛擬SSD進(jìn)行訪問。
[0006] 上述存儲(chǔ)控制器對存儲(chǔ)系統(tǒng)中的至少一個(gè)SSD進(jìn)行掃描之后,根據(jù)掃描獲得的多 項(xiàng)屬性集合,將屬性集合中的存儲(chǔ)空間進(jìn)行合并,構(gòu)造虛擬SSD,將虛擬SSD的屬性集合上報(bào) 應(yīng)用。不僅使得應(yīng)用能夠根據(jù)虛擬SSD的屬性集合對虛擬SSD進(jìn)行訪問,完成數(shù)據(jù)的讀、寫等 操作,而且應(yīng)用需要維護(hù)的SSD屬性集合的數(shù)量大幅減少,減少應(yīng)用的資源消耗。
[0007] 在一種可能的實(shí)現(xiàn)中,每個(gè)屬性集合中包括存儲(chǔ)空間大小,例如,屬性集合中包括 SSD的命名空間(英文:namespace)標(biāo)識(shí)以及該namespace對應(yīng)存儲(chǔ)空間的大小。存儲(chǔ)控制器 對掃描獲得的屬性集合中的存儲(chǔ)空間大小進(jìn)行合并,在至少兩項(xiàng)屬性集合中的存儲(chǔ)空間大 小合并后達(dá)到預(yù)設(shè)容量時(shí),根據(jù)該至少兩項(xiàng)屬性集合構(gòu)造一個(gè)虛擬SSD。
[0008] 在一種可能的實(shí)現(xiàn)中,存儲(chǔ)控制器根據(jù)預(yù)設(shè)數(shù)量的所述屬性集合,構(gòu)造一個(gè)虛擬 SSD,該虛擬集合中包括存儲(chǔ)空間大小為該預(yù)設(shè)數(shù)量的屬性集合的存儲(chǔ)空間大小之和。
[0009] 在一種可能的實(shí)現(xiàn)中,存儲(chǔ)控制器在根據(jù)掃描獲得的M項(xiàng)所述屬性集合構(gòu)造N個(gè)虛 擬SSD之后,存儲(chǔ)每個(gè)所述虛擬SSD的邏輯地址與所述至少一個(gè)SSD中物理地址的映射,并在 獲得所述應(yīng)用的第一訪問請求之后,根據(jù)存儲(chǔ)的所述映射,確定第一訪問請求中包括的第 一虛擬SSD的邏輯地址對應(yīng)的所述至少一個(gè)中第一 SSD的物理地址;并向所述第一 SSD發(fā)送 第二訪問請求,所述第二訪問請求包括確定的該物理地址,該第二訪問請求與該第一訪問 請求所請求的數(shù)據(jù)操作相同。通過上述方式,應(yīng)用可以通過虛擬SSD的屬性集合實(shí)現(xiàn)數(shù)據(jù)訪 問。
[0010] 在一種可能的實(shí)現(xiàn)中,所述至少一個(gè)中的第二SSD包括至少一個(gè)SSD控制器;存儲(chǔ) 控制器對所述第二SSD進(jìn)行掃描時(shí),根據(jù)所述第二SSD的每個(gè)SSD控制器掃描獲得一項(xiàng)所述 屬性集合。
[0011] 第二方面,本申請?zhí)峁┮环N管理存儲(chǔ)系統(tǒng)的設(shè)備,該設(shè)備包括用于執(zhí)行上述第一 方面或第一方面的任意可能的實(shí)現(xiàn)中的方法的模塊。
[0012] 第三方面,本申請?zhí)峁┮环N存儲(chǔ)控制器,該存儲(chǔ)控制器包括處理器、收發(fā)器以及總 線,處理器以及收發(fā)器通過總線通信。該收發(fā)器用于與其他網(wǎng)元進(jìn)行通信,其他網(wǎng)元例如多 個(gè)SSD、應(yīng)用服務(wù)器。該處理器用于通過收發(fā)器執(zhí)行上述第一方面或第一方面的任意可能的 實(shí)現(xiàn)中的方法。
[0013] 在一種可能的實(shí)現(xiàn)中,該處理器包括第一處理器,例如中央處理器(英文central processing unit,CPU),用于通過收發(fā)器對多個(gè)SSD進(jìn)行掃描,獲得每個(gè)SSD的屬性集合。該 處理器還包括第二處理器,例如,專用集成電路(英文〖application specific integrated circuit,ASIC),用于根據(jù)獲得的至少一個(gè)SSD的屬性集合將SSD中的存儲(chǔ)空間構(gòu)造虛擬 SSD,生成虛擬SSD的屬性集合。
[0014] 第四方面,本申請?zhí)峁┮环N存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備包括存儲(chǔ)控制器以及多個(gè)SSD, 存儲(chǔ)控制器與多個(gè)SSD通過總線相連。該存儲(chǔ)控制器用于執(zhí)行上述第一方面或第一方面的 任意可能的實(shí)現(xiàn)中的方法。
[0015] 第五方面,本申請?zhí)峁┝艘环N計(jì)算機(jī)可讀介質(zhì),用于存儲(chǔ)計(jì)算機(jī)程序,該計(jì)算機(jī)程 序包括用于執(zhí)行第一方面或第一方面的任意可能的實(shí)現(xiàn)中的方法的指令。
[0016] 本申請?jiān)谏鲜龈鞣矫嫣峁┑膶?shí)現(xiàn)的基礎(chǔ)上,還可以進(jìn)行進(jìn)一步組合以提供更多實(shí) 現(xiàn)。
【附圖說明】
[0017] 為了更清楚地說明本申請實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使 用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本 領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其 他的附圖。
[0018] 圖la-圖lb為本申請實(shí)施例中存儲(chǔ)控制器的可能形態(tài)的示意圖;
[0019] 圖2為本申請實(shí)施例中管理存儲(chǔ)系統(tǒng)方法的流程示意圖;
[0020] 圖3為本申請實(shí)施例中管理存儲(chǔ)系統(tǒng)方法的細(xì)化流程示意圖;
[0021 ]圖4為本申請實(shí)施例中管理存儲(chǔ)系統(tǒng)的設(shè)備的示意圖;
[0022]圖5為本申請實(shí)施例中另一管理存儲(chǔ)系統(tǒng)的設(shè)備的示意圖。
【具體實(shí)施方式】
[0023]下面通過附圖以及具體實(shí)施例對本發(fā)明技術(shù)方案做詳細(xì)的說明,應(yīng)當(dāng)理解本申請 實(shí)施例以及實(shí)施例中的具體特征是對本發(fā)明技術(shù)方案的詳細(xì)的說明,而不是對本發(fā)明技術(shù) 方案的限定,在不沖突的情況下,本申請實(shí)施例以及實(shí)施例中的技術(shù)特征可以相互組合。
[0024]本申請實(shí)施例中,存儲(chǔ)系統(tǒng)包括多個(gè)固態(tài)硬盤SSD20以及存儲(chǔ)控制器10。其中,存 儲(chǔ)控制器至少可以有兩種形態(tài)。
[0025]形態(tài)1,參照圖la,存儲(chǔ)控制器10可以為獨(dú)立的計(jì)算機(jī),又可稱為主機(jī),通過互聯(lián)網(wǎng) 或?qū)S镁W(wǎng)絡(luò)與至少一個(gè)SSD20相連。實(shí)際情況中,存儲(chǔ)系統(tǒng)中可以包括多個(gè)存儲(chǔ)控制器10, 每個(gè)存儲(chǔ)控制器10均能夠負(fù)責(zé)承接用戶對SSD20的訪問。本申請實(shí)施例中以下內(nèi)容,基于存 儲(chǔ)系統(tǒng)中的一個(gè)存儲(chǔ)控制器10進(jìn)行描述,對于存儲(chǔ)系統(tǒng)中的其他存儲(chǔ)控制器10而言,均可 以采用相同的實(shí)現(xiàn)方式。
[0026] 形態(tài)2,參照圖lb,存儲(chǔ)控制器10與至少一個(gè)SSD20位于一個(gè)物理實(shí)體內(nèi),通常將這 種結(jié)構(gòu)稱為硬盤框。實(shí)際情況中,存儲(chǔ)系統(tǒng)可以包括多個(gè)這種硬盤框結(jié)構(gòu)。
[0027] 本申請實(shí)施例中,SSD20具體可以通過快捷外設(shè)互聯(lián)標(biāo)準(zhǔn)(英文peripheral component interconnect express,PCI_E)接口與存儲(chǔ)控制器10采用上述形態(tài)1或形態(tài)2相 連。
[0028] 本申請實(shí)施例中,SSD20包括SSD控制器(SSD20的控制芯片)和存儲(chǔ)單元組成。其 中,存儲(chǔ)單元用于存儲(chǔ)數(shù)據(jù),根據(jù)存儲(chǔ)介質(zhì)的不同,可分為閃存(英文:flash disk)以及動(dòng) 態(tài)隨機(jī)存取存儲(chǔ)器(英文:dynamic random access memoryARAMhSSD控制器用于調(diào)配數(shù) 據(jù)在各個(gè)存儲(chǔ)單元上的負(fù)荷,以及數(shù)據(jù)中轉(zhuǎn)。除此之外,SSD控制器還可以用于:糾錯(cuò)、耗損 平衡、壞塊映射、讀寫緩存、垃圾回收以及加密等一系列的功能算法。可選的,SSD20中還可 以包括用于數(shù)據(jù)緩存的緩存單元。
[0029] 本申請實(shí)施例中,存儲(chǔ)控制器10包括但不限于如下功能:
[0030] 功能一,存儲(chǔ)控制器10運(yùn)行SSD驅(qū)動(dòng)程序,對SSD20進(jìn)行掃描,獲得SSD20的屬性集 合。例如,存儲(chǔ)控制器10上加載有快速非易失性存儲(chǔ)器(英文:non-volatile memory express,NVMe)驅(qū)動(dòng)程序,存儲(chǔ)控制器10運(yùn)行該NVMe驅(qū)動(dòng)程序,對與存儲(chǔ)控制器10連接的每 個(gè)SSD20進(jìn)行掃描,獲得每個(gè)SSD20的屬性集合。
[0031] 表1為存儲(chǔ)控制器10對SSD20進(jìn)行掃描時(shí),獲得的SSD屬性集合的示意,表中控制器 指的是SSD控制器。
[0033]表 1
[0034]表1中的部分英文縮寫或單詞的釋義如下:
[0035] PCI,英文全稱為peripheral component interconnect,中文釋義為:外設(shè)組件互 連標(biāo)準(zhǔn)。
[0036] BAR,英文全稱為base address register,中文釋義為:基地址寄存器。
[0037] 10,英文全稱為input/output,中文釋義為:輸入/輸出。
[0038] namesspace,中文釋義為:命名空間(或者,名稱空間)。本申請實(shí)施例中,一個(gè)控制 器可以對應(yīng)一個(gè)或多個(gè)namespace,每個(gè)namespace對應(yīng)一個(gè)邏輯存儲(chǔ)空間。表2為 namespace的鏈表的示意。
[0040]表 2
[0041 ] 根據(jù)表2中的"namespace的邏輯區(qū)塊的數(shù)量"以及"namespace的每個(gè)邏輯區(qū)塊的 大小"即可確定該namespace對應(yīng)的邏輯存儲(chǔ)空間的容量。而一個(gè)SSD20對應(yīng)的所有 namespace對應(yīng)的邏輯存儲(chǔ)空間的容量之和即為該SSD20的容量。
[0042]功能二,存儲(chǔ)控制器10根據(jù)掃描獲得的多項(xiàng)SSD20的屬性集合,將SSD20的存儲(chǔ)空 間進(jìn)行合并,形成虛擬SSD,并生成該虛擬SSD的屬性集合。
[0043]本發(fā)明【背景技術(shù)】介紹的方案中,存儲(chǔ)控制器10將掃描獲得的SSD屬性集合上報(bào)應(yīng) 用(又稱:上層應(yīng)用),以使應(yīng)用根據(jù)該SSD屬性集合對SSD20進(jìn)行訪問。但是,這會(huì)導(dǎo)致應(yīng)用 需要維護(hù)大量的屬性集合,資源消耗較大。
[0044] 為了解決該問題,本申請實(shí)施例中,存儲(chǔ)控制器10根據(jù)掃描獲得的多項(xiàng)SSD20的屬 性集合,將SSD20的存儲(chǔ)空間進(jìn)行合并,形成虛擬SSD,并生成該虛擬SSD的屬性集合然后將 該虛擬SSD的屬性集合上報(bào)給應(yīng)用。
[0045] 本申請實(shí)施例中,所謂虛擬SSD指的是邏輯上將不同SSD20的存儲(chǔ)空間合并所形成 的虛擬化的存儲(chǔ)設(shè)備。虛擬SSD的屬性集合的數(shù)據(jù)結(jié)構(gòu)與合并前的屬性集合的數(shù)據(jù)結(jié)構(gòu)可 以相同,也可以只保留應(yīng)用關(guān)心的部分?jǐn)?shù)據(jù),如虛擬SSD的標(biāo)識(shí)、虛擬SSD的容量。
[0046] 其中,合并前的多項(xiàng)屬性集合中的每項(xiàng)屬性集合中均包括至少一個(gè)namespace,合 并后的虛擬SSD的屬性集合可以只存在一個(gè)namespace,該namespace的標(biāo)識(shí)作為該虛擬SSD 的標(biāo)識(shí)。這個(gè)標(biāo)識(shí)可以為合并前的多項(xiàng)屬性集合中任一屬性集合中包括的任一 namespace 的標(biāo)識(shí)(如,多項(xiàng)屬性集合包括的所有namespace中編號(hào)最小的namespace的標(biāo)識(shí)),也可以 為存儲(chǔ)控制器10生成的尚未使用的標(biāo)識(shí)。
[0047]另外,合并后的屬性集合中的namespace鏈表中,namespace的邏輯區(qū)塊的數(shù)量為 合并前的所有每個(gè)屬性集合中每個(gè)namespace的邏輯區(qū)塊數(shù)量之和。而每個(gè)邏輯區(qū)塊的大 小保持不變。
[0048]例如,存儲(chǔ)控制器10對10個(gè)SSD20進(jìn)行掃描,對每個(gè)SSD20的掃描可以獲得1項(xiàng)屬性 集合,不妨設(shè)每項(xiàng)屬性集合中包含1個(gè)namespace,每個(gè)namespace包括10萬個(gè)邏輯區(qū)塊,每 個(gè)邏輯區(qū)塊的大小為10MB,則每個(gè)namespace對應(yīng)1TB的存儲(chǔ)空間。將這10個(gè)SSD20的所有10 項(xiàng)屬性集合合并,形成虛擬SSD的屬性集合,該虛擬SSD的屬性集合包括1個(gè)namespace,該 namespace包括的邏輯區(qū)塊的數(shù)目為100萬個(gè),每個(gè)邏輯區(qū)塊的大小為10MB,則該虛擬SSD的 容量為10TB。
[0049] 另外,本申請實(shí)施例中,存儲(chǔ)控制器10根據(jù)對至少一個(gè)SSD進(jìn)行掃描獲得的屬性集 合可以構(gòu)造多個(gè)虛擬SSD;另外,存儲(chǔ)控制器10也可以只根據(jù)對部分的SSD20掃描獲得的屬 性集合構(gòu)造1個(gè)或多個(gè)虛擬SSD。
[0050] 功能三,存儲(chǔ)控制器10還用于將合并后的虛擬SSD的屬性集合上報(bào)應(yīng)用,以使應(yīng)用 根據(jù)該虛擬SSD屬性集合對虛擬SSD進(jìn)行訪問。
[0051 ] 所謂應(yīng)用對虛擬SSD進(jìn)行訪問,指的是應(yīng)用對虛擬SSD對應(yīng)的SSD20進(jìn)行訪問。
[0052]實(shí)際情況中,存儲(chǔ)控制器10可能只是對一部分的SSD屬性集合進(jìn)行合并,顯然,存 儲(chǔ)控制器10還要將未合并的SSD屬性集合上報(bào)應(yīng)用。
[0053]本申請實(shí)施例中,應(yīng)用指的是需要對SSD20進(jìn)行訪問的應(yīng)用程序,例如,數(shù)據(jù)庫程 序?qū)?shù)據(jù)存儲(chǔ)在SSD20中,該數(shù)據(jù)庫程序即為本申請實(shí)施例中的應(yīng)用,需要訪問SSD20以寫 入或讀取數(shù)據(jù)。
[0054] 結(jié)合圖la所示的存儲(chǔ)控制器10的形態(tài),本申請實(shí)施例中的應(yīng)用可以運(yùn)行在存儲(chǔ)控 制器10上,這種情況下,存儲(chǔ)控制器10將虛擬SSD的屬性集合上報(bào)應(yīng)用,指的是存儲(chǔ)控制器 10的負(fù)責(zé)SSD屬性集合合并的邏輯模塊將虛擬SSD的屬性集合上報(bào)該應(yīng)用對應(yīng)的邏輯模塊。 該應(yīng)用也可以運(yùn)行在與存儲(chǔ)控制器10之外設(shè)備(如,另一服務(wù)器)上,存儲(chǔ)控制器10通過互 聯(lián)網(wǎng)或者與專用網(wǎng)絡(luò)將虛擬SSD的屬性集合發(fā)送給應(yīng)用所在的設(shè)備。
[0055] 在圖lb的系統(tǒng)架構(gòu)中,本申請實(shí)施例中的應(yīng)用運(yùn)行在存儲(chǔ)控制器10與至少一個(gè) SSD20組成的硬盤框之外的設(shè)備(如圖lb中的服務(wù)器)中。
[0056] 本申請實(shí)施例上述技術(shù)方案中,存儲(chǔ)系統(tǒng)中的存儲(chǔ)控制器10對存儲(chǔ)系統(tǒng)中的至少 一個(gè)SSD20進(jìn)行掃描之后,將其中的一部分SSD屬性集合進(jìn)行合并,生成虛擬SSD屬性集合, 形成虛擬SSD,將虛擬SSD的屬性集合上報(bào)應(yīng)用。不僅使得應(yīng)用能夠根據(jù)虛擬SSD的屬性集合 進(jìn)行數(shù)據(jù)的讀、寫等操作,而且應(yīng)用需要維護(hù)的SSD屬性集合的數(shù)量大幅減少,減少應(yīng)用的 資源消耗。
[0057] 在一種可能的實(shí)現(xiàn)方式中,上述存儲(chǔ)控制器10的上述功能一可以通過上述存儲(chǔ)控 制器10上運(yùn)行的SSD20驅(qū)動(dòng)模塊實(shí)現(xiàn),例如NVMe驅(qū)動(dòng)程序。
[0058] 上述存儲(chǔ)控制器10的功能二可以通過容量轉(zhuǎn)換模塊(英文:capacity transform module,CTM)實(shí)現(xiàn),CTM具體用于:記錄存儲(chǔ)控制器10的驅(qū)動(dòng)模塊掃描獲得的所有SSD20的屬 性集合,并根據(jù)預(yù)設(shè)規(guī)則將至少一個(gè)SSD20進(jìn)行合并,生成虛擬SSD,并將生成的虛擬SSD的 屬性集合上報(bào)給應(yīng)用。
[0059]本申請實(shí)施例中,容量轉(zhuǎn)換模塊CTM為在邏輯上進(jìn)行劃分的一個(gè)模塊,其實(shí)現(xiàn)上有 多種形式。例如,CTM可以是運(yùn)行于存儲(chǔ)控制器10上的軟件模塊,存儲(chǔ)控制器10通過中央處 理器(英文:central processing unit,CPU)運(yùn)行CTM軟件代碼來實(shí)現(xiàn)CTM的功能。又例如, CTM可以是存儲(chǔ)控制器10上的實(shí)體芯片,如專用集成電路(英文application specific integrated circuit,ASIC)芯片。
[0060]需要說明的是,存儲(chǔ)控制器10對SSD20進(jìn)行合并,構(gòu)造虛擬SSD,指的是在邏輯意義 上的合并,不改變各SSD20的物理結(jié)構(gòu)。而對上述應(yīng)用而言,其根據(jù)協(xié)議規(guī)定的命令實(shí)現(xiàn)讀、 寫數(shù)據(jù),例如在SSD20為PCI-E SSD20時(shí),應(yīng)用使用NVMe命令來進(jìn)行讀、寫數(shù)據(jù),應(yīng)用并不關(guān) 心其維護(hù)的SSD20的屬性集合具體對應(yīng)實(shí)體SSD20盤,還是虛擬SSD盤。
[0061] 在另一種可能的實(shí)現(xiàn)方式中,本申請實(shí)施例中,存儲(chǔ)控制器10根據(jù)預(yù)設(shè)規(guī)則將至 少一個(gè)SSD20合并虛擬SSD,預(yù)設(shè)規(guī)則可以為以下任一種:
[0062] 預(yù)設(shè)規(guī)則1,存儲(chǔ)控制器10對掃描獲得的容量屬性中的存儲(chǔ)空間大小進(jìn)行累加,在 累加后的存儲(chǔ)空間大小達(dá)到預(yù)設(shè)大小后,根據(jù)參與存儲(chǔ)空間大小累加的多個(gè)屬性集合構(gòu)造 一個(gè)虛擬SSD。
[0063]例如,存儲(chǔ)控制器10設(shè)置一預(yù)設(shè)容量值,如10TB,存儲(chǔ)控制器10對存儲(chǔ)系統(tǒng)中的所 有SSD20進(jìn)行掃描之后,獲得每個(gè)SSD20的屬性集合,該屬性集合包括每個(gè)SSD20的容量。存 儲(chǔ)控制器10將SSD20的容量進(jìn)行累加,將容量之和達(dá)到預(yù)設(shè)容量值的多個(gè)SSD20合并為一個(gè) 虛擬SSD,如將10個(gè)1T的SSD20合并為一個(gè)虛擬SSD,生成該虛擬SSD的屬性集合,如虛擬SSD 的容量以及虛擬SSD的標(biāo)識(shí)。
[0064] 由于實(shí)際情況中,應(yīng)用只關(guān)心存儲(chǔ)空間,并不關(guān)心存儲(chǔ)位置的物理分布,所以,存 儲(chǔ)控制器10通過本合并規(guī)則進(jìn)行SSD20合并,既滿足應(yīng)用對存儲(chǔ)空間容量的需求,又可減小 其維護(hù)的屬性集合的數(shù)量,減少資源消耗。
[0065] 預(yù)設(shè)規(guī)則2,存儲(chǔ)控制器10對掃描獲得的屬性集合進(jìn)行計(jì)數(shù),在計(jì)數(shù)達(dá)到預(yù)設(shè)數(shù)量 后,根據(jù)參與計(jì)數(shù)的屬性集合構(gòu)造一個(gè)虛擬SSD。
[0066] 例如,存儲(chǔ)控制器10設(shè)置預(yù)設(shè)數(shù)值,如10,存儲(chǔ)控制器10對存儲(chǔ)系統(tǒng)中的所有 SSD20進(jìn)行掃描之后,記錄每個(gè)SSD20的屬性集合,然后,存儲(chǔ)控制器10將10個(gè)SSD20合并為 虛擬SSD,根據(jù)這10個(gè)SSD20的屬性集合生成合并后虛擬SSD的屬性集合,如虛擬SSD的容量 以及虛擬SSD的標(biāo)識(shí)。
[0067]存儲(chǔ)控制器10根據(jù)SSD20的數(shù)量進(jìn)行SSD20的合并,實(shí)現(xiàn)方式簡單,運(yùn)算量小。
[0068]預(yù)設(shè)規(guī)則3,在根據(jù)前述預(yù)設(shè)規(guī)則1或預(yù)設(shè)規(guī)則2的規(guī)則進(jìn)行SSD20合并之后,可能 還剩余少量的SSD20,這些SSD20不滿足前述合并規(guī)則,但是,這些SSD20是存儲(chǔ)系統(tǒng)僅存的 尚未合并的SSD20,因此,可以直接將這些SSD20合并,構(gòu)造虛擬SSD。
[0069] 例如,結(jié)合預(yù)設(shè)規(guī)則1,存儲(chǔ)系統(tǒng)一共包含95個(gè)SSD20,每個(gè)SSD20的容量為1TB,存 儲(chǔ)控制器10根據(jù)設(shè)置得預(yù)設(shè)容量值10TB,將90個(gè)SSD20合并為9個(gè)虛擬SSD,剩下的5個(gè)SSD20 雖然容量達(dá)不到預(yù)設(shè)容量值10TB,但是由于存儲(chǔ)系統(tǒng)已經(jīng)沒有未合并的SSD20,存儲(chǔ)控制器 10直接將這5個(gè)SSD20合并,構(gòu)造一虛擬SSD。
[0070] 又例如,結(jié)合預(yù)設(shè)規(guī)則2,存儲(chǔ)系統(tǒng)一共包含95個(gè)SSD20,存儲(chǔ)控制器10根據(jù)設(shè)置得 預(yù)設(shè)數(shù)量值10,將90個(gè)SSD20合并為9個(gè)虛擬SSD,剩下的5個(gè)SSD20雖然數(shù)量達(dá)不到預(yù)設(shè)數(shù)量 值10,但是由于存儲(chǔ)系統(tǒng)已經(jīng)沒有未合并的SSD20,存儲(chǔ)控制器10直接將這5個(gè)SSD20合并, 構(gòu)造一虛擬SSD。
[0071] 本申請實(shí)施例中,存儲(chǔ)控制器10可以對掃描到的所有SSD20進(jìn)行上述合并操作,也 可以只是對其中的一部分SSD20進(jìn)行上述合并操作,本申請實(shí)施例不予限定。
[0072]在另一種可能的實(shí)現(xiàn)方式中,存儲(chǔ)系統(tǒng)中部分或全部的SSD20具有多個(gè)SSD控制器 (亦即,控制芯片),一個(gè)SSD20設(shè)置多個(gè)SSD控制器的目的在于提高該SSD20的訪問速度。但 是,存儲(chǔ)控制器10在對這種設(shè)置有多個(gè)SSD控制器的SSD20進(jìn)行掃描時(shí),將根據(jù)該SSD20的 SSD控制器數(shù)量掃描獲得多個(gè)屬性集合。例如,NVMe驅(qū)動(dòng)程序在對具有4個(gè)SSD控制器的 SSD20進(jìn)行掃描時(shí),掃描獲得4項(xiàng)屬性集合,換言之,NVMe驅(qū)動(dòng)程序?qū)⒁粋€(gè)物理SSD20盤識(shí)別 為4個(gè)SSD20。這種情況下,存儲(chǔ)控制器10將掃描獲得的SSD屬性集合上報(bào)給應(yīng)用后,應(yīng)用需 要維護(hù)的屬性集合的數(shù)量變多。
[0073] 為解決該問題,本申請實(shí)施例中,存儲(chǔ)控制器10可以根據(jù)掃描獲得的SSD屬性集合 進(jìn)行SSD20合并。
[0074] 例如,在采用前述方式1進(jìn)行SSD20合并時(shí),存儲(chǔ)控制器10設(shè)置的預(yù)設(shè)容量值為 10TB,第一 SSD20、第二SSD20、第三SSD20均具有4個(gè)SSD控制器。存儲(chǔ)控制器10在對第一 SSD20掃描后獲得屬性集合1、屬性集合2、屬性集合3、屬性集合4,分別對應(yīng)邏輯上的 SSD201、SSD202、SSD203、SSD204;同理,存儲(chǔ)控制器 10將第二SSD20掃描為SSD205、SSD206、 SSD207、SSD208,將第三 SSD20 掃描為 330209、3302010、3302011、3302012,上述330201至 SSD2012中每個(gè)SSD20的屬性集合表明其容量為1TB。存儲(chǔ)控制器10在對SSD20進(jìn)行合并時(shí), 對上述SSD201至SSD2012的容量進(jìn)行累加,確定SSD201至SSD2010的容量之和達(dá)到10TB,根 據(jù)屬性集合1至屬性集合10生成虛擬SSD的屬性集合,構(gòu)造虛擬SSD。
[0075] 又例如,在采用前述方式2進(jìn)行SSD20合并時(shí),存儲(chǔ)控制器10在對SSD20進(jìn)行合并 時(shí),對上述屬性集合1至屬性集合12的數(shù)量進(jìn)行累加,確定屬性集合1至屬性集合10的數(shù)量 之和達(dá)到預(yù)設(shè)數(shù)量值10,根據(jù)屬性集合1至屬性集合10生成虛擬SSD的屬性集合,構(gòu)造虛擬 SSD〇
[0076]可見,如果一個(gè)SSD20物理盤被掃描為多個(gè)邏輯意義上的SSD20,存儲(chǔ)控制器10在 構(gòu)造虛擬SSD時(shí),并不關(guān)心掃描到的SSD20的物理分布,因此,一個(gè)SSD20掃描出的第一部分 SSD20可以被合并到第一虛擬SSD,而該SSD20掃描出的第二部分SSD20被合并到第二虛擬 SSD〇
[0077]通過上述技術(shù)方案,能夠在SSD20具有多個(gè)SSD控制器的情況下,減少應(yīng)用需要維 護(hù)的SSD屬性集合,減少應(yīng)用的資源消耗。
[0078] 本申請實(shí)施例中,存儲(chǔ)控制器10在生成虛擬SSD后,保存每個(gè)虛擬SSD的邏輯地址 與SSD20中的物理地址的映射。應(yīng)用維護(hù)虛擬SSD的屬性集合,根據(jù)虛擬SSD的屬性集合對虛 擬SSD進(jìn)行訪問,其中的一種可能的實(shí)現(xiàn)方式如下:
[0079] 應(yīng)用向存儲(chǔ)控制器10發(fā)送第一訪問請求,該第一訪問請求中包含第一虛擬SSD中 的第一邏輯地址。
[0080] 存儲(chǔ)控制器10根據(jù)存儲(chǔ)的映射,確定第一虛擬SSD中的該第一邏輯地址對應(yīng)第一 SSD中的第一物理地址。然后,存儲(chǔ)控制器10向該該第一SSD實(shí)體發(fā)送第二訪問請求,第二訪 問請求與第一訪問請求所請求的數(shù)據(jù)操作相同。所謂的第二訪問請求與第一訪問請求所請 求的數(shù)據(jù)操作相同,指的是:第二訪問請求只是對第一訪問請求的轉(zhuǎn)發(fā),二者的不同之處在 于,對數(shù)據(jù)的地址的表述方式不同,在第一訪問請求中,數(shù)據(jù)的地址為虛擬SSD中的第一邏 輯地址,而在第二訪問請求中,數(shù)據(jù)地址為第一SSD20中的該第一物理地址。
[0081 ]可選的,結(jié)合上述存儲(chǔ)控制器10向SSD20發(fā)送第二訪問請求的技術(shù)方案,SSD20根 據(jù)第二訪問請求向存儲(chǔ)控制器10返回訪問結(jié)果,例如,在第二訪問請求為讀數(shù)據(jù)請求時(shí),該 訪問結(jié)果為目標(biāo)數(shù)據(jù);又例如,在第二訪問請求為寫數(shù)據(jù)請求時(shí),該訪問結(jié)果為數(shù)據(jù)寫入成 功/失敗消息。
[0082]而存儲(chǔ)控制器10在接收到該訪問結(jié)果后,將該訪問結(jié)果返回給應(yīng)用,以使得應(yīng)用 能夠獲得訪問結(jié)果。
[0083]本申請實(shí)施例中,一個(gè)存儲(chǔ)控制器10可以將虛擬SSD的屬性集合上報(bào)給多個(gè)應(yīng)用, 每個(gè)應(yīng)用均可以根據(jù)虛擬SSD的屬性集合進(jìn)行數(shù)據(jù)訪問。在這種系統(tǒng)架構(gòu)中,每個(gè)應(yīng)用僅需 維護(hù)少量的虛擬SSD的屬性集合,在需要對數(shù)據(jù)進(jìn)行訪問時(shí),應(yīng)用將數(shù)據(jù)在虛擬SSD中的地 址發(fā)送給存儲(chǔ)控制器10,存儲(chǔ)控制器10可以將該地址轉(zhuǎn)化為SSD20中的地址,并向該SSD20 轉(zhuǎn)發(fā)應(yīng)用的訪問請求。換言之,應(yīng)用只需要關(guān)心少量的虛擬SSD,由存儲(chǔ)控制器10負(fù)責(zé)虛擬 SSD與SSD20之間的轉(zhuǎn)換。在一個(gè)存儲(chǔ)控制器10為多個(gè)應(yīng)用服務(wù)時(shí),每個(gè)應(yīng)用的負(fù)擔(dān)均大幅 減小,整個(gè)系統(tǒng)的效率可以得到大幅提高。
[0084]需要說明的是,在一種可能的實(shí)現(xiàn)中,在存儲(chǔ)控制器10為圖lb所示的形態(tài)時(shí),該存 儲(chǔ)控制器10除了可以掃描自身硬盤框內(nèi)的SSD20,還能夠通過網(wǎng)絡(luò)掃描其他硬盤框內(nèi)的 SSD20〇
[0085]本申請實(shí)施例還提供一種管理存儲(chǔ)系統(tǒng)的方法,參照圖2,該方法由圖la、圖lb任 一所示的存儲(chǔ)控制器10執(zhí)行,該方法包括如下步驟:
[0086] 步驟301:存儲(chǔ)控制器對至少一個(gè)SSD進(jìn)行掃描,獲得所述至少一個(gè)SSD的M項(xiàng)屬性 集合,每個(gè)SSD的對應(yīng)至少一個(gè)屬性集合;
[0087] 步驟302:存儲(chǔ)控制器根據(jù)掃描獲得的M項(xiàng)所述屬性集合構(gòu)造N個(gè)虛擬SSD,每個(gè)虛 擬SSD根據(jù)至少兩項(xiàng)屬性集合構(gòu)造,且每個(gè)虛擬SSD的屬性集合由所述至少兩項(xiàng)屬性集合合 并而成,M為大于或等于2的整數(shù),N為小于M的正整數(shù);
[0088]步驟303:存儲(chǔ)控制器向應(yīng)用上報(bào)所述N個(gè)虛擬SSD各自的屬性集合,以使所述應(yīng)用 根據(jù)所述N個(gè)虛擬SSD的屬性集合對所述N個(gè)虛擬SSD進(jìn)行訪問。
[0089] 在一種可能的實(shí)現(xiàn)方式中,所述每個(gè)屬性集合中包括存儲(chǔ)空間大小,步驟302:根 據(jù)掃描獲得的M項(xiàng)所述屬性集合構(gòu)造N個(gè)虛擬SSD,包括:
[0090] 對所述屬性集合中的存儲(chǔ)空間大小進(jìn)行合并,根據(jù)合并后的存儲(chǔ)空間大小達(dá)到預(yù) 設(shè)容量的所述至少兩項(xiàng)屬性集合構(gòu)造一個(gè)虛擬SSD。
[0091] 在一種可能的實(shí)現(xiàn)方式中,步驟302:根據(jù)掃描獲得的M項(xiàng)所述屬性集合構(gòu)造N個(gè)虛 擬SSD,包括:
[0092] 根據(jù)預(yù)設(shè)數(shù)量的所述屬性集合,構(gòu)造一個(gè)虛擬SSD。
[0093]在一種可能的實(shí)現(xiàn)方式中,參照圖3,在步驟302執(zhí)行的同時(shí)或之后,還包括如下步 驟:
[0094]步驟304:存儲(chǔ)控制器存儲(chǔ)每個(gè)所述虛擬SSD的邏輯地址與所述至少一個(gè)中物理地 址的映射;
[0095] 在步驟303之后,所述方法還包括如下步驟:
[0096] 步驟305:存儲(chǔ)控制器獲得所述應(yīng)用的第一訪問請求,所述第一訪問請求包括所述 N個(gè)虛擬SSD中第一虛擬SSD中的邏輯地址;
[0097] 步驟306:存儲(chǔ)控制器根據(jù)存儲(chǔ)的所述映射,確定與所述邏輯地址對應(yīng)的所述至少 一個(gè)中第一 SSD的物理地址;
[0098]步驟307:存儲(chǔ)控制器向所述第一 SSD發(fā)送第二訪問請求,所述第二訪問請求包括 所述物理地址,所述第二訪問請求與所述第一訪問請求所請求的數(shù)據(jù)操作相同。
[0099] 在一種可能的實(shí)現(xiàn)方式中,所述至少一個(gè)中的第二SSD包括多個(gè)SSD控制器;步驟 301執(zhí)行過程中,根據(jù)所述第二SSD的每個(gè)SSD控制器掃描獲得一項(xiàng)所述屬性集合。
[0100] 上述步驟301至步驟307由圖la或圖lb中的存儲(chǔ)控制器10執(zhí)行,上述步驟的具體實(shí) 現(xiàn)方式可以參照前面對存儲(chǔ)控制器10功能的描述,在此不予重復(fù)。
[0101] 本申請實(shí)施例還提供一種管理存儲(chǔ)系統(tǒng)的設(shè)備,參照圖4,該設(shè)備包括:
[0102] SSD驅(qū)動(dòng)模塊401,用于對至少一個(gè)SSD進(jìn)行掃描,獲得所述至少一個(gè)SSD的M項(xiàng)屬性 集合,每個(gè)SSD的對應(yīng)至少一個(gè)屬性集合;
[0103] 容量轉(zhuǎn)換模塊402,用于根據(jù)掃描獲得的M項(xiàng)所述屬性集合構(gòu)造N個(gè)虛擬SSD,每個(gè) 虛擬SSD根據(jù)至少兩項(xiàng)屬性集合構(gòu)造,且每個(gè)虛擬SSD的屬性集合由所述至少兩項(xiàng)屬性集合 合并而成,M為大于或等于2的整數(shù),N為小于M的正整數(shù);
[0104] 發(fā)送模塊403,用于向應(yīng)用上報(bào)所述N個(gè)虛擬SSD各自的屬性集合,以使所述應(yīng)用根 據(jù)所述N個(gè)虛擬SSD的屬性集合對所述N個(gè)虛擬SSD進(jìn)行訪問。
[0105] 在一種可能的實(shí)現(xiàn)方式中,所述每個(gè)屬性集合中包括存儲(chǔ)空間大小,容量轉(zhuǎn)換模 塊402具體用于:對所述屬性集合中的存儲(chǔ)空間大小進(jìn)行合并,根據(jù)合并后的存儲(chǔ)空間大小 達(dá)到預(yù)設(shè)容量的所述至少兩項(xiàng)屬性集合構(gòu)造一個(gè)虛擬SSD。
[0106] 在一種可能的實(shí)現(xiàn)方式中,容量轉(zhuǎn)換模塊402具體用于:根據(jù)預(yù)設(shè)數(shù)量的所述屬性 集合,構(gòu)造一個(gè)虛擬SSD。
[0107] 在一種可能的實(shí)現(xiàn)方式中,所述設(shè)備還包括:
[0108] 存儲(chǔ)模塊404,用于存儲(chǔ)每個(gè)所述虛擬SSD的邏輯地址與所述至少一個(gè)中物理地址 的映射;
[0109] 接收模塊405,用于獲得所述應(yīng)用的第一訪問請求,所述第一訪問請求包括所述N 個(gè)虛擬SSD中第一虛擬SSD中的邏輯地址;
[0110] 映射模塊406,用于根據(jù)所述存儲(chǔ)模塊中存儲(chǔ)的所述映射,確定與所述邏輯地址對 應(yīng)所述至少一個(gè)中第一 SSD的物理地址;該映射模塊406與容量轉(zhuǎn)換模塊402可以為同一模 塊;
[0111] 發(fā)送模塊403,還用于向所述第一 SSD發(fā)送第二訪問請求,所述第二訪問請求包括 所述物理地址,所述第二訪問請求與所述第一訪問請求所請求的數(shù)據(jù)操作相同。
[0112] 在一種可能的實(shí)現(xiàn)方式中,所述至少一個(gè)中的第二SSD包括多個(gè)SSD控制器;SSD驅(qū) 動(dòng)模塊401具體用于:對第二SSD進(jìn)行掃描,并根據(jù)所述第二SSD的每個(gè)SSD控制器掃描獲得 一項(xiàng)所述屬性集合。
[0113] 上述管理存儲(chǔ)系統(tǒng)的設(shè)備的各模塊的實(shí)施方式請參照圖la、圖lb中任一存儲(chǔ)控制 器10所實(shí)現(xiàn)的功能,在此不予重復(fù)。
[0114] 本申請實(shí)施例還提供一種存儲(chǔ)控制器,參照圖5,該存儲(chǔ)控制器包括處理器501、收 發(fā)器502以及總線503,處理器501與收發(fā)器502通過總線503通信。收發(fā)器502用于與網(wǎng)絡(luò)中 的其他網(wǎng)元通信,如多個(gè)SSD,又如服務(wù)器。處理器501用于通過收發(fā)器502實(shí)現(xiàn)圖la中存儲(chǔ) 控制器的功能,該處理器501以及收發(fā)器502的實(shí)施方式可以參照前面對圖la中存儲(chǔ)控制器 實(shí)施方式的描述。
[0115] 本申請實(shí)施例中,處理器501可以是一個(gè)處理元件,例如,該處理器501可以是CPU, 通過該CPU實(shí)現(xiàn)存儲(chǔ)控制器10的功能,如通過收發(fā)器實(shí)現(xiàn)對多個(gè)SSD20進(jìn)行掃描,又如根據(jù) 掃描獲得的SSD20的屬性集合構(gòu)造虛擬SSD。該處理器501也可以是多個(gè)處理元件的統(tǒng)稱。例 如,存儲(chǔ)控制器10的處理器501包括CPU以及ASIC,該CPU通過收發(fā)器實(shí)現(xiàn)對多個(gè)SSD20進(jìn)行 掃描,而該ASIC用于根據(jù)掃描獲得的SSD20的屬性集合構(gòu)造虛擬SSD。
[0116]該收發(fā)器可以為有線通信類型的收發(fā)器,如以太網(wǎng)數(shù)據(jù)收發(fā)器;收發(fā)器也可以為 無線通信類型的收發(fā)器,如包括天線以及與該天線連接的射頻模塊的收發(fā)器。
[0117]可選的,存儲(chǔ)控制器還可以包括存儲(chǔ)器504,該存儲(chǔ)器504用于存儲(chǔ)可執(zhí)行程序代 碼或存儲(chǔ)控制器10運(yùn)行所需要參數(shù)、數(shù)據(jù),掃描獲得的SSD20屬性集合,等等。且該存儲(chǔ)器可 以包括隨機(jī)存儲(chǔ)器(英文:random-access memory,RAM),也可以包括非易失性存儲(chǔ)器(英 文:non-volatile memory,NVM),等等。圖5中存儲(chǔ)器504表明存儲(chǔ)器504不是實(shí)現(xiàn)本申請實(shí) 施例中存儲(chǔ)控制器功能所必需的元件。
[0118] 本申請實(shí)施例還提供一種存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備包括至少一個(gè)SSD以及圖lb中的 存儲(chǔ)控制器,該存儲(chǔ)控制器的實(shí)施方式請參照圖lb中存儲(chǔ)控制器10的實(shí)施方式,在此不予 詳述。
[0119] 本申請實(shí)施例中,存儲(chǔ)控制器可以包括1個(gè)或多個(gè)處理器,如1個(gè)或多個(gè)CPU,或者, 1個(gè)或多個(gè)ASIC,或者,CPU與ASIC的結(jié)合。在存儲(chǔ)控制器包括一個(gè)處理器時(shí),由該處理器實(shí) 現(xiàn)存儲(chǔ)控制器的功能;在存儲(chǔ)控制器包括多個(gè)處理器時(shí),每個(gè)處理器實(shí)現(xiàn)存儲(chǔ)控制器的部 分功能。
[0120] 在一種可能的實(shí)施中,多個(gè)本申請實(shí)施例中的存儲(chǔ)設(shè)備通過網(wǎng)絡(luò)連接,每個(gè)存儲(chǔ) 設(shè)備中的存儲(chǔ)控制器除了可以掃描本存儲(chǔ)設(shè)備中的至少一個(gè)SSD,也可以通過網(wǎng)絡(luò)掃描其 他存儲(chǔ)設(shè)備中的SSD,并根據(jù)對其他存儲(chǔ)設(shè)備中SSD掃描獲得的屬性集合構(gòu)造虛擬SSD。
[0121] 本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序 產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí) 施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī) 可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn) 品的形式。
[0122] 本發(fā)明是參照根據(jù)本申請實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程 圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流 程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序 指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn) 生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí) 現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0123] 顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【主權(quán)項(xiàng)】
1. 一種管理存儲(chǔ)系統(tǒng)的方法,其特征在于,包括: 對至少一個(gè)SSD進(jìn)行掃描,獲得所述至少一個(gè)SSD的M項(xiàng)屬性集合,每個(gè)SSD的對應(yīng)至少 一個(gè)屬性集合; 根據(jù)掃描獲得的M項(xiàng)所述屬性集合構(gòu)造 N個(gè)虛擬SSD,每個(gè)虛擬SSD根據(jù)至少兩項(xiàng)屬性集 合構(gòu)造,且每個(gè)虛擬SSD的屬性集合由所述至少兩項(xiàng)屬性集合合并而成,M為大于或等于2的 整數(shù),N為小于M的正整數(shù); 向應(yīng)用上報(bào)所述N個(gè)虛擬SSD各自的屬性集合,以使所述應(yīng)用根據(jù)所述N個(gè)虛擬SSD的屬 性集合對所述N個(gè)虛擬SSD進(jìn)行訪問。2. 如權(quán)利要求1所述的方法,其特征在于,所述每個(gè)屬性集合中包括存儲(chǔ)空間大小,所 述根據(jù)掃描獲得的M項(xiàng)所述屬性集合構(gòu)造 N個(gè)虛擬SSD,包括: 對所述屬性集合中的存儲(chǔ)空間大小進(jìn)行合并,根據(jù)合并后的存儲(chǔ)空間大小達(dá)到預(yù)設(shè)容 量的所述至少兩項(xiàng)屬性集合構(gòu)造一個(gè)虛擬SSD。3. 如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)掃描獲得的M項(xiàng)所述屬性集合構(gòu)造 N 個(gè)虛擬SSD,包括: 根據(jù)預(yù)設(shè)數(shù)量的所述屬性集合,構(gòu)造一個(gè)虛擬SSD。4. 如權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,在所述根據(jù)掃描獲得的M項(xiàng)所述屬 性集合構(gòu)造 N個(gè)虛擬SSD之后,還包括: 存儲(chǔ)每個(gè)所述虛擬SSD的邏輯地址與所述至少一個(gè)SSD中物理地址的映射; 在所述向應(yīng)用上報(bào)所述N個(gè)虛擬SSD各自的屬性集合之后,所述方法還包括: 獲得所述應(yīng)用的第一訪問請求,所述第一訪問請求包括所述N個(gè)虛擬SSD中第一虛擬 SSD中的邏輯地址; 根據(jù)存儲(chǔ)的所述映射,確定與所述邏輯地址對應(yīng)的所述至少一個(gè)SSD中第一 SSD的物理 地址; 向所述第一 SSD發(fā)送第二訪問請求,所述第二訪問請求包括所述物理地址,所述第二訪 問請求與所述第一訪問請求所請求的數(shù)據(jù)操作相同。5. 如權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于,所述至少一個(gè)SSD中的第二SSD包 括多個(gè)SSD控制器;對所述第二SSD進(jìn)行掃描,獲得所述第二SSD的屬性集合,包括: 根據(jù)所述第二SSD的每個(gè)SSD控制器掃描獲得一項(xiàng)所述屬性集合。6. -種管理存儲(chǔ)系統(tǒng)的設(shè)備,其特征在于,包括: SSD驅(qū)動(dòng)模塊,用于對至少一個(gè)SSD進(jìn)行掃描,獲得所述至少一個(gè)SSD的M項(xiàng)屬性集合,每 個(gè)SSD的對應(yīng)至少一個(gè)屬性集合; 容量轉(zhuǎn)換模塊,用于根據(jù)掃描獲得的M項(xiàng)所述屬性集合構(gòu)造 N個(gè)虛擬SSD,每個(gè)虛擬SSD 根據(jù)至少兩項(xiàng)屬性集合構(gòu)造,且每個(gè)虛擬SSD的屬性集合由所述至少兩項(xiàng)屬性集合合并而 成,M為大于或等于2的整數(shù),N為小于M的正整數(shù); 發(fā)送模塊,用于向應(yīng)用上報(bào)所述N個(gè)虛擬SSD各自的屬性集合,以使所述應(yīng)用根據(jù)所述N 個(gè)虛擬SSD的屬性集合對所述N個(gè)虛擬SSD進(jìn)行訪問。7. 如權(quán)利要求6所述的設(shè)備,其特征在于,所述每個(gè)屬性集合中包括存儲(chǔ)空間大小,所 述容量轉(zhuǎn)換模塊具體用于:對所述屬性集合中的存儲(chǔ)空間大小進(jìn)行合并,根據(jù)合并后的存 儲(chǔ)空間大小達(dá)到預(yù)設(shè)容量的所述至少兩項(xiàng)屬性集合構(gòu)造一個(gè)虛擬SSD。8. 如權(quán)利要求6所述的設(shè)備,其特征在于,所述容量轉(zhuǎn)換模塊具體用于:根據(jù)預(yù)設(shè)數(shù)量 的所述屬性集合,構(gòu)造一個(gè)虛擬SSD。9. 如權(quán)利要求6至8任一項(xiàng)所述的設(shè)備,其特征在于,所述設(shè)備還包括: 存儲(chǔ)模塊,用于存儲(chǔ)每個(gè)所述虛擬SSD的邏輯地址與所述至少一個(gè)SSD中物理地址的映 射; 接收模塊,用于獲得所述應(yīng)用的第一訪問請求,所述第一訪問請求包括所述N個(gè)虛擬 SSD中第一虛擬SSD中的邏輯地址; 映射模塊,用于根據(jù)所述存儲(chǔ)模塊中存儲(chǔ)的所述映射,確定與所述邏輯地址對應(yīng)所述 至少一個(gè)SSD中第一 SSD的物理地址; 所述發(fā)送模塊,還用于向所述第一 SSD發(fā)送第二訪問請求,所述第二訪問請求包括所述 物理地址,所述第二訪問請求與所述第一訪問請求所請求的數(shù)據(jù)操作相同。10. 如權(quán)利要求6至9任一項(xiàng)所述的設(shè)備,其特征在于,所述至少一個(gè)SSD中的第二SSD包 括多個(gè)SSD控制器;SSD驅(qū)動(dòng)模塊具體用于:對所述第二SSD進(jìn)行掃描,并根據(jù)所述第二SSD的 每個(gè)SSD控制器掃描獲得一項(xiàng)所述屬性集合。
【文檔編號(hào)】G06F3/06GK105892955SQ201610281745
【公開日】2016年8月24日
【申請日】2016年4月29日
【發(fā)明人】杜閣, 劉金水
【申請人】華為技術(shù)有限公司