午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

在非易失性存儲系統(tǒng)中建立連接的方法和裝置的制造方法

文檔序號:10552638閱讀:772來源:國知局
在非易失性存儲系統(tǒng)中建立連接的方法和裝置的制造方法
【專利摘要】本發(fā)明實施例涉及在非易失性存儲系統(tǒng)中建立連接的方法,該非易失性存儲系統(tǒng)包括主機、服務器和至少一個非易失性存儲器NVM子系統(tǒng),該方法包括:與該主機建立連接;接收該主機發(fā)送請求消息,該請求消息包括該主機需要連接的NVM子系統(tǒng)的目標參數(shù);通過查找該至少一個NVM子系統(tǒng)的參數(shù)信息,確定滿足該目標參數(shù)的目標NVM子系統(tǒng)以及該目標NVM子系統(tǒng)的路由信息;向該主機發(fā)送包括該目標NVM子系統(tǒng)的路由信息的響應消息,以便于該主機與該目標NVM子系統(tǒng)建立連接。本申請的在非易失性存儲系統(tǒng)中建立連接的方法和裝置,使得主機可以與滿足需求的NVM子系統(tǒng)建立連接,提高連接的可靠性。
【專利說明】
在非易失性存儲系統(tǒng)中建立連接的方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及存儲領(lǐng)域,尤其涉及在非易失性存儲系統(tǒng)中建立連接的方法和裝置。
【背景技術(shù)】
[0002]非易失性存儲器標準(Non-Volatile Memory Express,NVMe)是一種高速的接口總線規(guī)范,當前已發(fā)布的NVMe標準主要是基于外圍設(shè)備互連標準(Peripheral ComponentInterconnect-Express,PCIe)架構(gòu)進行設(shè)計和開發(fā)的,統(tǒng)一了基于PCIe總線進行連接的設(shè)備和主機之間的隊列(queue)傳輸機制。由于PCIe總線的高性能,基于PCIe架構(gòu)的NVMe已經(jīng)成為了業(yè)界主流固態(tài)硬盤(Solid State Drives,SSD)設(shè)備的標準接口。
[0003]但對于數(shù)據(jù)中心領(lǐng)域,由于該領(lǐng)域沒有現(xiàn)成大量PCIe網(wǎng)絡以及PCIe協(xié)議本身的擴展性等缺陷,將NVMe標準擴展到數(shù)據(jù)中心領(lǐng)域,就需要一種新的標準,將NVMe協(xié)議運行在廣域因特網(wǎng)上的遠程直接數(shù)據(jù)存取(Remote Direct Memory Access,RDMA)協(xié)議(internetWide-Area RDMA Protocol,iWARP)、基于融合以太網(wǎng)的RDMA(RDMA over ConvergedEthernet,RoCE)、高速互連(Inf iniBand,IB)或光纖通道(Fibre-Channel,F(xiàn)C)等網(wǎng)絡技術(shù)中,提供更靈活的、更廣泛的應用,這種新的標準可以稱為基于交換平面的NVMe(NVMe overFabric)。
[0004]在現(xiàn)有NVMe over Fabric標準中,圖1不出了現(xiàn)有NVMe over Fabric的系統(tǒng)架構(gòu),在該系統(tǒng)中,主機可以通過向服務器發(fā)送發(fā)現(xiàn)(discovery)命令,指示服務器向主機發(fā)送NVM子系統(tǒng)的路由信息,服務器接收該發(fā)現(xiàn)命令后,可以由服務器中的控制器讀取路由信息,并將路由信息返回至主機,主機根據(jù)接收到的路由信息,選擇NVMe over Fabric系統(tǒng)架構(gòu)中的一個或多個非易失性存儲器(Non-VoIatiIe Memory,NVM)子系統(tǒng)(NVM Subsystem)進行連接。
[0005]現(xiàn)有技術(shù)中,由于現(xiàn)階段服務器向主機發(fā)送的路由信息僅包括主機的標識,如主機的身份標識(IDentity,ID),多個NVM Subsystem的標識信息,如NVM Subsystem的NVMe限定名稱(NVMe Qualified Name,NQN),以及每個NVM Subsystem的端口信息主機根據(jù)路由信息隨機選擇NVM Subsystem進行連接,會導致該主機連接到不匹配的NVM Subsystem,例如連接的NVM Subsystem故障,或連接的NVM Subsystem不符合主機對存儲資源要求,從而導致連接失敗,或主機需要反復多次進行連接,連接效率低。

【發(fā)明內(nèi)容】

[0006]本申請?zhí)峁┝艘环N在非易失性存儲系統(tǒng)中建立連接的方法和裝置,能夠提高系統(tǒng)的可靠性。
[0007]第一方面,提供了一種在非易失性存儲系統(tǒng)中建立連接的方法,該非易失性存儲系統(tǒng)包括主機、服務器和至少一個非易失性存儲器NVM子系統(tǒng),該至少一個NVM子系統(tǒng)用于為該主機提供數(shù)據(jù)存儲,該服務器中存儲有該至少一個NVM子系統(tǒng)中每個NVM子系統(tǒng)的參數(shù)信息和路由信息,該方法由該服務器執(zhí)行,該方法包括:與該主機建立連接;接收該主機發(fā)送請求消息,該請求消息包括該主機需要連接的NVM子系統(tǒng)的目標參數(shù);通過查找該至少一個NVM子系統(tǒng)的參數(shù)信息,確定滿足該目標參數(shù)的目標NVM子系統(tǒng)以及該目標NVM子系統(tǒng)的路由信息;向該主機發(fā)送響應消息,該響應消息包括該目標NVM子系統(tǒng)的路由信息,以便于該主機根據(jù)該目標NVM子系統(tǒng)的路由信息,與該目標NVM子系統(tǒng)建立連接。
[0008]本申請的在非易失性存儲系統(tǒng)中建立連接的方法,服務器接收主機發(fā)送的需要連接的NVM子系統(tǒng)的目標參數(shù),通過查找至少一個NVM子系統(tǒng)的參數(shù)信息確定滿足目標參數(shù)的NVM子系統(tǒng)作為目標NVM子系統(tǒng),以便于主機與該目標NVM子系統(tǒng)建立連接,可以避免主機連接到錯誤或不合適的NVM子系統(tǒng),避免盲目選擇和連接而導致的反復連接,使得主機可以與滿足需求的NVM子系統(tǒng)建立連接,提高連接的可靠性。
[0009]可選地,在該目標NVM子系統(tǒng)中可以包括多個NVM控制器,該方法還包括:根據(jù)該多個NVM控制器的信息,在該多個NVM控制器中確定目標NVM控制器,該目標NVM控制器用于與該主機相連。
[0010]應理解,每個NVM子系統(tǒng)可以包括一個或多個NVM控制器,若目標NVM子系統(tǒng)只包括一個NVM控制器,則可以在確定該目標NVM子系統(tǒng)后,該主機與該目標NVM子系統(tǒng)建立連接,也就是與該目標NVM子系統(tǒng)中的唯——個NVM控制器建立連接;若該目標NVM子系統(tǒng)中包括多個NVM控制器,則還可以根據(jù)該多個NVM控制器的信息,在該多個NVM控制器中繼續(xù)確定一個與主機相匹配的目標NVM控制器,則該主機與目標NVM子系統(tǒng)建立連接,也就是與該目標NVM子系統(tǒng)中的目標NVM控制器建立連接。
[0011]應理解,該目標NVM子系統(tǒng)可以包括多個端口,因此,服務器向主機發(fā)送的路由信息,可以用于該主機根據(jù)該目標NVM子系統(tǒng)的路由信息選擇一個路徑通過一個端口與該目標NVM子系統(tǒng)建立連接。
[0012]可選地,該目標NVM子系統(tǒng)的路由信息可以包括:該主機的標識、該目標NVM子系統(tǒng)的標識和該主機到該目標NVM子系統(tǒng)的路徑信息。
[0013]結(jié)合第一方面,在第一方面的一種實現(xiàn)方式中,在該確定滿足該預設(shè)規(guī)則的目標NVM子系統(tǒng)之前,該方法還包括:獲取該每個NVM子系統(tǒng)的當前參數(shù)信息;根據(jù)該每個NVM子系統(tǒng)的該當前參數(shù)信息,更新存儲的該每個NVM子系統(tǒng)的參數(shù)信息。
[0014]應理解,每個NVM子系統(tǒng)的參數(shù)信息可以包括每個NVM子系統(tǒng)的容量或性能相關(guān)信息,當主機與NVM子系統(tǒng)建立連接后,會使用該NVM子系統(tǒng)中的存儲資源,因此,NVM子系統(tǒng)的參數(shù)信息會隨著不同主機與NVM子系統(tǒng)建立連接而隨時變化,服務器可以隨時更新保存的每個NVM子系統(tǒng)的參數(shù)信息,從而為主機提供更加準確的參數(shù)信息。
[0015]例如,可以在服務器中設(shè)置更新周期,服務器周期性向NVM子系統(tǒng)發(fā)送請求更新的信息,并獲取NVM子系統(tǒng)反饋的當前參數(shù)信息,服務器根據(jù)該當前參數(shù)信息,更新保存的對應的NVM子系統(tǒng)的參數(shù)信息;或者,也可以在NVM子系統(tǒng)中設(shè)置更新周期,由NVM子系統(tǒng)周期性發(fā)送當前參數(shù)信息,服務器根據(jù)獲取到的NVM子系統(tǒng)的當前參數(shù)信息,更新保存的對應的NVM子系統(tǒng)的參數(shù)信息。
[0016]再例如,可以通過主機發(fā)送的請求消息觸發(fā)服務器進行參數(shù)信息的更新。服務器接收該請求消息,該請求消息觸發(fā)服務器更新NVM子系統(tǒng)的參數(shù)信息,服務器在更新NVM子系統(tǒng)的參數(shù)信息后,根據(jù)該更新后的NVM子系統(tǒng)的參數(shù)信息,為主機確定滿足目標參數(shù)的目標NVM子系統(tǒng)。其中,服務器更新參數(shù)信息,可以通過向每個NVM主機發(fā)送更新信息,再根據(jù)每個NVM子系統(tǒng)反饋的當前參數(shù)信息,對服務器中的參數(shù)信息進行更新。
[0017]結(jié)合第一方面及其上述實現(xiàn)方式,在第一方面的另一種實現(xiàn)方式中,該每個NVM子系統(tǒng)的參數(shù)信息至少包括:該每個NVM子系統(tǒng)的總?cè)萘?、該每個NVM子系統(tǒng)的可用容量、該每個NVM子系統(tǒng)中至少一個命名空間Name space的信息、該每個NVM子系統(tǒng)中至少一個NVM控制器的信息以及該至少一個Namespace與該至少一個NVM控制器之間的映射關(guān)系中的一種。
[0018]可選地,在該每個NVM子系統(tǒng)的參數(shù)信息中可以包括該NVM子系統(tǒng)的總?cè)萘?,主機提供的目標參數(shù)可以包括NVM子系統(tǒng)的總?cè)萘浚瑒t可以根據(jù)該目標參數(shù)中的總?cè)萘看_定滿足主機對容量需求的NVM子系統(tǒng)。這樣,主機可以通過啟動數(shù)據(jù)在不同NVM子系統(tǒng)之間的迀移調(diào)度,從而使得當前的目標NVM子系統(tǒng)的存儲資源充足。
[0019 ]可選地,在該每個NVM子系統(tǒng)的參數(shù)信息中可以包括該NVM子系統(tǒng)的可用容量。NVM子系統(tǒng)可以連接一個或多個主機,因為該NVM子系統(tǒng)中部分容量可能已經(jīng)被其他主機占用,NVM子系統(tǒng)的可以容量即該NVM子系統(tǒng)中未被任何主機占用的資源的容量,即該NVM子系統(tǒng)的剩余容量。
[0020]可選地,該至少一個Namespace的信息至少包括:該至少一個Namespace的數(shù)量、該至少一個Name space中每個Name space的容量、該每個Name space的性能、該至少一個Namespace中可用Namespace的數(shù)量、該可用Namespace的容量和該可用Namespace的性能中的一個。
[0021 ] 具體地,由于每個NVM子系統(tǒng)可以包括至少一個Namespace,該至少一個Namespace可以具有相同或不相同的容量,并且可以存在部分Namespace已經(jīng)被其他主機占用,因此,通過Name space的數(shù)量和每個Name space的容量,或者未被占用的可用Name space的數(shù)據(jù)和可用Namespace的容量,可以從容量的角度選擇合適的Namespace,進而選擇對應的NVM子系統(tǒng)作為滿足主機的目標參數(shù)的NVM子系統(tǒng)為目標NVM子系統(tǒng)。
[0022]另外,由于該至少一個Namespace可能具有不同的屬性,例如不同的Namespace可能由不同的存儲介質(zhì)組成,從而存在不同的性能差異,因此,服務器還可以根據(jù)Namespace的性能選擇合適的Namespace,進而選擇對應的NVM子系統(tǒng)作為目標NVM子系統(tǒng)進行連接。
[0023]可選地,該至少一個NVM控制器的信息至少包括:該至少一個NVM控制器的數(shù)量、該至少一個NVM控制器中每個NVM控制器的身份標識ID、該每個NVM控制器的性能、該至少一個NVM控制器中可用NVM控制器的數(shù)量、該可用NVM控制器的ID和該可用NVM控制器的性能中的一個。
[0024]具體地,由于每個NVM子系統(tǒng)可以包括至少一個NVM控制器,并且每個NVM控制器只能與一個主機相連,因此,對于任意NVM子系統(tǒng)中包括的至少一個NVM控制器,可以根據(jù)該至少一個NVM控制器的數(shù)量和標識,或者根據(jù)可用NVM控制器的數(shù)量和標識,選擇一個合適的NVM控制器用于與主機進行連接,即該NVM控制器屬于與目標NVM子系統(tǒng),這樣還可以避免主機在與目標NVM子系統(tǒng)進行連接后,再協(xié)商選擇NVM控制器的過程,而且可以避免主機與不合適或不可用的NVM控制器建立連接,提高了主機與NVM控制器連接的可靠性。
[0025]另外,還可以根據(jù)NVM控制器的性能,例如該NVM控制器占用物理資源或虛擬資源,占用資源的大小等,根據(jù)目標參數(shù)中主機的對NVM控制器性能的需求,選擇合適的NVM控制器進行連接,進一步提高主機與NVM控制器連接的可靠性。
[0026]可選地,在NVM子系統(tǒng)的參數(shù)信息中還可以包括NVM控制器與Namespace之間的映射關(guān)系。由于每個NVM控制器可以對應管理一個或多個Name space,因此,還可以根據(jù)NVM控制器與Namespace之間的映射關(guān)系,根據(jù)目標參數(shù)中主機對Namespace的需求,確定合適的NVM控制器作為目標NVM控制器進行連接。
[0027]第二方面,提供了一種在非易失性存儲系統(tǒng)中建立連接的方法,該非易失性存儲系統(tǒng)包括主機、服務器和至少一個非易失性存儲器NVM子系統(tǒng),該至少一個NVM子系統(tǒng)用于為該主機提供數(shù)據(jù)存儲,該服務器中存儲有該至少一個NVM子系統(tǒng)中每個NVM子系統(tǒng)的參數(shù)信息和路由信息,該方法由該主機執(zhí)行,該方法包括:與該服務器建立連接;向該服務器發(fā)送請求消息;接收該服務器根據(jù)該請求信息發(fā)送的響應消息,該響應消息包括該至少一個NVM子系統(tǒng)中部分或全部NVM子系統(tǒng)的參數(shù)信息和路由信息;根據(jù)該部分或全部NVM子系統(tǒng)的參數(shù)信息,確定滿足目標參數(shù)的目標NVM子系統(tǒng)以及該目標NVM子系統(tǒng)的路由信息,該目標參數(shù)為該主機需要連接的NVM子系統(tǒng)的參數(shù);根據(jù)該目標NVM子系統(tǒng)的路由信息,與該目標NVM子系統(tǒng)建立連接。
[0028]本申請的在非易失性存儲系統(tǒng)中建立連接的方法,主機與服務器建立連接,獲取服務器中保存的部分或全部NVM子系統(tǒng)的參數(shù)信息,根據(jù)部分或全部NVM子系統(tǒng)的參數(shù)信息,選擇滿足主機需求的NVM子系統(tǒng)作為目標NVM子系統(tǒng),主機與該目標NVM子系統(tǒng)建立連接,可以避免主機連接到錯誤或不合適的NVM子系統(tǒng),避免盲目選擇和連接而導致的反復連接,使得主機可以與滿足需求的NVM子系統(tǒng)建立連接,提高連接的可靠性。
[0029]可選地,在該目標NVM子系統(tǒng)中可以包括多個NVM控制器,該方法還包括:根據(jù)該多個NVM控制器的信息,在該多個NVM控制器中確定目標NVM控制器,該目標NVM控制器用于與該主機相連。
[0030]應理解,每個NVM子系統(tǒng)可以包括一個或多個NVM控制器,若目標NVM子系統(tǒng)只包括一個NVM控制器,則可以在確定該目標NVM子系統(tǒng)后,該主機與該目標NVM子系統(tǒng)建立連接,也就是與該目標NVM子系統(tǒng)中的唯——個NVM控制器建立連接;若該目標NVM子系統(tǒng)中包括多個NVM控制器,則還可以根據(jù)該多個NVM控制器的信息,在該多個NVM控制器中繼續(xù)確定一個與主機相匹配的目標NVM控制器,則該主機與目標NVM子系統(tǒng)建立連接,也就是與該目標NVM子系統(tǒng)中的目標NVM控制器建立連接。
[0031 ]應理解,該目標NVM子系統(tǒng)可以包括多個端口,因此,該主機確定該目標NVM子系統(tǒng)的路由信息可以包括通過多個路徑中不同端口與該NVM子系統(tǒng)建立連接,主機可以根據(jù)路由信息選擇一個路徑通過一個端口與該目標NVM子系統(tǒng)建立連接。
[0032]可選地,該目標NVM子系統(tǒng)的路由信息可以包括:該主機的標識、該目標NVM子系統(tǒng)的標識和該主機到該目標NVM子系統(tǒng)的路徑信息。
[0033]結(jié)合第二方面,在第二方面的一種實現(xiàn)方式中,該每個NVM子系統(tǒng)的參數(shù)信息至少包括:該每個NVM子系統(tǒng)的總?cè)萘?、該每個NVM子系統(tǒng)的可用容量、該每個NVM子系統(tǒng)中至少一個命名空間Name spac e的信息、該每個NVM子系統(tǒng)中至少一個NVM控制器的信息以及該至少一個Namespace與該至少一個NVM控制器之間的映射關(guān)系中的一種。
[0034I應理解,該每個NVM子系統(tǒng)的參數(shù)信息與第一方面中的每個NVM子系統(tǒng)的參數(shù)信息相同,主機根據(jù)每個NVM子系統(tǒng)的參數(shù)信息確定目標NVM子系統(tǒng)的過程,與服務器根據(jù)每個NVM子系統(tǒng)的參數(shù)信息確定目標NVM子系統(tǒng)的過程也類似,在此不再贅述。
[0035]結(jié)合第二方面及其上述實現(xiàn)方式,在第二方面的另一種實現(xiàn)方式中,該服務器用于根據(jù)該每個NVM子系統(tǒng)的當前參數(shù)信息,更新該每個NVM子系統(tǒng)的參數(shù)信息。
[0036]應理解,每個NVM子系統(tǒng)的參數(shù)信息可以包括每個NVM子系統(tǒng)的容量或性能相關(guān)信息,當主機與NVM子系統(tǒng)建立連接后,會使用該NVM子系統(tǒng)中的存儲資源,因此,NVM子系統(tǒng)的參數(shù)信息會隨著不同主機與NVM子系統(tǒng)建立連接而隨時變化,服務器可以隨時更新保存的每個NVM子系統(tǒng)的參數(shù)信息,從而為主機提供更加準確的參數(shù)信息。
[0037]例如,可以在服務器中設(shè)置更新周期,服務器周期性向NVM子系統(tǒng)發(fā)送請求更新的信息,并獲取NVM子系統(tǒng)反饋的當前參數(shù)信息,服務器根據(jù)該當前參數(shù)信息,更新保存的對應的NVM子系統(tǒng)的參數(shù)信息;或者,也可以在NVM子系統(tǒng)中設(shè)置更新周期,由NVM子系統(tǒng)周期性發(fā)送當前參數(shù)信息,服務器根據(jù)獲取到的NVM子系統(tǒng)的當前參數(shù)信息,更新保存的對應的NVM子系統(tǒng)的參數(shù)信息。
[0038]再例如,可以通過主機發(fā)送的請求消息觸發(fā)服務器進行NVM子系統(tǒng)的參數(shù)信息的更新,服務器根據(jù)接收到的主機發(fā)送的請求消息,先觸發(fā)服務器更新NVM子系統(tǒng)的參數(shù)信息,服務器獲取更新后的NVM子系統(tǒng)的參數(shù)信息,并向主機發(fā)送更新后的NVM子系統(tǒng)的參數(shù)
?目息O
[0039]可選地,服務器更新路由信息,可以通過向每個NVM主機發(fā)送更新信息,再根據(jù)每個NVM主機反饋的響應信息,對服務器中的路由信息進行更新。
[0040]第三方面,提供了一種非易失性存儲系統(tǒng)中的服務器,用于執(zhí)行上述第一方面或第一方面的任意可能的實現(xiàn)方式中的方法。具體地,該裝置包括用于執(zhí)行上述第一方面或第一方面的任意可能的實現(xiàn)方式中的方法的單元。
[0041]第四方面,提供了一種非易失性存儲系統(tǒng)中的主機,用于執(zhí)行上述第二方面或第二方面的任意可能的實現(xiàn)方式中的方法。具體地,該裝置包括用于執(zhí)行上述第二方面或第二方面的任意可能的實現(xiàn)方式中的方法的單元。
[0042]第五方面,提供了一種非易失性存儲系統(tǒng)中的服務器,包括:存儲單元和處理器,該存儲單元用于存儲指令,該處理器用于執(zhí)行該存儲器存儲的指令,并且當該處理器執(zhí)行該存儲器存儲的指令時,該執(zhí)行使得該處理器執(zhí)行第一方面或第一方面的任意可能的實現(xiàn)方式中的方法。
[0043]第六方面,提供了一種非易失性存儲系統(tǒng)中的主機,包括:存儲單元和處理器,該存儲單元用于存儲指令,該處理器用于執(zhí)行該存儲器存儲的指令,并且當該處理器執(zhí)行該存儲器存儲的指令時,該執(zhí)行使得該處理器執(zhí)行第二方面或第二方面的任意可能的實現(xiàn)方式中的方法。
[0044]第七方面,提供了一種計算機可讀介質(zhì),用于存儲計算機程序,該計算機程序包括用于執(zhí)行第一方面或第一方面的任意可能的實現(xiàn)方式中的方法的指令。
[0045]第八方面,提供了一種計算機可讀介質(zhì),用于存儲計算機程序,該計算機程序包括用于執(zhí)行第二方面或第二方面的任意可能的實現(xiàn)方式中的方法的指令。
【附圖說明】
[0046]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0047]圖1是根據(jù)本發(fā)明實施例的NVMeover Fabric的系統(tǒng)架構(gòu)的示意圖。
[0048]圖2是根據(jù)本發(fā)明實施例的在非易失性存儲系統(tǒng)中建立連接的方法的示意性流程圖。
[0049]圖3是根據(jù)本發(fā)明另一實施例的在非易失性存儲系統(tǒng)中建立連接的方法的示意性流程圖。
[0050]圖4是根據(jù)本發(fā)明實施例的非易失性存儲系統(tǒng)中的服務器的示意性框圖。
[0051]圖5是根據(jù)本發(fā)明實施例的非易失性存儲系統(tǒng)中的主機的示意性框圖。
[0052]圖6是根據(jù)本發(fā)明另一實施例的非易失性存儲系統(tǒng)中的服務器的示意性框圖。
[0053]圖7是根據(jù)本發(fā)明另一實施例的非易失性存儲系統(tǒng)中的主機的示意性框圖。
【具體實施方式】
[0054]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都應屬于本發(fā)明保護的范圍。
[0055]圖1示出了NVMeover Fabric的系統(tǒng)架構(gòu),該系統(tǒng)架構(gòu)主要包括一個或多個主機(Host)、服務器以及至少一個NVM Subsystem,該至少一個NVM Subsystem用于為Host提供數(shù)據(jù)存儲。其中,該Host可以為物理服務器,或者還可以為虛擬機;服務器也可以為物理機,或者也可以為虛擬機,在現(xiàn)有技術(shù)中,該服務器中保存了至少一個NVM Subsystem路由信息,該服務器中包括一個或多個控制器,該控制器僅用于讀取服務器中保存的路由信息,該路由信息包括多個日志頁記錄(Log Page Entry),每個Log Page Entry可以包括:Host到NVM Subsystem的路由信息。NVM Subsystem中包括至少一個NVM控制器(NVM controller)以及至少一個NAND閃存,該NAND閃存是一種電壓元件,用于存儲數(shù)據(jù),例如,如圖1中每個NVM Subsystem包括5個NAND閃存,或者,每個NVM Subsystem還可以包括不同個數(shù)的NAND閃存。該NAND閃存可以通過一種邏輯塊的集合體進行表示,即命名空間(Namespace),NAND閃存與Name space之間的映射關(guān)系不定,即一個NAND閃存可以對應多個Name space,或者一個Namespace對應多個NAND閃存,Namespace的容量可以根據(jù)實際應用進行設(shè)置。
[0056]在現(xiàn)有技術(shù)中,當任意一個Host需要與NVM Subsystem連接時,可以先與服務器建立連接,然后向服務器發(fā)送發(fā)現(xiàn)命令,服務器根據(jù)發(fā)現(xiàn)命令,通過服務器中的控制器讀取保存的Log Page,該Log Page可以包括多條Log Page Entry,每條Log Page Entry對應一個NVM Subsystem的連接路徑,例如,一個NVM Subsystem有多個路徑可以訪問,則每個路徑都對應一個Log Page Entry0
[0057]對于每個LogPage Entry,現(xiàn)有技術(shù)僅包括Host ID、Host NQN、NVM SubsystemNQN以及連接到NVM Subsystem的路徑信息,其中,該連接到NVM Subsystem的路徑信息僅包括地址類型(Address Family)、傳輸?shù)刂?Transport Address)、端口標識(Port ID)以及控制器標識(Controller ID),其中Address Family表示地址類型,例如可以為IPv4或IPv6 ; Transport Address表示具體的地址信息,例如IP地址;Port ID用于表示NVMSubsystem的不同端口,由于每個NVM Subsystem可以包括一個或多個端口,因此,Host可以根據(jù)Log Page Entry中的提供的信息與NVM Subsystem建立連接;Controller ID表示NVMSubsystem中的控制器(NVM Controller),每個NVM Subsystem可以包括至少一個NVMController。在ControIIer選擇上,Host可以指定NVM Subsystem中一個固定的ControlIer與NVM Subsystem進行連接;亦可以指定NVM Subsystem中任意一個ControlIer與NVMSubsystem進行連接。
[0058]由于,現(xiàn)有技術(shù)中的路由信息只包括上述標識類信息,因此Host只能連接到一個NVM Subsystem,但是該NVM Subsystem可能并不能滿足該Host的存儲或者性能等要求。例如,如果一個Host需要連接一個存儲資源為100GB的NVM Subsystem,但是當前多個NVMSubsystem中僅僅有一個NVM Subsystem可以提供這些存儲資源,現(xiàn)有技術(shù)中Host將一個一個去嘗試連接NVM Subsystem,直到連接到一個可以滿足存儲容量需求的NVM Subsystem,操作流程復雜,連接效率低下。再例如:在單路徑的情況下,一個NVM Subsystem僅對應一個Log Page Entry,由于Log Page Entry中僅僅返回了一個Controller ID供Host連接,該Controller在后續(xù)的連接過程中出現(xiàn)故障,這時候會引起Host與對應的NVM Subsystem也不能連接,導致存儲資源浪費。因此,本發(fā)明實施例提出了一種該系統(tǒng)架構(gòu)中的建立連接的方法,可以提高Host與對應的NVM Subsystem建立連接的效率和可靠性。
[0059]如圖2所示,圖2示出了根據(jù)本發(fā)明實施例的在非易失性存儲系統(tǒng)中建立連接的方法100的示意性流程圖,該方法100可以應用于如圖1所示的非易失性存儲系統(tǒng)中,即該非易失性存儲系統(tǒng)包括Host、服務器和至少一個NVM Subsystem。如圖2所示,該方法100包括:
[0060]S110,Host與服務器建立連接。
[0061 ] 應理解,在Host啟動時,或者任何需要與至少一個NVM Subsystem建立連接時,或者Host需要NVM Subsystem的路由信息時,Host先與服務器建立連接。例如,該建立連接的過程,Host可以通過NVMe over Fabric標準中的連接(Connect)命令來實現(xiàn),但本發(fā)明實施例并不限于此。
[0062]S120,Host向服務器發(fā)送請求消息,該請求消息用于請求該服務器發(fā)送NVMSubsystem的參數(shù)信息和路由信息,以便于該Host可以根據(jù)該NVM Subsystem的參數(shù)信息確定滿足預設(shè)條件的目標NVM Subsystem。
[0063]具體地,當Host需要連接NVM Subsystem時,可以向服務器發(fā)送請求消息,通過該請求消息請求服務器發(fā)送NVM Subsystem的參數(shù)信息和路由信息,由于在該NVMe overFabric的系統(tǒng)架構(gòu)中可以包括至少一個NVM Subsystem,因此該主機可以請求該服務器發(fā)送該至少一個NVM Subsystem中的部分或全部NVM Subsystem的參數(shù)信息和路由信息。
[0064]SI30,Host接收服務器根據(jù)請求消息發(fā)送的響應消息,該響應消息包括至少一個NVM Subsystem中部分或全部NVM Subsystem的參數(shù)信息和路由信息。
[0065]應理解,該NVM Subsystem的參數(shù)信息可以保存在服務器中,即如圖1所示的服務器中,在現(xiàn)有技術(shù)中,該服務器保存每個NVM Subsystem的路由信息,而在本發(fā)送實施例中,該服務器中還保存了每個NVM Subsystem的參數(shù)信息,服務器根據(jù)請求消息,讀取全部或者部分NVM Subsystem的參數(shù)信息和路由信息,通過Log Page Entry指示每個NVM Subsystem的參數(shù)信息和路由信息,服務器向Host發(fā)送響應消息,該響應消息包括指示NVM Subsystem的參數(shù)信息和路由信息的一個或者多個Log Page Entry0
[00??] 應理解,與現(xiàn)有技術(shù)相同,該每個NVM Subsystem的路由信息可以包括Host的標識、每個NVM Subsystem的標識以及指示Host到每個NVM Subsystem的路徑信息。
[0067]S140,Host分析接收到的NVM Subsystem的參數(shù)信息,根據(jù)該NVM Subsystem的參數(shù)信息,確定滿足目標參數(shù)的目標NVM Subsystem,該目標NVM Subsystem可以滿足Host存儲容量和性能等需求??蛇x地,該Host還可以確定該目標NVM Subsystem的路由信息,以便于該Host根據(jù)路由信息與該目標NVM Subsystem建立連接D
[0068]應理解,該目標參數(shù)即該Host設(shè)置的預設(shè)條件,該目標參數(shù)可以用于表示該Host需要連接的NVM Subsystem要滿足的存儲容量或性能等方面的需要。例如,該Host需要與總存儲容量大于100GB的NVM Subsystem建立連接,則該目標參數(shù)就可以為NVM Subsystem的總存儲容量大于10GBtj
[0069]應理解,Host確定目標NVM Subsystem,可以與該目標NVM Subsystem建立連接,也就是與該目標NVM Subsystem中的一個NVM controller建立連接,通過該NVM controller使用存儲資源因此,Host確定目標NVM Subsystem,包括在該目標NVM Subsystem中確定目標NVM controller,Host與該目標NVM controller建立連接。
[0070]可選地,對于服務器中保存的每個NVMSubsystem的參數(shù)信息,或者Host接收到的一個或多個NVM Subsystem中每個NVM Subsystem的參數(shù)信息,可以包括以下信息中的至少一種:該每個NVM Subsystem的總?cè)萘?、該每個NVM Subsystem的可用容量、該每個NVMSubsystem中至少一個Nam espace的信息、該每個N VM Subsystem中至少一個N VMcontrolIer的信息以及該至少一個Namespace與該至少一個NVM cont:roller之間的映射關(guān)系中的一種。
[0071 ] 其中,對于每個NVM Subsystem的總?cè)萘?,Host獲取該NVM Subsystem的總?cè)萘?,選擇總?cè)萘繚M足Host要求的目標參數(shù)的NVM Subsystem作為匹配的目標NVM Subsystem,這樣,在存儲資源不足時,Host可以通過啟動數(shù)據(jù)在不同NVM Subsystem之間的迀移調(diào)度,從而使得當前的目標NVM Subsystem的存儲資源充足。
[0072]對于每個NVM Subsystem的可用容量,該可用容量也可以稱為該NVM Subsystem的剩余容量,由于每個NVM Subsystem可以包括多個NVM controller,每個NVM controller可以與一個Host相連,因此,對于任意一個NVM Subsystem,其部分容量可能已經(jīng)被其他相連的Host占用,因此,服務器發(fā)送的NVM Subsystem參數(shù)信息可以包括NVM Subsystem的剩余容量,該剩余容量即為該NVM Subsystem的可用容量,Host可以根據(jù)NVM Subsystem的可用容量確定該NVM Subsystem是否滿足Host的目標參數(shù)的要求,確定滿足Host容量需求的NVMSubsystem為目標NVM Subsystem。
[0073]例如,Host希望連接的NVM Subsystem具有10GB的存儲資源,即目標參數(shù)為存儲資源大于或等于10GB,貝IjHost可以先根據(jù)NVM Subsystem的可用容量選擇滿足要求的NVMSubsystem進行連接,若當前存在可用容量大于或等于10GB的NVM Subsystem,則Host確定該NVM Subsystem為目標NVM Subsystem,并與該目標NVM Subsystem進行連接;若當前不存在可用容量大于或等于10GB的NVM Subsystem,則Host可以根據(jù)NVM Subsystem的總?cè)萘浚x擇總?cè)萘看笥诨虻扔?GB的NVM Subsystem,確定該N VM Subsystem為目標NVMSubsystem,并與該目標NVM Subsystem進行連接,并在連接后,可以通過NVM Subsystem之間的數(shù)據(jù)迀移,使得該目標NVM Subsystem的容量滿足該Host的要求D
[0074]可選地,對于每個NVM Subsystem的參數(shù)信息中的至少一個Namespace的信息,該至少一個Namespace的信息至少包括:至少一個Namespace的數(shù)量、每個Namespace的容量、每個Namespace的性能、至少一個Name space中可用Name space的數(shù)據(jù)、每個可用Name space的容量以及每個可用Namespace的性能中的一個。
[0075]具體地,由于每個NVM Sub sy stem可以包括至少一個Name space,該至少一個Namespace可以具有相同或不相同的容量,并且可以存在部分Namespace已經(jīng)被其他Host占用,因此,通過Namespace的數(shù)量和每個Namespace的容量,或者未被占用的可用Namespace的數(shù)據(jù)和可用Namespace的容量,Host可以從容量的角度選擇合適的Namespace,進而選擇對應的NVM Subsystem作為相匹配的目標NVM Subsystem進行連接。
[0076]另外,由于該至少一個Namespace可能具有不同的屬性,例如不同的Name space可能由不同的存儲介質(zhì)組成,從而存在不同的性能差異,因此,目標參數(shù)還可以包括Host對Namespace性能的要求,Host還可以根據(jù)Namespace的性能選擇滿足目標參數(shù)的Namespace,進而選擇對應的NVM Subsystem作為目標NVM Subsystem進行連接。
[0077]可選地,對于每個NVM Subsystem的參數(shù)信息中的至少一個NVM controlIer的信息,該至少一個NVM controller的信息至少包括:至少一個NVM controller的數(shù)量、每個NVM controller的標識、每個NVM controller的性能、至少一個NVM controller中可用NVMcontroller的數(shù)量、每個可用NVM controller的標識、每個可用NVM controller的性能中的一個。
[0078]具體地,由于每個NVM Subsystem可以包括至少一個NVM controller,并且每個NVM controller只能與一個Host相連,因此,對于任意NVM Subsystem中包括的至少一個NVM controller,可以根據(jù)該至少一個NVM controlIer的數(shù)量和標識,或者根據(jù)可用NVMcontroller的數(shù)量和標識,Host可以選擇一個滿足目標參數(shù)的NVM controller進行連接,即該NVM controller屬于的目標NVM Subsystem,這樣還可以避免Host在選擇目標NVMSubsystem進行連接后,再協(xié)商選擇NVM controlIer的過程,而且可以避免Host與不合適或不可用的NVM controlIer建立連接,提高了Host與NVM controller連接的可靠性。
[0079]另外,Host還可以根據(jù)NVM controller的性能,例如該NVM controller占用物理資源或虛擬資源,占用資源的大小等,根據(jù)目標參數(shù)中Host對NVM controlIer的需求,選擇合適的NVM controller進行連接,進一步提高Host與NVM controller連接的可靠性。
[0080]可選地,在NVM Subsystem的參數(shù)信息中還可以包括NVM controller與Namespace之間的映射關(guān)系由于每個NVM control Ier可以對應管理一個或多個Namespace,因此,Host可以根據(jù)NVM controller與Namespace之間的映射關(guān)系,根據(jù)目標參數(shù)中Host對Namespace的需求,確定合適的NVM controlIer作為目標NVM controller進行連接。
[00S^ ] 在本發(fā)明實施例中,Host確定目標NVM Subsystem,對應的可以確定該目標NVMSubsystem的路由信息,即Log Page Entry。由于每個NVM Subsystem的每個路徑都可以對應一個Log Page Entry,服務器可以在每個Log Page Entry中都攜帶上述NVM Subsystem的參數(shù)信息,但是由于每個NVM Subsystem可能存在多條路徑,每個路徑對應的Log PageEntry均攜帶相同的NVM Subsystem的參數(shù)信息會導致信息重復傳遞,因此,對于相同NVMSubsystem的不同路徑對應的多個Log Page Entry,可以只在其中一個Log Page Entry中攜帶該NVM Subsystem的參數(shù)信息,從而避免信息的重復傳遞。
[0082]應理解,由于在服務器發(fā)送的NVM Subsystem的參數(shù)信息中,涉及每個NVMSubsystem的容量或性能相關(guān)信息,這些信息會隨著不同Host與不同NVM Subsystem建立連接而隨時變化,因此,服務器可以隨時更新保存的NVM Subsystem的參數(shù)信息。
[0083]例如,可以在服務器中設(shè)置更新周期,服務器周期性向NVM子系統(tǒng)發(fā)送請求更新的信息,并獲取NVM子系統(tǒng)反饋的當前參數(shù)信息,服務器根據(jù)該當前參數(shù)信息,更新保存的對應的NVM子系統(tǒng)的參數(shù)信息;或者,也可以在NVM子系統(tǒng)中設(shè)置更新周期,由NVM子系統(tǒng)周期性發(fā)送當前參數(shù)信息,服務器根據(jù)獲取到的NVM子系統(tǒng)的當前參數(shù)信息,更新保存的對應的NVM子系統(tǒng)的參數(shù)信息。
[0084]再例如,可以通過Host發(fā)送的請求消息觸發(fā)服務器進行參數(shù)信息的更新,服務器根據(jù)接收到的Host發(fā)送的請求消息,先觸發(fā)服務器更新參數(shù)信息,服務器讀取并獲取更新后的參數(shù)信息,并向Host發(fā)送更新后的參數(shù)信息,本發(fā)明實施例并不限于此。
[0085]可選地,服務器更新參數(shù)信息,可以通過向每個NVM Subsystem發(fā)送更新信息,再根據(jù)每個NVM Subsystem反饋的響應信息,對服務器中的參數(shù)信息進行更新。
[0086]S150,根據(jù)目標NVM Subsystem的路由信息,Host與目標NVM Subsystem建立連接。
[0087]具體地,Host確定了滿足目標參數(shù)的目標NVM Subsystem后,可以與該NVMSubsystem建立連接??蛇x地,由于該目標NVM Subsystem可以包括多個NVM controller,因此,Host可以根據(jù)現(xiàn)有技術(shù),與目標NVM Subsystem協(xié)商確定目標NVM controller進行連接?;蛘?,該Host確定目標NVM Subsystem的同時,根據(jù)NVM Subsystem的參數(shù)信息中關(guān)于NVM controller的信息,根據(jù)Host對NVM controlIer的需求,例如:性能,或能訪問的Namespace等,確定目標NVM controller,直接與該目標NVM controller建立連接,本發(fā)明實施例并不限于此。
[0088]可選地,如圖1所示,對于NVMe over Fabr i c的系統(tǒng)架構(gòu),Hos t與目標NVMSubsystem建立連接,可以通過交換機實現(xiàn)。
[0089]可選地,在該目標NVM Subsystem的路由信息中,可以包括多個端口信息,即該目標NVM Subsystem對應多個Log Page Entry,則該Host可以選擇其中一條路徑通過一個端口與目標NVM Subsystem建立連接。
[0090]因此,本發(fā)明實施例的在非易失性存儲系統(tǒng)中建立連接的方法,Host接收服務器發(fā)送的NVM Subsystem的參數(shù)信息,根據(jù)該NVM Subsystem的參數(shù)信息中關(guān)于每個NVMSubsystem中包括的各個部分的相關(guān)性能的信息,選擇與Host相匹配的NVM Subsystem作為目標NVM Subsystem,Host與該目標NVM Subsystem建立連接,可以避免連接到錯誤或不合適的NVM Subsystem,避免盲目選擇和連接而導致的反復連接,使得Host可以與到滿足Host需求的NVM Subsystem建立連接,提高連接的可靠性。
[0091]上文中結(jié)合圖1和圖2,詳細描述了在一種實施例中,通過HoSt確定目標Subsystem,然后建立host與目標Subsystem的連接的方法,,下面將結(jié)合圖3,描述在另一種實施例中,通過服務器中確定目標Subsystem,然后建立host與目標Subsystem的連接的方法。
[0092]圖3示出了根據(jù)本發(fā)明另一實施例在非易失性存儲系統(tǒng)中建立連接的方法200的示意性流程圖,該方法200同樣應用于非易失性存儲系統(tǒng)中,該非易失性存儲系統(tǒng)可以如圖1所示,該非易失性存儲系統(tǒng)即為上述現(xiàn)有技術(shù)中的NVMe over Fabric的系統(tǒng)架構(gòu)。
[0093]在方法100中,Host接收服務器發(fā)送的NVM Subsystem的參數(shù)信息,分析確定相匹配的目標NVM Subsystem進行連接,該服務器與現(xiàn)有技術(shù)中服務器類似,只具有讀取功能;可選地,在該方法200中,該服務器不但具有讀取功能,還可以根據(jù)Host的性能要求,對NVMSubsystem參數(shù)進行分析,確定與Host相匹配的目標NVM Subsystem,具體地,如圖3所示,該方法200包括:
[0094]S210,服務器與Host建立連接。
[0095]與方法I00中的S 11 O類似,在Ho s t啟動時,或者任何需要與至少一個NVMSubsystem建立連接時,或者Host需要NVM Subsystem的路由信息時,Host先與服務器建立連接ο例如,該建立連接的過程,Host可以通過NVMe over Fabric標準中的連接(Connect)命令來實現(xiàn),但本發(fā)明實施例并不限于此
[0096]S220,服務器接收Host發(fā)送的請求消息,該請求消息用于請求服務器為該Host確定目標NVM Subsystem。
[0097]具體地,Host向該服務器發(fā)送請求消息,該請求消息用于請求服務器為該Host確定滿足目標參數(shù)的目標NVM Subsystem,該目標參數(shù)即該Host設(shè)置的預設(shè)條件,該目標參數(shù)可以用于表示該Host需要連接的NVM Subsystem要滿足的存儲容量或性能等方面的需要。因此,在該請求消息中可以包括該目標參數(shù),即包括Host對該目標NVM Subsystem的要求,例如,該目標參數(shù)可以該Host對存儲資源大小的要求,該Host要求NVM Subsystem的存儲資源大于或等于10GB;再例如,該目標參數(shù)還可以為該Host對該NVM Subsystem中Namespace的性能或容量的要求。
[0098]S230,服務器根據(jù)該請求消息,查找至少一個NVM Subsystem的參數(shù)信息,分析該至少一個NVM Subsystem的參數(shù)信息,確定滿足目標參數(shù)的目標NVM Subsystem。相應地,該服務器還可以確定該目標NVM Subsystem的路由信息。
[0099]具體地,服務器接收Host發(fā)送的請求消息后,獲取至少一個NVM SubsystemNVMSubsystem的參數(shù)信息和路由信息,其中,該路由信息可以與現(xiàn)有技術(shù)中類似,包括Host的標識、每個NVM Subsy stem的標識以及Ho st到每個NVM Sub system的路徑信息。而NVMSubsystem的參數(shù)信息可以包括以下信息中的至少一種:該每個NVM Subsystem的總?cè)萘俊⒃撁總€NVM Subsy stem的可用容量、該每個NVM Subsy stem中至少一個Name space的信息、該每個NVM Subsystem中至少一個NVM controller的信息以及該至少一個Namespace與該至少一個NVM contro 11 er之間的映射關(guān)系中的一種。
[0100]具體地,該NVM Subsystem參數(shù)信息中包括的各個信息與上述方法100中S130以及S140中服務器向Host發(fā)送的NVM Subsystem的參數(shù)信息一致,并且服務器可以根據(jù)目標參數(shù)中Host對NVM Subsystem的需要,同樣按照上述方法100中S140的Hos t分析該NVMSubsystem參數(shù)信息的過程,服務器對每個NVM Subsystem的參數(shù)信息進行分析,確定與Host相匹配的目標NVM Subsystem,在此不再贅述。
[0101]可選地,該服務器可以一個個讀取NVM Subsystem的參數(shù)信息,當確定了滿足目標參數(shù)的NVM Subsystem后,停止分析,將該NVM Subsystem確定為目標NVM Subsystem;或者,該服務器可以查找保存的每個NVM Subsystem的參數(shù)信息,確定滿足目標參數(shù)的目標NVMSubsystem,本發(fā)明實施例并不限于此。
[0102]可選地,類似方法100中Host分析NVM Subsystem的參數(shù)信息過程,服務器可以確定該目標NVM Subsystem,進一步,由于該目標NVM Subsystem可以包括多個NVMcontroller,因此,服務器還可以根據(jù)目標參數(shù)中Host的要求,進一步確定與Host相匹配的該目標NVM Subsystem中的目標NVM controller0
[0103]S240,服務器向Host發(fā)送響應消息,該響應消息包括目標NVM Subsystem的路信息,以便于主機與該目標NVM Subsystem建立連接。
[0104]具體地,服務器根據(jù)目標參數(shù)表示的Host的需求,根據(jù)NVMSubsystem的參數(shù)數(shù)據(jù)確定目標NVM Subsystem,可以通過響應消息向該Host發(fā)送該目標NVM Subsystem的路由信息,以便于Host與該目標NVM Subsystem建立連接。
[0105]可選地,可以通過Log Page Entry表示該目標NVM Subsystem的路由信息,該NVMSubsystem的路由信息可以包括:目標NVM Subsystem的ID、該目標NVM Subsystem的NQN、Host到該目標NVM Subsystem的路徑信息中的至少一種??蛇x地,該Log Page Entry還可以包括該目標NVM Subsystem的端口信息,由于該目標NVM Subsystem可以包括一個或多個端口,因此可以通過一個或多個Log Page Entry指示不同的端口,每個Log Page Entry對應一個NVM Subsystem的端口,由Host選擇一個端口與該目標NVM Subsystem建立連接。
[0106]S250,Host與目標NVM Subsystem建立連接。
[0107]具體地,該S250與方法100中的S150類似,Host根據(jù)接收到的目標NVM Subsystem的路由信息,與目標NVM Subsystem建立連接;或者根據(jù)接收到的目標NVM Subsystem中的目標NVM controller,直接與該目標NVM contro I Ier建立連接,在此不再贅述。
[0108]應理解,與方法100類似,服務器中保存NVM Subsystem的參數(shù)信息,可以隨時更新。例如,可以在服務器中設(shè)置更新周期,服務器周期性更新保存的參數(shù)信息,使得Host獲取的NVM Subsystem的參數(shù)信息更加準確。再例如,可以通過Host發(fā)送的請求消息觸發(fā)服務器進行參數(shù)信息的更新,服務器根據(jù)接收到的Host發(fā)送的請求消息,先觸發(fā)服務器更新參數(shù)信息,服務器讀取并獲取更新后的參數(shù)信息,再根據(jù)更新后的參數(shù)信息為Host確定目標NVM Subsystem,本發(fā)明實施例并不限于此。
[0109]可選地,服務器更新參數(shù)信息,可以通過向每個NVM Subsystem發(fā)送更新信息,再根據(jù)每個NVM Subsystem反饋的響應信息,對服務器中的參數(shù)信息進行更新。
[0110]應理解,在本發(fā)明的各種實施例中,上述各過程的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應以其功能和內(nèi)在邏輯確定,而不應對本發(fā)明實施例的實施過程構(gòu)成任何限定。
[0111]因此,本發(fā)明實施例的在非易失性存儲系統(tǒng)中建立連接的方法,Host向服務器發(fā)送請求消息,服務器根據(jù)請求消息獲取NVM Subsystem的參數(shù)信息,并根據(jù)該NVMSubsystem的參數(shù)信息中關(guān)于每個NVM Subsystem中包括的各個部分的相關(guān)性能的信息,選擇與Host相匹配的NVM Subsystem作為目標NVM Subsystem,并通過響應消息向Host發(fā)送該目標NVM Subsystem,以便于Host與該目標NVM Subsystem建立連接,可以避免Host連接到錯誤或不合適的NVM Subsystem,避免Host盲目的反復連接測試,使得Host可以與到滿足需求的NVM Subsystem建立連接,提高連接的可靠性。
[0112]上文中結(jié)合圖1至圖3,詳細描述了根據(jù)本發(fā)明實施例的在非易失性存儲系統(tǒng)中建立連接的方法,下面將結(jié)合圖4至圖7,描述根據(jù)本發(fā)明實施例的在非易失性存儲系統(tǒng)中建立連接的裝置。
[0113]圖4示出了根據(jù)本發(fā)明實施例的非易失性存儲系統(tǒng)中的服務器300的示意性框圖,該非易失性存儲系統(tǒng)包括主機、該服務器300和至少一個非易失性存儲器NVM子系統(tǒng),該至少一個NVM子系統(tǒng)用于為該主機提供數(shù)據(jù)存儲,該服務器300中存儲有該至少一個NVM子系統(tǒng)中每個NVM子系統(tǒng)的參數(shù)信息和路由信息,如圖4所示,該服務器300包括:
[0114]處理單元310,用于與該主機建立連接;
[0115]接收單元320,用于接收該主機發(fā)送請求消息,該請求消息包括該主機需要連接的NVM子系統(tǒng)的目標參數(shù);
[0116]確定單元330,用于通過查找該至少一個NVM子系統(tǒng)的參數(shù)信息,確定滿足該目標參數(shù)的目標NVM子系統(tǒng)以及該目標NVM子系統(tǒng)的路由信息;
[0117]發(fā)送單元340,用于向該主機發(fā)送響應消息,該響應消息包括該目標NVM子系統(tǒng)的路由信息,以便于該主機根據(jù)該目標NVM子系統(tǒng)的路由信息,與該目標NVM子系統(tǒng)建立連接。
[0118]因此,本發(fā)明實施例的非易失性存儲系統(tǒng)中的服務器,通過接收主機發(fā)送的需要連接的NVM子系統(tǒng)的目標參數(shù),查找至少一個NVM子系統(tǒng)的參數(shù)信息確定滿足目標參數(shù)的NVM子系統(tǒng)作為目標NVM子系統(tǒng),以便于主機與該目標NVM子系統(tǒng)建立連接,可以避免主機連接到錯誤或不合適的NVM子系統(tǒng),避免盲目選擇和連接而導致的反復連接,使得主機可以與滿足需求的NVM子系統(tǒng)建立連接,提高連接的可靠性。
[0119]可選地,該確定單元330具體用于:在確定滿足該目標參數(shù)的目標NVM子系統(tǒng)之前,獲取該每個NVM子系統(tǒng)的當前參數(shù)信息;根據(jù)該每個NVM子系統(tǒng)的該當前參數(shù)信息,更新存儲的該每個NVM子系統(tǒng)的參數(shù)信息。
[0120]可選地,該每個NVM子系統(tǒng)的參數(shù)信息至少包括:該每個NVM子系統(tǒng)的總?cè)萘俊⒃撁總€NVM子系統(tǒng)的可用容量、該每個NVM子系統(tǒng)中至少一個命名空間Name space的信息、該每個NVM子系統(tǒng)中至少一個NVM控制器的信息以及該至少一個Namespace與該至少一個NVM控制器之間的映射關(guān)系中的一種。
[0121]應理解,根據(jù)本發(fā)明實施例的非易失性存儲系統(tǒng)中的服務器300可對應于執(zhí)行本發(fā)明實施例中的方法200中的服務器,并且服務器300中的各個模塊的上述和其它操作和/或功能分別為了實現(xiàn)圖3中的方法中的服務器的相應流程,為了簡潔,在此不再贅述。
[0122]因此,本發(fā)明實施例的非易失性存儲系統(tǒng)中的服務器,通過接收主機發(fā)送的需要連接的NVM子系統(tǒng)的目標參數(shù),查找至少一個NVM子系統(tǒng)的參數(shù)信息確定滿足目標參數(shù)的NVM子系統(tǒng)作為目標NVM子系統(tǒng),以便于主機與該目標NVM子系統(tǒng)建立連接,可以避免主機連接到錯誤或不合適的NVM子系統(tǒng),避免盲目選擇和連接而導致的反復連接,使得主機可以與滿足需求的NVM子系統(tǒng)建立連接,提高連接的可靠性。
[0123]圖5示出了根據(jù)本發(fā)明實施例的非易失性存儲系統(tǒng)中的主機400的示意性框圖,該非易失性存儲系統(tǒng)包括該主機400、服務器和至少一個非易失性存儲器NVM子系統(tǒng),該至少一個NVM子系統(tǒng)用于為該主機400提供數(shù)據(jù)存儲,該服務器中存儲有該至少一個NVM子系統(tǒng)中每個NVM子系統(tǒng)的參數(shù)信息和路由信息,如圖5所示,該主機400包括:
[0124]處理單元410,用于與該服務器建立連接;
[0125]發(fā)送單元420,用于向該服務器發(fā)送請求消息;
[0126]接收單元430,用于接收該服務器根據(jù)該請求信息發(fā)送的響應消息,該響應消息包括該至少一個NVM子系統(tǒng)中部分或全部NVM子系統(tǒng)的參數(shù)信息和路由信息;
[0127]確定單元440,用于根據(jù)該部分或全部NVM子系統(tǒng)的參數(shù)信息,確定滿足目標參數(shù)的目標NVM子系統(tǒng)以及該目標NVM子系統(tǒng)的路由信息,該目標參數(shù)為該主機需要連接的NVM子系統(tǒng)的參數(shù);
[0128]該處理單元410還用于:根據(jù)該目標NVM子系統(tǒng)的路由信息,與該目標NVM子系統(tǒng)建立連接。
[0129]因此,本發(fā)明實施例的非易失性存儲系統(tǒng)中的主機,通過與服務器建立連接,獲取服務器中保存的部分或全部NVM子系統(tǒng)的參數(shù)信息,根據(jù)部分或全部NVM子系統(tǒng)的參數(shù)信息,選擇滿足主機需求的NVM子系統(tǒng)作為目標NVM子系統(tǒng),主機與該目標NVM子系統(tǒng)建立連接,可以避免主機連接到錯誤或不合適的NVM子系統(tǒng),避免盲目選擇和連接而導致的反復連接,使得主機可以與滿足需求的NVM子系統(tǒng)建立連接,提高連接的可靠性。
[0130]可選地,該每個NVM子系統(tǒng)的參數(shù)信息至少包括:該每個NVM子系統(tǒng)的總?cè)萘?、該每個NVM子系統(tǒng)的可用容量、該每個NVM子系統(tǒng)中至少一個命名空間Name space的信息、該每個NVM子系統(tǒng)中至少一個NVM控制器的信息以及該至少一個Namespace與該至少一個NVM控制器之間的映射關(guān)系中的一種。
[01311應理解,根據(jù)本發(fā)明實施例的非易失性存儲系統(tǒng)中的主機400可對應于執(zhí)行本發(fā)明實施例中的方法100中的主機,并且主機400中的各個模塊的上述和其它操作和/或功能分別為了實現(xiàn)圖2中的方法的主機的相應流程,為了簡潔,在此不再贅述。
[0132]因此,本發(fā)明實施例的非易失性存儲系統(tǒng)中的主機,通過與服務器建立連接,獲取服務器中保存的部分或全部NVM子系統(tǒng)的參數(shù)信息,根據(jù)部分或全部NVM子系統(tǒng)的參數(shù)信息,選擇滿足主機需求的NVM子系統(tǒng)作為目標NVM子系統(tǒng),主機與該目標NVM子系統(tǒng)建立連接,可以避免主機連接到錯誤或不合適的NVM子系統(tǒng),避免盲目選擇和連接而導致的反復連接,使得主機可以與滿足需求的NVM子系統(tǒng)建立連接,提高連接的可靠性。
[0133]圖6示出了根據(jù)本發(fā)明實施例的非易失性存儲系統(tǒng)中的服務器500的示意性框圖,該非易失性存儲系統(tǒng)包括主機、該服務器500和至少一個非易失性存儲器NVM子系統(tǒng),該至少一個NVM子系統(tǒng)用于為該主機提供數(shù)據(jù)存儲,該服務器500中存儲有該至少一個NVM子系統(tǒng)中每個NVM子系統(tǒng)的參數(shù)信息和路由信息,如圖6所示,該服務器500包括:處理器510和收發(fā)器520,處理器510和收發(fā)器520相連,可選地,該裝置500還包括存儲器530,存儲器530與處理器510相連,進一步可選地,該裝置500包括總線系統(tǒng)540。其中,處理器510、存儲器530和收發(fā)器520可以通過總線系統(tǒng)540相連,該存儲器530可以用于存儲指令,該處理器510用于執(zhí)行該存儲器530存儲的指令,以控制收發(fā)器520發(fā)送信息或信號。
[0134]該處理器510用于:與該主機建立連接;該收發(fā)器520用于:接收該主機發(fā)送請求消息,該請求消息包括該主機需要連接的NVM子系統(tǒng)的目標參數(shù);該處理器510用于:通過查找該至少一個NVM子系統(tǒng)的參數(shù)信息,確定滿足該目標參數(shù)的目標NVM子系統(tǒng)以及該目標NVM子系統(tǒng)的路由信息;該收發(fā)器520用于:向該主機發(fā)送響應消息,該響應消息包括該目標NVM子系統(tǒng)的路由信息,以便于該主機根據(jù)該目標NVM子系統(tǒng)的路由信息,與該目標NVM子系統(tǒng)建立連接。
[0135]因此,本發(fā)明實施例的非易失性存儲系統(tǒng)中的服務器,通過接收主機發(fā)送的需要連接的NVM子系統(tǒng)的目標參數(shù),查找至少一個NVM子系統(tǒng)的參數(shù)信息確定滿足目標參數(shù)的NVM子系統(tǒng)作為目標NVM子系統(tǒng),以便于主機與該目標NVM子系統(tǒng)建立連接,可以避免主機連接到錯誤或不合適的NVM子系統(tǒng),避免盲目選擇和連接而導致的反復連接,使得主機可以與滿足需求的NVM子系統(tǒng)建立連接,提高連接的可靠性。
[0136]應理解,在本發(fā)明實施例中,該處理器510可以是中央處理單元(CentralProcessing Unit,簡稱為“CPU”),該處理器510還可以是其他通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
[0137]該存儲器530可以包括只讀存儲器和隨機存取存儲器,并向處理器510提供指令和數(shù)據(jù)。存儲器530的一部分還可以包括非易失性隨機存取存儲器。例如,存儲器530還可以存儲設(shè)備類型的信息。
[0138]該總線系統(tǒng)540除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號總線等。但是為了清楚說明起見,在圖中將各種總線都標為總線系統(tǒng)540。
[0139]在實現(xiàn)過程中,上述方法的各步驟可以通過處理器510中的硬件的集成邏輯電路或者軟件形式的指令完成。結(jié)合本發(fā)明實施例所公開的方法的步驟可以直接體現(xiàn)為硬件處理器執(zhí)行完成,或者用處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領(lǐng)域成熟的存儲介質(zhì)中。該存儲介質(zhì)位于存儲器530,處理器510讀取存儲器530中的信息,結(jié)合其硬件完成上述方法的步驟。為避免重復,這里不再詳細描述。
[0140]可選地,該處理器510具體用于:在確定滿足該目標參數(shù)的目標NVM子系統(tǒng)之前,獲取該每個NVM子系統(tǒng)的當前參數(shù)信息;根據(jù)該每個NVM子系統(tǒng)的該當前參數(shù)信息,更新存儲的該每個NVM子系統(tǒng)的參數(shù)信息。
[0141]可選地,該每個NVM子系統(tǒng)的參數(shù)信息至少包括:該每個NVM子系統(tǒng)的總?cè)萘俊⒃撁總€NVM子系統(tǒng)的可用容量、該每個NVM子系統(tǒng)中至少一個命名空間Name space的信息、該每個NVM子系統(tǒng)中至少一個NVM控制器的信息以及該至少一個Namespace與該至少一個NVM控制器之間的映射關(guān)系中的一種。
[0142]應理解,根據(jù)本發(fā)明實施例的非易失性存儲系統(tǒng)中的服務器500可對應于本發(fā)明實施例中的服務器300,并可以對應于根據(jù)本發(fā)明實施例的方法200中的服務器,并且服務器500中的各個模塊的上述和其它操作和/或功能分別為了實現(xiàn)圖3中的方法中服務器的相應流程,為了簡潔,在此不再贅述。
[0143]因此,本發(fā)明實施例的非易失性存儲系統(tǒng)中的服務器,通過接收主機發(fā)送的需要連接的NVM子系統(tǒng)的目標參數(shù),查找至少一個NVM子系統(tǒng)的參數(shù)信息確定滿足目標參數(shù)的NVM子系統(tǒng)作為目標NVM子系統(tǒng),以便于主機與該目標NVM子系統(tǒng)建立連接,可以避免主機連接到錯誤或不合適的NVM子系統(tǒng),避免盲目選擇和連接而導致的反復連接,使得主機可以與滿足需求的NVM子系統(tǒng)建立連接,提高連接的可靠性。
[0144]圖7示出了根據(jù)本發(fā)明實施例的非易失性存儲系統(tǒng)中的主機600的示意性框圖,該非易失性存儲系統(tǒng)包括該主機600、服務器和至少一個非易失性存儲器NVM子系統(tǒng),該至少一個NVM子系統(tǒng)用于為該主機600提供數(shù)據(jù)存儲,該服務器中存儲有該至少一個NVM子系統(tǒng)中每個NVM子系統(tǒng)的參數(shù)信息和路由信息,如圖7所示,該主機600包括:處理器610和收發(fā)器620,處理器610和收發(fā)器620相連,可選地,該裝置600還包括存儲器630,存儲器630與處理器610相連,進一步可選地,該裝置600包括總線系統(tǒng)640。其中,處理器610、存儲器630和收發(fā)器620可以通過總線系統(tǒng)640相連,該存儲器630可以用于存儲指令,該處理器610用于執(zhí)行該存儲器630存儲的指令,以控制收發(fā)器620發(fā)送信息或信號。
[0145]該處理器610用于:與該服務器建立連接;該收發(fā)器620用于:向該服務器發(fā)送請求消息;接收該服務器根據(jù)該請求信息發(fā)送的響應消息,該響應消息包括該至少一個NVM子系統(tǒng)中部分或全部NVM子系統(tǒng)的參數(shù)信息和路由信息;該處理器610用于:根據(jù)該部分或全部NVM子系統(tǒng)的參數(shù)信息,確定滿足目標參數(shù)的目標NVM子系統(tǒng)以及該目標NVM子系統(tǒng)的路由信息,該目標參數(shù)為該主機需要連接的NVM子系統(tǒng)的參數(shù);根據(jù)該目標NVM子系統(tǒng)的路由信息,與該目標NVM子系統(tǒng)建立連接。
[0146]因此,本發(fā)明實施例的非易失性存儲系統(tǒng)中的主機,通過與服務器建立連接,獲取服務器中保存的部分或全部NVM子系統(tǒng)的參數(shù)信息,根據(jù)部分或全部NVM子系統(tǒng)的參數(shù)信息,選擇滿足主機需求的NVM子系統(tǒng)作為目標NVM子系統(tǒng),主機與該目標NVM子系統(tǒng)建立連接,可以避免主機連接到錯誤或不合適的NVM子系統(tǒng),避免盲目選擇和連接而導致的反復連接,使得主機可以與滿足需求的NVM子系統(tǒng)建立連接,提高連接的可靠性。
[0147]應理解,在本發(fā)明實施例中,該處理器610可以是CPU,該處理器610還可以是其他通用處理器、DSP、ASIC、FPGA或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
[0148]該存儲器630可以包括只讀存儲器和隨機存取存儲器,并向處理器610提供指令和數(shù)據(jù)。存儲器630的一部分還可以包括非易失性隨機存取存儲器。例如,存儲器630還可以存儲設(shè)備類型的信息。
[0149]該總線系統(tǒng)640除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號總線等。但是為了清楚說明起見,在圖中將各種總線都標為總線系統(tǒng)640。
[0150]在實現(xiàn)過程中,上述方法的各步驟可以通過處理器610中的硬件的集成邏輯電路或者軟件形式的指令完成。結(jié)合本發(fā)明實施例所公開的方法的步驟可以直接體現(xiàn)為硬件處理器執(zhí)行完成,或者用處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領(lǐng)域成熟的存儲介質(zhì)中。該存儲介質(zhì)位于存儲器630,處理器610讀取存儲器630中的信息,結(jié)合其硬件完成上述方法的步驟。為避免重復,這里不再詳細描述。
[0151]可選地,該每個NVM子系統(tǒng)的參數(shù)信息至少包括:該每個NVM子系統(tǒng)的總?cè)萘?、該每個NVM子系統(tǒng)的可用容量、該每個NVM子系統(tǒng)中至少一個命名空間Name space的信息、該每個NVM子系統(tǒng)中至少一個NVM控制器的信息以及該至少一個Namespace與該至少一個NVM控制器之間的映射關(guān)系中的一種。
[0152]應理解,根據(jù)本發(fā)明實施例的非易失性存儲系統(tǒng)中的主機600可對應于本發(fā)明實施例中的主機400,并可以對應于根據(jù)本發(fā)明實施例的方法100中的主機并且主機600中的各個模塊的上述和其它操作和/或功能分別為了實現(xiàn)圖2中的方法中主機的相應流程,為了簡潔,在此不再贅述。
[0153]因此,本發(fā)明實施例的非易失性存儲系統(tǒng)中的主機,通過與服務器建立連接,獲取服務器中保存的部分或全部NVM子系統(tǒng)的參數(shù)信息,根據(jù)部分或全部NVM子系統(tǒng)的參數(shù)信息,選擇滿足主機需求的NVM子系統(tǒng)作為目標NVM子系統(tǒng),主機與該目標NVM子系統(tǒng)建立連接,可以避免主機連接到錯誤或不合適的NVM子系統(tǒng),避免盲目選擇和連接而導致的反復連接,使得主機可以與滿足需求的NVM子系統(tǒng)建立連接,提高連接的可靠性。
[0154]本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
[0155]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0156]在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0157]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
[0158]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
[0159]所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務器,或者網(wǎng)絡設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(R0M,Read-0nly Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0160]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應所述以權(quán)利要求的保護范圍為準。
【主權(quán)項】
1.一種在非易失性存儲系統(tǒng)中建立連接的方法,其特征在于,所述非易失性存儲系統(tǒng)包括主機、服務器和至少一個非易失性存儲器NVM子系統(tǒng),所述至少一個NVM子系統(tǒng)用于為所述主機提供數(shù)據(jù)存儲,所述服務器中存儲有所述至少一個NVM子系統(tǒng)中每個NVM子系統(tǒng)的參數(shù)信息和路由信息,所述方法由所述服務器執(zhí)行,所述方法包括: 與所述主機建立連接; 接收所述主機發(fā)送請求消息,所述請求消息包括所述主機需要連接的NVM子系統(tǒng)的目標參數(shù); 通過查找所述至少一個NVM子系統(tǒng)的參數(shù)信息,確定滿足所述目標參數(shù)的目標NVM子系統(tǒng)以及所述目標NVM子系統(tǒng)的路由信息; 向所述主機發(fā)送響應消息,所述響應消息包括所述目標NVM子系統(tǒng)的路由信息,以便于所述主機根據(jù)所述目標NVM子系統(tǒng)的路由信息,與所述目標NVM子系統(tǒng)建立連接。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述確定滿足所述預設(shè)規(guī)則的目標NVM子系統(tǒng)之前,所述方法還包括: 獲取所述每個NVM子系統(tǒng)的當前參數(shù)信息; 根據(jù)所述每個NVM子系統(tǒng)的所述當前參數(shù)信息,更新存儲的所述每個NVM子系統(tǒng)的參數(shù)?目息O3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述每個NVM子系統(tǒng)的參數(shù)信息至少包括:所述每個NVM子系統(tǒng)的總?cè)萘俊⑺雒總€NVM子系統(tǒng)的可用容量、所述每個NVM子系統(tǒng)中至少一個命名空間Name s P a c e的信息、所述每個NVM子系統(tǒng)中至少一個NVM控制器的信息以及所述至少一個Namespace與所述至少一個NVM控制器之間的映射關(guān)系中的一種。4.一種在非易失性存儲系統(tǒng)中建立連接的方法,其特征在于,所述非易失性存儲系統(tǒng)包括主機、服務器和至少一個非易失性存儲器NVM子系統(tǒng),所述至少一個NVM子系統(tǒng)用于為所述主機提供數(shù)據(jù)存儲,所述服務器中存儲有所述至少一個NVM子系統(tǒng)中每個NVM子系統(tǒng)的參數(shù)信息和路由信息,所述方法由所述主機執(zhí)行,所述方法包括: 與所述服務器建立連接; 向所述服務器發(fā)送請求消息; 接收所述服務器根據(jù)所述請求信息發(fā)送的響應消息,所述響應消息包括所述至少一個NVM子系統(tǒng)中部分或全部NVM子系統(tǒng)的參數(shù)信息和路由信息; 根據(jù)所述部分或全部NVM子系統(tǒng)的參數(shù)信息,確定滿足目標參數(shù)的目標NVM子系統(tǒng)以及所述目標NVM子系統(tǒng)的路由信息,所述目標參數(shù)為所述主機需要連接的NVM子系統(tǒng)的參數(shù); 根據(jù)所述目標NVM子系統(tǒng)的路由信息,與所述目標NVM子系統(tǒng)建立連接。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述每個NVM子系統(tǒng)的參數(shù)信息至少包括:所述每個NVM子系統(tǒng)的總?cè)萘俊⑺雒總€NVM子系統(tǒng)的可用容量、所述每個NVM子系統(tǒng)中至少一個命名空間Namespace的信息、所述每個NVM子系統(tǒng)中至少一個NVM控制器的信息以及所述至少一個Namespace與所述至少一個NVM控制器之間的映射關(guān)系中的一種。6.—種非易失性存儲系統(tǒng)中的服務器,其特征在于,所述非易失性存儲系統(tǒng)還包括主機和至少一個非易失性存儲器NVM子系統(tǒng),所述至少一個NVM子系統(tǒng)用于為所述主機提供數(shù)據(jù)存儲,所述服務器中存儲有所述至少一個NVM子系統(tǒng)中每個NVM子系統(tǒng)的參數(shù)信息和路由信息,所述服務器包括: 處理單元,用于與所述主機建立連接; 接收單元,用于接收所述主機發(fā)送請求消息,所述請求消息包括所述主機需要連接的NVM子系統(tǒng)的目標參數(shù); 確定單元,用于通過查找所述至少一個NVM子系統(tǒng)的參數(shù)信息,確定滿足所述目標參數(shù)的目標NVM子系統(tǒng)以及所述目標NVM子系統(tǒng)的路由信息; 發(fā)送單元,用于向所述主機發(fā)送響應消息,所述響應消息包括所述目標NVM子系統(tǒng)的路由信息,以便于所述主機根據(jù)所述目標NVM子系統(tǒng)的路由信息,與所述目標NVM子系統(tǒng)建立連接。7.根據(jù)權(quán)利要求6所述的服務器,其特征在于,所述確定單元具體用于: 在確定滿足所述預設(shè)規(guī)則的目標NVM子系統(tǒng)之前,獲取所述每個NVM子系統(tǒng)的當前參數(shù)信息; 根據(jù)所述每個NVM子系統(tǒng)的所述當前參數(shù)信息,更新存儲的所述每個NVM子系統(tǒng)的參數(shù)?目息O8.根據(jù)權(quán)利要求6或7所述的服務器,其特征在于,所述每個NVM子系統(tǒng)的參數(shù)信息至少包括:所述每個NVM子系統(tǒng)的總?cè)萘俊⑺雒總€NVM子系統(tǒng)的可用容量、所述每個NVM子系統(tǒng)中至少一個命名空間Name s pa c e的信息、所述每個NVM子系統(tǒng)中至少一個NVM控制器的信息以及所述至少一個Namespace與所述至少一個NVM控制器之間的映射關(guān)系中的一種。9.一種非易失性存儲系統(tǒng)中的主機,其特征在于,所述非易失性存儲系統(tǒng)還包括服務器和至少一個非易失性存儲器NVM子系統(tǒng),所述至少一個NVM子系統(tǒng)用于為所述主機提供數(shù)據(jù)存儲,所述服務器中存儲有所述至少一個NVM子系統(tǒng)中每個NVM子系統(tǒng)的參數(shù)信息和路由信息,所述主機包括: 處理單元,用于與所述服務器建立連接; 發(fā)送單元,用于向所述服務器發(fā)送請求消息; 接收單元,用于接收所述服務器根據(jù)所述請求信息發(fā)送的響應消息,所述響應消息包括所述至少一個NVM子系統(tǒng)中部分或全部NVM子系統(tǒng)的參數(shù)信息和路由信息; 確定單元,用于根據(jù)所述部分或全部NVM子系統(tǒng)的參數(shù)信息,確定滿足目標參數(shù)的目標NVM子系統(tǒng)以及所述目標NVM子系統(tǒng)的路由信息,所述目標參數(shù)為所述主機需要連接的NVM子系統(tǒng)的參數(shù); 所述處理單元還用于:根據(jù)所述目標NVM子系統(tǒng)的路由信息,與所述目標NVM子系統(tǒng)建立連接。10.根據(jù)權(quán)利要求9所述的主機,其特征在于,所述每個NVM子系統(tǒng)的參數(shù)信息至少包括:所述每個NVM子系統(tǒng)的總?cè)萘?、所述每個NVM子系統(tǒng)的可用容量、所述每個NVM子系統(tǒng)中至少一個命名空間Name s P a c e的信息、所述每個NVM子系統(tǒng)中至少一個NVM控制器的信息以及所述至少一個Namespace與所述至少一個NVM控制器之間的映射關(guān)系中的一種。
【文檔編號】G06F3/06GK105912275SQ201610268770
【公開日】2016年8月31日
【申請日】2016年4月27日
【發(fā)明人】邱鑫, 譚春毅
【申請人】華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1