一種數(shù)據(jù)訪問方法及PCIe存儲(chǔ)設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)存儲(chǔ)技術(shù)領(lǐng)域,具體涉及一種數(shù)據(jù)訪問方法及PCIe存儲(chǔ)設(shè)備。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)、云計(jì)算技術(shù)的快速發(fā)展,信息時(shí)代進(jìn)入一個(gè)大數(shù)據(jù)的時(shí)代,各行業(yè)各領(lǐng)域需要處理的數(shù)據(jù)越來越多。用戶對(duì)作為數(shù)據(jù)節(jié)點(diǎn)的存儲(chǔ)服務(wù)器,要求具備數(shù)據(jù)保護(hù)高可靠性和數(shù)據(jù)讀寫高可用性。
[0003]高速外圍組件互連(PCle,PeripheralComponent Interconnect Express)是一種總線和接口標(biāo)準(zhǔn),PCIe總線是一種點(diǎn)對(duì)點(diǎn)串行連接的設(shè)備連接方式,以點(diǎn)對(duì)點(diǎn)的方式處理通信,每個(gè)設(shè)備在要求傳輸數(shù)據(jù)的時(shí)候各自建立自己的傳輸通道,對(duì)于其他設(shè)備這個(gè)通道是封閉的,這樣的操作保證了通道的專有性,避免其他設(shè)備的干擾。PCIe總線最大的意義在于它的通用性,不僅可以讓它用于南橋和其他設(shè)備的連接,也可以延伸到芯片組間的連接,甚至也可以用于連接圖形芯片,這樣,整個(gè)輸入輸出(1/0,Input/Output)系統(tǒng)將重新統(tǒng)一起來,將更進(jìn)一步簡(jiǎn)化計(jì)算機(jī)系統(tǒng),增加計(jì)算機(jī)的可移植性和模塊化。
[0004]然而,作為PCIe產(chǎn)品之一的PCIe存儲(chǔ)卡,大多數(shù)現(xiàn)有的PCIe存儲(chǔ)卡要么只用于本地存儲(chǔ),要么只用于網(wǎng)絡(luò)存儲(chǔ),尚無法兼具本地存儲(chǔ)和云存儲(chǔ)的功能。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明期望提供一種數(shù)據(jù)訪問方法及PCIe存儲(chǔ)設(shè)備,能兼具訪問本地存儲(chǔ)和云存儲(chǔ)能力,解決本地存儲(chǔ)容量小的問題,簡(jiǎn)化主機(jī)操作系統(tǒng)管理兩種異構(gòu)存儲(chǔ)的操作。
[0006]為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0007]本發(fā)明提供了一種數(shù)據(jù)訪問方法,應(yīng)用于PCIe存儲(chǔ)設(shè)備,所述方法包括:
[0008]接收主機(jī)發(fā)送的NVMe協(xié)議數(shù)據(jù)讀寫請(qǐng)求;
[0009]根據(jù)所述數(shù)據(jù)讀寫請(qǐng)求計(jì)算欲訪問數(shù)據(jù)的物理存儲(chǔ)位置;
[0010]所述物理存儲(chǔ)位置包括通過網(wǎng)絡(luò)傳輸協(xié)議通信的多個(gè)PCIe存儲(chǔ)設(shè)備,基于網(wǎng)絡(luò)傳輸協(xié)議在所述多個(gè)PCIe存儲(chǔ)設(shè)備中獲取數(shù)據(jù)并將所述數(shù)據(jù)傳輸至所述主機(jī)。
[0011]上述方案中,優(yōu)選地,所述多個(gè)PCIe存儲(chǔ)設(shè)備能夠直接通信,共享統(tǒng)一的存儲(chǔ)資源。
[0012]上述方案中,優(yōu)選地,所述接收主機(jī)發(fā)送的數(shù)據(jù)讀寫請(qǐng)求之前,還包括:
[0013]將硬盤存儲(chǔ)空間在邏輯上映射為一個(gè)存儲(chǔ)設(shè)備,以使在主機(jī)操作系統(tǒng)上呈現(xiàn)統(tǒng)一的硬盤文件操作界面。
[0014]上述方案中,優(yōu)選地,所述基于網(wǎng)絡(luò)傳輸協(xié)議在所述多個(gè)PCIe存儲(chǔ)設(shè)備中獲取數(shù)據(jù)并將所述數(shù)據(jù)傳輸至所述主機(jī),包括:
[0015]當(dāng)所述欲訪問數(shù)據(jù)的物理存儲(chǔ)位置為云存儲(chǔ)服務(wù)器時(shí),
[0016]向云存儲(chǔ)服務(wù)器發(fā)送網(wǎng)絡(luò)存儲(chǔ)協(xié)議請(qǐng)求;
[0017]將所述云存儲(chǔ)服務(wù)器返回的數(shù)據(jù)傳輸至主機(jī)的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM,Dynamic Random Access Memory)中。
[0018]上述方案中,優(yōu)選地,所述向云存儲(chǔ)服務(wù)器發(fā)送網(wǎng)絡(luò)存儲(chǔ)協(xié)議請(qǐng)求,包括:
[0019]通過外部的網(wǎng)絡(luò)接口卡向云存儲(chǔ)服務(wù)器發(fā)送網(wǎng)絡(luò)存儲(chǔ)協(xié)議請(qǐng)求;
[0020]或者,通過集成于所述PCIe存儲(chǔ)設(shè)備內(nèi)的網(wǎng)絡(luò)接口卡向云存儲(chǔ)服務(wù)器發(fā)送網(wǎng)絡(luò)存儲(chǔ)協(xié)議請(qǐng)求;
[0021]相應(yīng)的,當(dāng)通過外部的網(wǎng)絡(luò)接口卡向云存儲(chǔ)服務(wù)器發(fā)送網(wǎng)絡(luò)存儲(chǔ)協(xié)議請(qǐng)求時(shí),將所述云存儲(chǔ)服務(wù)器返回的數(shù)據(jù)傳輸至主機(jī)的DRAM中,包括:配置網(wǎng)絡(luò)接口卡中的直接內(nèi)存訪問(DMA,Direct Memory Access)控制器將所述云存儲(chǔ)服務(wù)器返回的數(shù)據(jù)傳輸至主機(jī)的DRAM 中;
[0022]當(dāng)通過集成于所述PCIe存儲(chǔ)設(shè)備內(nèi)的網(wǎng)絡(luò)接口卡向云存儲(chǔ)服務(wù)器發(fā)送網(wǎng)絡(luò)存儲(chǔ)協(xié)議請(qǐng)求時(shí),將所述云存儲(chǔ)服務(wù)器返回的數(shù)據(jù)傳輸至主機(jī)的DRAM中,包括:配置PCIe存儲(chǔ)設(shè)備中的DMA控制器將所述云存儲(chǔ)服務(wù)器返回的數(shù)據(jù)傳輸至主機(jī)的DRAM中。
[0023]上述方案中,優(yōu)選地,所述基于網(wǎng)絡(luò)傳輸協(xié)議在所述多個(gè)PCIe存儲(chǔ)設(shè)備中獲取數(shù)據(jù)并將所述數(shù)據(jù)傳輸至所述主機(jī),還包括:
[0024]當(dāng)所述欲訪問數(shù)據(jù)存儲(chǔ)于私有云服務(wù)器的分布式緩存中時(shí),不訪問私有云服務(wù)器,通過基于點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳輸協(xié)議訪問安裝有PCIe存儲(chǔ)設(shè)備的其他主機(jī)上的存儲(chǔ)資源,以獲取欲訪問數(shù)據(jù)。
[0025]上述方案中,優(yōu)選地,所述基于網(wǎng)絡(luò)傳輸協(xié)議在所述多個(gè)PCIe存儲(chǔ)設(shè)備中獲取數(shù)據(jù)并將所述數(shù)據(jù)傳輸至所述主機(jī),還包括:
[0026]當(dāng)所述欲訪問數(shù)據(jù)的物理存儲(chǔ)位置為本地存儲(chǔ)器時(shí),
[0027]向所述主機(jī)發(fā)送基于PCIe的存儲(chǔ)協(xié)議數(shù)據(jù)命令響應(yīng);
[0028]將本地存儲(chǔ)器中的欲訪問數(shù)據(jù)傳輸至主機(jī)的DRAM中。
[0029]本發(fā)明還提供了一種PCIe存儲(chǔ)設(shè)備,所述PCIe存儲(chǔ)設(shè)備包括:
[0030]總線接口,用于接收主機(jī)發(fā)送的NVMe協(xié)議數(shù)據(jù)讀寫請(qǐng)求;
[0031]第一控制器,用于根據(jù)所述數(shù)據(jù)讀寫請(qǐng)求計(jì)算欲訪問數(shù)據(jù)的物理存儲(chǔ)位置;其中,所述物理存儲(chǔ)位置包括通過網(wǎng)絡(luò)傳輸協(xié)議通信的多個(gè)PCIe存儲(chǔ)設(shè)備;
[0032]第二控制器,用于基于網(wǎng)絡(luò)傳輸協(xié)議在所述多個(gè)PCIe存儲(chǔ)設(shè)備中獲取數(shù)據(jù)并將所述數(shù)據(jù)傳輸至所述主機(jī)。
[0033]上述方案中,優(yōu)選地,所述多個(gè)PCIe存儲(chǔ)設(shè)備能夠直接通信,共享統(tǒng)一的存儲(chǔ)資源。
[0034]上述方案中,優(yōu)選地,所述PCIe存儲(chǔ)設(shè)備還包括:
[0035]映射驅(qū)動(dòng)器,用于將硬盤存儲(chǔ)空間在邏輯上映射為一個(gè)存儲(chǔ)設(shè)備,以使在主機(jī)操作系統(tǒng)上提供統(tǒng)一的硬盤文件操作界面。
[0036]上述方案中,優(yōu)選地,所述第二控制器,包括:
[0037]網(wǎng)絡(luò)存儲(chǔ)控制器,用于當(dāng)所述欲訪問數(shù)據(jù)的物理存儲(chǔ)位置為云存儲(chǔ)服務(wù)器時(shí),向云存儲(chǔ)服務(wù)器發(fā)送網(wǎng)絡(luò)存儲(chǔ)協(xié)議請(qǐng)求;將所述云存儲(chǔ)服務(wù)器返回的數(shù)據(jù)傳輸至主機(jī)的DRAM 中。
[0038]上述方案中,優(yōu)選地,所述網(wǎng)絡(luò)存儲(chǔ)控制器,還用于:
[0039]通過外部的網(wǎng)絡(luò)接口卡向云存儲(chǔ)服務(wù)器發(fā)送網(wǎng)絡(luò)存儲(chǔ)協(xié)議請(qǐng)求;配置網(wǎng)絡(luò)接口卡中的DMA控制器將所述云存儲(chǔ)服務(wù)器返回的數(shù)據(jù)傳輸至主機(jī)的DRAM中;其中,所述網(wǎng)絡(luò)接口卡與所述PCIe存儲(chǔ)設(shè)備相連接;
[0040]或者,
[0041]通過集成于所述PCIe存儲(chǔ)設(shè)備內(nèi)的網(wǎng)絡(luò)接口卡向云存儲(chǔ)服務(wù)器發(fā)送網(wǎng)絡(luò)存儲(chǔ)協(xié)議請(qǐng)求;配置PCIe存儲(chǔ)設(shè)備中的DMA控制器將所述云存儲(chǔ)服務(wù)器返回的數(shù)據(jù)傳輸至主機(jī)的DRAM 中。
[0042]上述方案中,優(yōu)選地,所述網(wǎng)絡(luò)存儲(chǔ)控制器,還用于:
[0043]當(dāng)欲訪問數(shù)據(jù)存儲(chǔ)于私有云服務(wù)器的分布式緩存中時(shí),不訪問私有云服務(wù)器,通過基于點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳輸協(xié)議訪問安裝有PCIe存儲(chǔ)設(shè)備的其他主機(jī)上的存儲(chǔ)資源,以獲取欲訪問數(shù)據(jù)。
[0044]上述方案中,優(yōu)選地,所述第二控制器,還包括:
[0045]NVMe控制器,用于當(dāng)所述欲訪問數(shù)據(jù)的物理存儲(chǔ)位置為本地存儲(chǔ)器時(shí),向所述主機(jī)發(fā)送基于PCIe的存儲(chǔ)協(xié)議數(shù)據(jù)命令響應(yīng);將本地存儲(chǔ)器中的欲訪問數(shù)據(jù)傳輸至主機(jī)的DRAM 中。
[0046]本發(fā)明實(shí)施例提供的數(shù)據(jù)訪問方法及PCIe存儲(chǔ)設(shè)備,接收主機(jī)發(fā)送的數(shù)據(jù)讀寫請(qǐng)求;根據(jù)所述數(shù)據(jù)讀寫請(qǐng)求計(jì)算欲訪問數(shù)據(jù)的物理存儲(chǔ)位置;所述物理存儲(chǔ)位置包括通過網(wǎng)絡(luò)傳輸協(xié)議通信的多個(gè)PCIe存儲(chǔ)設(shè)備,基于網(wǎng)絡(luò)傳輸協(xié)議在所述多個(gè)PCIe存儲(chǔ)設(shè)備中獲取數(shù)據(jù)并將所述數(shù)據(jù)傳輸至所述主機(jī);如此,能兼具訪問本地存儲(chǔ)和云存儲(chǔ)能力,解決了 PCIe存儲(chǔ)設(shè)備本地存儲(chǔ)容量小的問題,簡(jiǎn)化了主機(jī)操作系統(tǒng)管理兩種異構(gòu)存儲(chǔ)的操作。
【附圖說明】
[0047]圖1為本發(fā)明實(shí)施例提供的數(shù)據(jù)訪問方法的實(shí)現(xiàn)流程示意圖一;
[0048]圖2為本發(fā)明實(shí)施例提供的數(shù)據(jù)訪問方法的實(shí)現(xiàn)流程示意圖二 ;
[0049]圖3為本發(fā)明實(shí)施例提供的數(shù)據(jù)訪問方法的實(shí)現(xiàn)流程示意圖三;
[0050]圖4為本發(fā)明實(shí)施例提供的信息處理方法的實(shí)現(xiàn)流程示意圖四;
[0051]圖5為本發(fā)明實(shí)施例提供的PCIe存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖一;
[0052]圖6為本發(fā)明實(shí)施例提供的PCIe存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖二 ;
[0053]圖7為本發(fā)明實(shí)施例提供的PCIe存儲(chǔ)設(shè)備的硬件實(shí)現(xiàn)示意圖一;
[0054]圖8為本發(fā)明實(shí)施例提供的PCIe存儲(chǔ)設(shè)備的硬件實(shí)現(xiàn)示意圖二。
【具體實(shí)施方式】
[0055]為了能夠更加詳盡地了解本發(fā)明的特點(diǎn)與技術(shù)內(nèi)容,下面結(jié)合附圖對(duì)本發(fā)明的實(shí)現(xiàn)進(jìn)行詳細(xì)闡述,所附附圖僅供參考說明之用,并非用來限定本發(fā)明。
[0056]實(shí)施例一
[0057]圖1為本發(fā)明實(shí)施例提供的數(shù)據(jù)訪問方法的實(shí)現(xiàn)流程示意圖一,應(yīng)用于PCIe存儲(chǔ)設(shè)備,在本發(fā)明一個(gè)優(yōu)選實(shí)施例中,所述數(shù)據(jù)訪問方法主要包括以下步驟:
[0058]步驟101:接收主機(jī)發(fā)送的數(shù)據(jù)讀寫請(qǐng)求。
[0059]優(yōu)選地,接收主機(jī)發(fā)送的NVMe協(xié)議數(shù)據(jù)讀寫請(qǐng)求。
[0060]本實(shí)施例中,所述多個(gè)PCIe存儲(chǔ)設(shè)備能夠