亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于云服務器的基于fpga的數(shù)據(jù)存儲方法和系統(tǒng)的制作方法

文檔序號:8285379閱讀:429來源:國知局
用于云服務器的基于fpga的數(shù)據(jù)存儲方法和系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及云服務器領域,具體來說,涉及一種用于云服務器的基于現(xiàn)場可編程門陣列(FPGA)的數(shù)據(jù)存儲方法和裝置。
【背景技術】
[0002]目前,隨著云服務器的應用越來越廣泛,人們對云服務器的不同需求也在日益增加,例如低成本、可配置、結構簡單等,而為了滿足這些需求,主要是通過將虛擬化技術應用到云計算當中,從而實現(xiàn)云服務器的桌面虛擬化,網(wǎng)絡虛擬化以及存儲虛擬化等虛擬化功能,而對于存儲虛擬化來說,其具體的應用原理是通過將云計算服務器的存儲模塊進行虛擬化處理,從而使得在對云計算服務器的存儲空間進行訪問時,能夠根據(jù)需求集中訪問存儲設備,進而使云服務器的結構更加簡單,降低系統(tǒng)功耗。
[0003]而為了實現(xiàn)云計算服務器的存儲模塊的虛擬化,在現(xiàn)有技術中,主要是通過軟件的方式將服務器的存儲空間進行邏輯的分隔,從而組成不同的邏輯存儲空間,其中,通過一個邏輯存儲實體來代表底層復雜的物理驅動器,從而在一定程度上屏蔽單個存儲設備的容量、速度等物理特性,以實現(xiàn)云服務器的存儲虛擬化,但是這種軟件方式的存儲虛擬化方法只能使單個處理器來共享同一實體的存儲空間,而并不能夠通過硬件的方式在實現(xiàn)多個處理器共享同一實體存儲空間的同時又實現(xiàn)服務器的存儲空間的虛擬化擴展。
[0004]針對相關技術中的上述問題,目前尚未提出有效的解決方案。

【發(fā)明內容】

[0005]針對相關技術中的問題,本發(fā)明提出一種用于云服務器的基于FPGA的數(shù)據(jù)存儲方法和裝置,能夠通過硬件方式實現(xiàn)多顆處理器共享同一實體存儲空間,實現(xiàn)多顆處理器共享同一存儲空間的虛擬存儲,使云服務器結構更加精簡,降低系統(tǒng)功耗。
[0006]本發(fā)明的技術方案是這樣實現(xiàn)的:
[0007]根據(jù)本發(fā)明的一個方面,提供了一種用于云服務器的基于FPGA的數(shù)據(jù)存儲方法。
[0008]該數(shù)據(jù)存儲方法包括:
[0009]通過對處理器發(fā)送的第一指令進行分析,確定第一指令所對應的目標硬盤;
[0010]生成表示處理器與目標硬盤建立第一連接的第一連接請求指令并發(fā)送;
[0011]在接收到表示第一連接請求指令執(zhí)行成功的第一連接成功指令的情況下,將第一指令轉發(fā)至目標硬盤。
[0012]其中,在通過對處理器發(fā)送的第一指令進行分析,來確定第一指令所對應的目標硬盤時,可通過獲取第一指令中對應于本地虛擬磁盤的第一地址信息;并根據(jù)預定的映射規(guī)則對第一地址信息作地址映射處理,從而得到第一地址信息在目標硬盤中所對應的第二地址信息和/或第一指令所對應的目標硬盤。
[0013]此外,在將處理器發(fā)送的第一指令轉發(fā)至目標硬盤時,可通過該第一連接將第一指令轉發(fā)至目標硬盤。
[0014]優(yōu)選的,該數(shù)據(jù)存儲方法進一步包括:
[0015]在將第一指令轉發(fā)至目標硬盤完成后,生成表示處理器與目標硬盤斷開第一連接的第一斷開請求指令并發(fā)送。
[0016]優(yōu)選的,該數(shù)據(jù)存儲方法進一步包括:
[0017]在接收到來自硬盤的表示與目標處理器建立第二連接的第二連接請求指令、且第二連接請求指令執(zhí)行成功的情況下,發(fā)送表示第二連接請求指令執(zhí)行成功的第二連接成功指令至硬盤。
[0018]優(yōu)選的,該數(shù)據(jù)存儲方法進一步包括:
[0019]通過第二連接來接收來自硬盤的第二指令;
[0020]通過對第二指令進行分析,確定第二指令中對應于硬盤的第三地址信息;
[0021]根據(jù)預定的反映射規(guī)則對第三地址信息作地址反映射處理,從而得到第三地址信息在對應目標處理器的本地虛擬磁盤中的第四地址信息并發(fā)送。
[0022]優(yōu)選的,該數(shù)據(jù)存儲方法進一步包括:
[0023]在對第二指令接收完成后,生成表示目標處理器與硬盤斷開第二連接的第二斷開請求指令并發(fā)送。
[0024]根據(jù)本發(fā)明的另一方面,提供了一種用于云服務器的基于FPGA的數(shù)據(jù)存儲系統(tǒng)。
[0025]該數(shù)據(jù)存儲系統(tǒng)包括:
[0026]多個FPGA 板;
[0027]其中,每個FPGA板中包括多個處理器控制單元和一存儲控制器,其中,存儲控制器與多個處理器控制單元分別連接;
[0028]每個FPGA板均連接有多個處理器,其中,多個處理器與該FPGA板中的多個處理器控制單元分別--對應連接。
[0029]其中,存儲控制器用于接收和/或響應所在的FPGA板所連接的處理器發(fā)送的指令、以及進一步用于向與該處理器存在映射關系的硬盤發(fā)送指令和/或接收與該處理器存在映射關系的硬盤所發(fā)送的指令。
[0030]其中,多個FPGA板所連接的多個處理器與硬盤的映射關系包括以下至少之一:
[0031]一個處理器對應多個硬盤;
[0032]一個處理器對應一個硬盤;
[0033]多個處理器對應一個硬盤。
[0034]本發(fā)明通過硬件方式實現(xiàn)多顆處理器共享同一實體存儲空間,實現(xiàn)多顆處理器共享同一存儲空間的虛擬存儲,使云服務器結構更加精簡,降低系統(tǒng)功耗。
【附圖說明】
[0035]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0036]圖1是根據(jù)本發(fā)明實施例的用于云服務器的基于FPGA的數(shù)據(jù)存儲方法的流程圖;
[0037]圖2是根據(jù)本發(fā)明實施例的用于云服務器的基于FPGA的數(shù)據(jù)存儲系統(tǒng)的框架圖。
【具體實施方式】
[0038]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0039]根據(jù)本發(fā)明的實施例,提供了一種用于云服務器的基于FPGA的數(shù)據(jù)存儲方法。
[0040]如圖1所示,根據(jù)本發(fā)明實施例的數(shù)據(jù)存儲方法包括:
[0041]步驟S101,通過對處理器發(fā)送的第一指令進行分析,確定第一指令所對應的目標硬盤;
[0042]步驟S103,生成表示處理器與目標硬盤建立第一連接的第一連接請求指令并發(fā)送;
[0043]步驟S105,在接收到表示第一連接請求指令執(zhí)行成功的第一連接成功指令的情況下,存儲控制器將第一指令轉發(fā)至目標硬盤。
[0044]為了更好的理解本發(fā)明的上述技術方案,下面結合一具體實施例來對本發(fā)明的上述技術方案進行詳細闡述。
[0045]圖2示出了本實施例中的用于云服務器的基于FPGA的數(shù)據(jù)存儲系統(tǒng)的架構圖,從圖2可以看出,為了實現(xiàn)對云服務器中的多個處理器的存儲空間虛擬化,根據(jù)本發(fā)明實施例的數(shù)據(jù)存儲系統(tǒng)由多個FPGA板(FPGA0?FPGA0)構成,其中,每個FPGA板中設有多個處理器控制器(這里為8個)和一個存儲控制器,其中,該存儲控制器與該FPGA板中的8個處理器控制器分別連接;
[0046]此外,每個FPGA板還均連接有多個處理器,具體的連接方式是通過FPGA板中的處理器控制器來實現(xiàn)處理器的連接,其中,每個FPGA板中設置的處理器控制器的數(shù)量和外連的處理器的數(shù)量是相同的,并且,一個FPGA板中的8個處理器控制器與該FPGA板外接的8個處理器與是一一對應連接的,其中,處理器與處理器控制器之間可通過SATA協(xié)議通信,而為了使本發(fā)明的數(shù)據(jù)存儲系統(tǒng)實現(xiàn)數(shù)據(jù)的存儲,還需要使每個FPGA板均可與外接的硬盤通信,具體的,在本實施例中在FPGA板和多個物理硬盤之間建立了一個SAS Expander,該SAS Expander可插入多塊物理硬盤,同時其還有一個外設接口分出多條線來分別與不同的FPGA板中的存儲控制器連接,可以理解為SAS Expander是對云服務器的多個處理器實現(xiàn)存儲虛擬化的橋梁,其中,為了方便理解,在本例中將PFGA板和多個對應的處理器側叫做控制端,而多個硬盤(硬盤O?硬盤η)側叫做設備端,那么SAS Expander則是用于建立控制端和設備端的通信連接,從而實現(xiàn)云服務器中多個處理器的數(shù)據(jù)存儲,其中,在控制端的處理器控制器與設備端的硬盤建立連接之前,系統(tǒng)會根據(jù)處理器的需求將一個或多個硬盤按照預定的地址映射規(guī)則分配給多個處理器,而分配后的結果可以是一個處理器對應一個硬盤,也可以是一個處理器對應多個硬盤,還可以是多個處理器對應多個硬盤,具體分配方式可以根據(jù)處理器的實際需要進行靈活調整。
[0047]而在基于圖2所示的系統(tǒng)架構來對控制端的數(shù)據(jù)進行數(shù)據(jù)的虛擬化存儲時,具體的存儲流程以一條指令由處理器00發(fā)往硬盤I為例來進行詳細闡述:
[0048]處理器00發(fā)送指令至FPGA板O中對應該處理器00的處理器控制器00,然后該處理器控制器00對處理器00發(fā)送的指令進行分析,具體的,通過讀取該指令中的地址信息部分并記錄(即對應于本地虛擬磁盤的第一地址信息),然后根據(jù)預定的地址映射規(guī)則對讀取的地址信息作地址映射處理,從而得到該地址信息在目標硬盤I中所對應的第二地址信息(即在硬盤中的物理存儲地址),和設備端的目標硬盤I的SAS地址(相當于硬盤I的唯一標識信息),即該指令所對應的目標硬盤為硬盤1,為了方便理解,下面舉一具體的例子,例如系統(tǒng)預先對處理器00分配的存儲空間為100GB,其中O?50GB由硬盤O提供,51?100GB由硬盤I提供,而由于是虛擬存儲,因此,在控制端側只可看到O?100G在本地虛擬磁盤中的對應地址信息(即第一地址信息),那么假如該指令的目的是訪問第70GB的信息,那么系統(tǒng)根據(jù)預定的地址映射規(guī)則就可確定處理器00所要訪問的是物理磁盤I的第20GB的存儲地址(即第二地址信息),從而在控制端的處理器側無需確定所要訪問的存儲地址在物理硬盤中的實際地址,而只需將需要訪問的本地虛擬磁盤中的地址信息加載在指令中發(fā)送至處理器控制器00即可,從而屏蔽了底層硬盤的驅動器的復雜性以及存儲系統(tǒng)后端拓撲結構的多樣性。
[0049]然后在確定了硬盤I的SAS地址后就可生成Open Address幀(即表不處理器00與硬盤I建立連接的請求指令),然后將該Open Address幀發(fā)送至FPGA板O中與各個處理器控制器相連的存儲控制器0,存儲控制器O就可將該Open Address幀通過SAS協(xié)議發(fā)送至SAS Expander,以請求建立存儲控制器O與硬盤I的連接;SAS Expander在接收到該Open Address幀后,就會建立存儲控制器O和硬盤I的連接,即處理器00和硬盤I的連接;
[0050]然后在該連接建立成功后,SAS Expander就會
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1