本公開涉及向計(jì)算設(shè)備提供虛擬化本地存儲(chǔ)裝置。
背景技術(shù):
服務(wù)器(例如,機(jī)架安裝的刀片式服務(wù)器)通常具有處理器、存儲(chǔ)器、本地存儲(chǔ)裝置、以及板上網(wǎng)絡(luò)接口。本地存儲(chǔ)磁盤可以是服務(wù)器的物理足跡的重要部分,特別是在獨(dú)立磁盤冗余陣列(raid)設(shè)備需要多個(gè)磁盤的情況下。網(wǎng)絡(luò)連接存儲(chǔ)裝置很昂貴,這增大了每個(gè)服務(wù)器的成本并且復(fù)雜化了服務(wù)器管理員進(jìn)行的配置。
附圖說明
圖1是根據(jù)示例實(shí)施例的被配置為向多個(gè)主機(jī)提供對(duì)于數(shù)據(jù)存儲(chǔ)裝置的虛擬化本地訪問的系統(tǒng)的框圖。
圖2是根據(jù)示例實(shí)施例的被配置為向多個(gè)服務(wù)器提供對(duì)于數(shù)據(jù)存儲(chǔ)裝置的本地訪問的適配器的框圖。
圖3是根據(jù)示例實(shí)施例的共享的虛擬化本地存儲(chǔ)系統(tǒng)的簡(jiǎn)化框圖。
圖4是根據(jù)示例實(shí)施例的共享的虛擬化本地存儲(chǔ)系統(tǒng)中的各種數(shù)據(jù)隊(duì)列的簡(jiǎn)化框圖。
圖5是根據(jù)示例實(shí)施例的輸入/輸出(i/o)請(qǐng)求通過適配器從主機(jī)傳遞至存儲(chǔ)裝置控制器的框圖。
圖6是根據(jù)示例實(shí)施例的描繪適配器向主機(jī)提供虛擬化本地存儲(chǔ)裝置的操作的流程圖。
具體實(shí)施方式
綜述
本文提出了用于嵌入式處理器的使用虛擬存儲(chǔ)裝置控制器處理來自主機(jī)的i/o請(qǐng)求的裝置和方法。嵌入式處理器將第一虛擬存儲(chǔ)裝置控制器與第一主機(jī)相關(guān)聯(lián)。第一虛擬存儲(chǔ)裝置控制器使用第一傳輸協(xié)議。嵌入式處理器使用第一網(wǎng)絡(luò)傳輸協(xié)議從第一虛擬存儲(chǔ)裝置控制器接收去往存儲(chǔ)設(shè)備的第一i/o請(qǐng)求。嵌入式處理器確定存儲(chǔ)設(shè)備所使用的第二傳輸協(xié)議,并且將第一i/o請(qǐng)求從根據(jù)第一傳輸協(xié)議的格式轉(zhuǎn)換成根據(jù)第二傳輸協(xié)議的格式。嵌入式處理器使用第二傳輸協(xié)議將第一i/o請(qǐng)求傳送至存儲(chǔ)設(shè)備。
示例實(shí)施例
本文提出的示例提出在服務(wù)器和共享的虛擬化存儲(chǔ)系統(tǒng)之間設(shè)置接口。在具體示例中,虛擬接口卡(vic)被用于在pcie總線上將虛擬的外圍組件快速互連(pcie)小型計(jì)算機(jī)系統(tǒng)接口(scsi)存儲(chǔ)裝置控制器提供給服務(wù)器。vic固件使用針對(duì)scsi設(shè)備的標(biāo)準(zhǔn)輸入/輸出(i/o)機(jī)制與服務(wù)器操作系統(tǒng)進(jìn)行交互。發(fā)布至虛擬scsi控制器的i/o請(qǐng)求被引導(dǎo)至共享驅(qū)動(dòng)的為服務(wù)器保留的部分。
虛擬pcie存儲(chǔ)裝置控制器可以同時(shí)存在于多個(gè)服務(wù)器的pcie總線上。每個(gè)服務(wù)器將一個(gè)或多個(gè)共享驅(qū)動(dòng)的為該服務(wù)器保留的部分視作它自己的專用本地驅(qū)動(dòng),并且相應(yīng)地發(fā)布i/o請(qǐng)求。i/o請(qǐng)求由vic固件管理,并且當(dāng)物理i/o完成時(shí)i/o完成被遞送至發(fā)布服務(wù)器。在下文中,術(shù)語“服務(wù)器”和“主機(jī)”可以被可交換地用于描述匿名計(jì)算節(jié)點(diǎn),該匿名計(jì)算節(jié)點(diǎn)具有可能不維持持續(xù)狀態(tài)的處理器和存儲(chǔ)器。缺乏持續(xù)狀態(tài)允許針對(duì)故障進(jìn)行簡(jiǎn)單替換或者隨著處理器技術(shù)的改進(jìn)進(jìn)行升級(jí)。
參考圖1,系統(tǒng)100被示出為包括通過vic110與多個(gè)存儲(chǔ)設(shè)備通信的多個(gè)主機(jī)。vic110包括一個(gè)或多個(gè)嵌入式中央處理單元(ecpu),以通過發(fā)送和接收來自主機(jī)120、130、140、和150的i/o請(qǐng)求來處理ecpu固件112。一個(gè)ecpu可以被指定作為管理cpu(mcpu)來處理mcpu固件114,mcpu固件114包括使得vic110能夠與一個(gè)或多個(gè)不同類型的存儲(chǔ)設(shè)備通信的一個(gè)或多個(gè)存儲(chǔ)裝置驅(qū)動(dòng)器116。主機(jī)120上的操作系統(tǒng)包括文件系統(tǒng)122、scsi層124、和scsi虛擬網(wǎng)絡(luò)接口卡(vnic)126。主機(jī)120與具有邏輯單元號(hào)(lun)的存儲(chǔ)設(shè)備128通信,該存儲(chǔ)設(shè)備128作為通過scsivnic126訪問的本地存儲(chǔ)裝置。類似地,主機(jī)130、140、和150包括文件系統(tǒng)132、142、和152、scsi層134、144、和154、以及scsivnic136、146、和156,以分別與存儲(chǔ)設(shè)備138、148、和158通信。在下文中,術(shù)語scsivnic和snic被可交換地用于指代主機(jī)用來將i/o請(qǐng)求定向到一個(gè)或多個(gè)存儲(chǔ)設(shè)備的接口。
存儲(chǔ)裝置控制器160控制存儲(chǔ)裝置驅(qū)動(dòng)162和164,并且通過存儲(chǔ)裝置驅(qū)動(dòng)器116來向vic110提供對(duì)于存儲(chǔ)裝置的訪問。類似地,存儲(chǔ)裝置控制器170控制驅(qū)動(dòng)172和174。在一個(gè)示例中,驅(qū)動(dòng)162、164、172、和/或174中的一個(gè)或多個(gè)可以是由存儲(chǔ)裝置控制器160和/或存儲(chǔ)裝置控制器170定義的虛擬驅(qū)動(dòng)。在另一示例中,存儲(chǔ)裝置驅(qū)動(dòng)可以包括獨(dú)立磁盤冗余陣列(raid)設(shè)備。在又一示例中,存儲(chǔ)裝置控制器160以及驅(qū)動(dòng)162和164可以形成以下系統(tǒng)中的一個(gè)系統(tǒng):網(wǎng)絡(luò)連接存儲(chǔ)(nas)系統(tǒng)、直接連接存儲(chǔ)(das)系統(tǒng)、光纖通道(fc)存儲(chǔ)區(qū)域網(wǎng)(san)、互聯(lián)網(wǎng)scsi(iscsi)san、或串行連接scsi(sas)系統(tǒng)。
圖1示出了具有一定數(shù)量的組件(例如,4個(gè)主機(jī)、2個(gè)存儲(chǔ)裝置控制器等)的系統(tǒng)100,但其他示例可以包括更多或更少的主機(jī)、存儲(chǔ)裝置控制器、存儲(chǔ)裝置驅(qū)動(dòng)或邏輯驅(qū)動(dòng)。此外,ecpu固件112可以在多個(gè)ecpu單元上同時(shí)運(yùn)行。在一個(gè)示例中,每個(gè)主機(jī)被分配給運(yùn)行ecpu固件112的特定ecpu單元,以使得該主機(jī)能夠訪問其相應(yīng)的存儲(chǔ)裝置驅(qū)動(dòng)。
現(xiàn)在參考圖2,簡(jiǎn)化框圖示出了根據(jù)一個(gè)示例實(shí)施例的用于實(shí)現(xiàn)系統(tǒng)100的組件。主機(jī)120、130、140、和150被耦合至vic110,vic110除了其他可能的組件以外包括用于處理與使得服務(wù)器能夠訪問共享的虛擬化本地存儲(chǔ)裝置相關(guān)的指令的一個(gè)或多個(gè)處理器220、以及用于存儲(chǔ)各種數(shù)據(jù)和軟件指令(例如,ecpu固件112、mcpu固件114等)的存儲(chǔ)器230。pcie根端口橋(rootportbridge)240將流量從處理器總線橋接至pcie總線。在一個(gè)示例中,pcie根端口橋240包括使得vic110能夠與存儲(chǔ)裝置控制器160通信以訪問一個(gè)或多個(gè)磁盤驅(qū)動(dòng)250的根復(fù)合體(rc)240。vic110還包括網(wǎng)絡(luò)接口單元260,以使能針對(duì)所有主機(jī)120、130、140、和150的網(wǎng)絡(luò)通信。
存儲(chǔ)器230可以包括只讀存儲(chǔ)器(rom)、隨機(jī)訪問存儲(chǔ)器(ram)、磁盤存儲(chǔ)介質(zhì)設(shè)備、光存儲(chǔ)介質(zhì)設(shè)備、閃速存儲(chǔ)設(shè)備、電的、光的、或其他物理的或有形的(例如,非暫態(tài))存儲(chǔ)器存儲(chǔ)設(shè)備。處理器220例如是執(zhí)行用于實(shí)現(xiàn)本文所描述的處理的指令的微處理器或微控制器。因此,存儲(chǔ)器230通??梢园ɡ密浖幋a的一個(gè)或多個(gè)有形(非暫態(tài))計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(例如,存儲(chǔ)器設(shè)備),該軟件包括計(jì)算機(jī)可執(zhí)行指令并且當(dāng)軟件(由處理器220)執(zhí)行時(shí),可操作來執(zhí)行本文所描述的操作。
現(xiàn)在參考圖3,示出了通過特定的ecpu單元連接主機(jī)和存儲(chǔ)裝置控制器的簡(jiǎn)化框圖。vic110包括mcpu310、和ecpu312、314、316、和318,這些ecpu分別被配置為處理來自主機(jī)320、330、340、和350的i/o請(qǐng)求。在一個(gè)示例中,主機(jī)和ecpu單元之間存在一對(duì)一的對(duì)應(yīng)關(guān)系,但在其他示例中,可以將不止一個(gè)主機(jī)分配給ecpu單元。每個(gè)主機(jī)通過snic與vic通信,snic允許主機(jī)使用共同的scsi驅(qū)動(dòng)器來發(fā)布i/o請(qǐng)求。每個(gè)ecpu和mcpu可以將消息幀地址提交至存儲(chǔ)裝置控制器160的請(qǐng)求隊(duì)列,以向前傳遞來自主機(jī)的i/o請(qǐng)求。
在一個(gè)示例中,所有snic被綁定至運(yùn)行存儲(chǔ)裝置驅(qū)動(dòng)器的mcpu。這種選擇可以被用于改善(bringup)snic主機(jī)驅(qū)動(dòng)器和/或了解性能問題。在這個(gè)示例中,主機(jī)通過請(qǐng)求來自mcpu的解析來請(qǐng)求i/o操作,mcpu準(zhǔn)備針對(duì)內(nèi)核異步i/o的scsi請(qǐng)求。mcpu設(shè)置直接存儲(chǔ)器訪問(dma)至主機(jī)i/o緩沖器(例如,分散收集元件(scattergatherelement)(sge))的映射,并且執(zhí)行異步i/o接口。i/o操作完成路徑包括完成解析、解析主機(jī)響應(yīng)、對(duì)主機(jī)dma緩沖器進(jìn)行去映射(unmapping)、以及將該完成提交至主機(jī)。
在另一示例中,snic跨所有ecpu分布,并且每個(gè)ecpu可以將請(qǐng)求提交至存儲(chǔ)裝置控制器隊(duì)列。在這個(gè)示例中,針對(duì)存儲(chǔ)裝置控制器隊(duì)列的消息幀空間可以在提交i/o請(qǐng)求的ecpu之間等分。存儲(chǔ)裝置控制器160可以支持多個(gè)響應(yīng)隊(duì)列,并且響應(yīng)隊(duì)列可以基于逐個(gè)i/o被指定。針對(duì)每個(gè)ecpu的i/o請(qǐng)求路徑包括接收來自請(qǐng)求解析的主機(jī)snic的請(qǐng)求、準(zhǔn)備存儲(chǔ)裝置控制器消息幀、以及將消息幀地址提交至存儲(chǔ)裝置控制器請(qǐng)求隊(duì)列。在另一示例中,ecpu可能不能直接向存儲(chǔ)裝置控制器隊(duì)列提交,并且要求mcpu將消息幀地址提交至針對(duì)ecpu的存儲(chǔ)裝置控制器隊(duì)列。存儲(chǔ)裝置控制器在完成i/o請(qǐng)求時(shí)向mcpu發(fā)送中斷,該中斷根據(jù)消息信號(hào)中斷(msi)矢量被轉(zhuǎn)發(fā)至適當(dāng)?shù)膃cpu。這可以避免mcpu被迫調(diào)用中斷服務(wù)例程(isr)來處理針對(duì)i/o完成的所有中斷。針對(duì)每個(gè)ecpu的i/o完成路徑包括處理針對(duì)i/o完成的中斷、完成解析、準(zhǔn)備主機(jī)響應(yīng)、以及將i/o完成提交至主機(jī)。
現(xiàn)在參考圖4,示出了i/o請(qǐng)求中所涉及的隊(duì)列的框圖。16個(gè)主機(jī)(h0-h15)中的每個(gè)主機(jī)具有寫隊(duì)列(wq)410-425中的一個(gè)寫隊(duì)列,用在來自該主機(jī)/snic的i/o請(qǐng)求中。存在與每個(gè)snic相關(guān)聯(lián)的一個(gè)wq,并且針對(duì)每個(gè)主機(jī)有一個(gè)snic。來自wq410、414、418、和422的i/o請(qǐng)求被發(fā)送至ecpu312,在ecpu312處這些i/o請(qǐng)求被分別存儲(chǔ)在請(qǐng)求隊(duì)列(rq)430、431、432、和433中。來自wq411、415、419、和423的i/o請(qǐng)求被發(fā)送至ecpu314,在ecpu314處這些i/o請(qǐng)求被分別存儲(chǔ)在請(qǐng)求隊(duì)列(rq)434、435、436、和437中。來自wq412、416、420、和424的i/o請(qǐng)求被發(fā)送至ecpu316,在ecpu316處這些i/o請(qǐng)求被分別存儲(chǔ)在請(qǐng)求隊(duì)列(rq)438、439、440、和441中。來自wq413、417、421、和425的i/o請(qǐng)求被發(fā)送至ecpu318,在ecpu318處這些i/o請(qǐng)求被分別存儲(chǔ)在請(qǐng)求隊(duì)列(rq)442、443、444、和445中。在另一示例中,每個(gè)ecpu只維護(hù)用于處理來自多個(gè)snic的i/o請(qǐng)求的單個(gè)rq。在這種情況下,ecpu將使用針對(duì)每個(gè)snic的唯一標(biāo)識(shí)符,從而使得在i/o操作完成時(shí),ecpu能夠識(shí)別i/o完成應(yīng)該被提交至的主機(jī)cq。
每個(gè)ecpu能夠?qū)/o請(qǐng)求提交至組合存儲(chǔ)裝置控制器rq450。在一個(gè)示例中,存儲(chǔ)裝置rq450的地址空間在四個(gè)ecpu312、314、316、和318之間等分。在存儲(chǔ)裝置控制器完成了i/o請(qǐng)求后,它將已完成的i/o結(jié)果輸入到屬于輸入i/o請(qǐng)求的ecpu的完成隊(duì)列(cq)460、462、464、或466中。然后,ecpu將已完成的i/o請(qǐng)求返回至主機(jī)cq(未示出)中的適當(dāng)?shù)闹鳈C(jī)。
在一個(gè)示例中,存儲(chǔ)裝置控制器支持最多1024個(gè)請(qǐng)求消息幀(mf)。1024個(gè)mf將在4個(gè)ecpu之間等分。mf可以被無序提交,然而存儲(chǔ)裝置控制器可以要求針對(duì)所有1024個(gè)mf的存儲(chǔ)器在物理上是連續(xù)的。當(dāng)初始化ecpu時(shí),mcpu可以分配連續(xù)的存儲(chǔ)器塊,并且將區(qū)塊(chunk)分發(fā)至所有四個(gè)ecpu。這使得ecpu能夠在沒有mcpu介入的情況下提交i/o請(qǐng)求。存儲(chǔ)裝置控制器完成i/o請(qǐng)求之后的完成中斷還被分發(fā)給提交i/o請(qǐng)求的相應(yīng)ecpu。ecpu可以使用原子多字寫入事務(wù)(atomicmulti-wordwritetransaction)直接將i/o請(qǐng)求提交至存儲(chǔ)裝置rq450。因?yàn)檫@些操作是原子操作,所以ecpu之間不需要同步。
現(xiàn)在參考圖5,示出了單個(gè)i/o請(qǐng)求的框圖。wq410中的i/o請(qǐng)求510包括頭部512、任何需要的標(biāo)記514、指令描述塊(cdb)516、以及分散收集列表(sgl)518。在進(jìn)入ecpurq430時(shí),i/o請(qǐng)求510由分類器/重寫引擎/網(wǎng)絡(luò)塊520進(jìn)行處理,以變成i/o請(qǐng)求530。i/o請(qǐng)求530包括頭部532、任何需要的標(biāo)記534、cdb536、和具有嵌入在分散收集元素(sge)中的主機(jī)標(biāo)識(shí)符的sgl538。在將i/o請(qǐng)求提交至存儲(chǔ)裝置rq450時(shí),ecpu按照針對(duì)適當(dāng)snic/主機(jī)的lun掩碼信息來添加lun標(biāo)識(shí)符540。當(dāng)i/o請(qǐng)求完成時(shí),存儲(chǔ)裝置控制器160將結(jié)果返回至ecpu中的cq460,并且ecpu將i/o完成引導(dǎo)向適當(dāng)?shù)闹鳈C(jī)。
在一個(gè)示例中,由重寫引擎520執(zhí)行的i/o請(qǐng)求轉(zhuǎn)換步驟修改sgl中的主機(jī)地址的最后四位以具有主機(jī)標(biāo)識(shí)符。這允許去往/來自主機(jī)存儲(chǔ)器的直接存儲(chǔ)器訪問(dma)。此外,i/o請(qǐng)求轉(zhuǎn)換步驟還可以緩沖針對(duì)感測(cè)數(shù)據(jù)的地址,從而使得存儲(chǔ)裝置控制器可以在沒有ecpu介入的情況下針對(duì)感測(cè)數(shù)據(jù)對(duì)主機(jī)存儲(chǔ)器執(zhí)行dma操作。另外,i/o請(qǐng)求轉(zhuǎn)換步驟可以按照針對(duì)給定snic的lun掩碼信息來修改lun標(biāo)識(shí)符。在一個(gè)示例中,i/o請(qǐng)求轉(zhuǎn)換步驟由ecpu上的軟件模塊執(zhí)行。在另一示例中,定制硬件塊可以被用于執(zhí)行i/o請(qǐng)求轉(zhuǎn)換步驟。
在另一示例中,ecpu可以包括嵌入在sgl538中的預(yù)定數(shù)目的sge,并且任何另外的sge進(jìn)入與存儲(chǔ)裝置rq450分離的擴(kuò)展sgl緩沖陣列。
現(xiàn)在參考圖6,示出了ecpu在處理i/o請(qǐng)求時(shí)所執(zhí)行的操作的示例過程600。在步驟610中,ecpu將snic與主機(jī)相關(guān)聯(lián),該主機(jī)將使用第一傳輸協(xié)議。在步驟620中,ecpu使用snic從主機(jī)接收去往存儲(chǔ)設(shè)備的i/o請(qǐng)求。在步驟630中,ecpu確定存儲(chǔ)設(shè)備所使用的第二傳輸協(xié)議。ecpu在步驟640中將i/o請(qǐng)求轉(zhuǎn)換至第二傳輸協(xié)議,并且在步驟650中使用第二傳輸協(xié)議將i/o請(qǐng)求傳送至存儲(chǔ)設(shè)備。
概括來說,本文提出的技術(shù)提供了通過虛擬scsi控制器將共享的本地存儲(chǔ)裝置提供給多個(gè)服務(wù)器中的每個(gè)服務(wù)器。共享存儲(chǔ)裝置的部分對(duì)于每個(gè)服務(wù)器來說可以看作直接連接至該服務(wù)器的專用本地驅(qū)動(dòng)。服務(wù)器使用已知的scsi直接連接存儲(chǔ)方法來管理存儲(chǔ)裝置。各服務(wù)器的成本與傳統(tǒng)的本地存儲(chǔ)裝置控制器選擇相比大幅降低,同時(shí)還保留了本地存儲(chǔ)裝置驅(qū)動(dòng)的許多優(yōu)點(diǎn)。此外,這允許服務(wù)器使用復(fù)雜和/或昂貴的存儲(chǔ)系統(tǒng)(例如,固態(tài)驅(qū)動(dòng)、raid設(shè)備),從而減少了各服務(wù)器的存儲(chǔ)需求。服務(wù)器管理員使用常用模型來管理虛擬化本地存儲(chǔ)裝置并且不要求配置或管理網(wǎng)絡(luò)存儲(chǔ)裝置。這允許在不牽涉服務(wù)器的情況下在虛擬化本地存儲(chǔ)裝置上插入通常與高端網(wǎng)絡(luò)存儲(chǔ)裝置(例如,raid、只讀、寫時(shí)拷貝、重復(fù)刪除、快照、備份等等)相關(guān)聯(lián)的存儲(chǔ)設(shè)備。
在一個(gè)示例中,本文提出的技術(shù)提供了用于ecpu的使用虛擬存儲(chǔ)裝置控制器處理來自主機(jī)的i/o請(qǐng)求的方法。ecpu將第一虛擬存儲(chǔ)裝置控制器與第一主機(jī)相關(guān)聯(lián)。第一虛擬存儲(chǔ)裝置控制器使用第一傳輸協(xié)議。ecpu使用第一網(wǎng)絡(luò)傳輸協(xié)議從第一虛擬存儲(chǔ)裝置控制器接收去往存儲(chǔ)設(shè)備的第一i/o請(qǐng)求。ecpu確定存儲(chǔ)設(shè)備所使用的第二傳輸協(xié)議,并且將第一i/o請(qǐng)求從根據(jù)第一傳輸協(xié)議的格式轉(zhuǎn)換成根據(jù)第二傳輸協(xié)議的格式。ecpu使用第二傳輸協(xié)議將第一i/o請(qǐng)求傳送至存儲(chǔ)設(shè)備。
在另一示例中,提供了一種裝置,該裝置包括與一個(gè)或多個(gè)主機(jī)相關(guān)聯(lián)的一個(gè)或多個(gè)虛擬存儲(chǔ)裝置控制器。虛擬存儲(chǔ)裝置控制器使用第一傳輸協(xié)議。該裝置還包括與一個(gè)或多個(gè)存儲(chǔ)設(shè)備通信的一個(gè)或多個(gè)存儲(chǔ)裝置驅(qū)動(dòng)器以及一個(gè)或多個(gè)處理器。處理器從第一虛擬存儲(chǔ)裝置控制器接收去往第一存儲(chǔ)設(shè)備的第一i/o請(qǐng)求。處理器確定存儲(chǔ)裝置驅(qū)動(dòng)器用來與第一存儲(chǔ)設(shè)備通信的第二傳輸協(xié)議。處理器將第一i/o請(qǐng)求從根據(jù)第一傳輸協(xié)議的格式轉(zhuǎn)換成根據(jù)第二傳輸協(xié)議的格式,并且經(jīng)由存儲(chǔ)裝置驅(qū)動(dòng)器使用第二傳輸協(xié)議將第一i/o請(qǐng)求傳送至第一存儲(chǔ)設(shè)備。
在又一示例中,提供了一種系統(tǒng),該系統(tǒng)包括一個(gè)或多個(gè)主機(jī)設(shè)備、一個(gè)或多個(gè)存儲(chǔ)設(shè)備、以及虛擬接口卡。虛擬接口卡將第一虛擬存儲(chǔ)裝置控制器與第一主機(jī)相關(guān)聯(lián)。第一虛擬存儲(chǔ)裝置控制器使用第一傳輸協(xié)議。虛擬接口卡使用第一傳輸協(xié)議從第一虛擬存儲(chǔ)裝置控制器接收去往第一存儲(chǔ)設(shè)備的第一i/o請(qǐng)求。虛擬接口卡確定第一存儲(chǔ)設(shè)備所使用的第二傳輸協(xié)議,并且將第一i/o請(qǐng)求從根據(jù)第一傳輸協(xié)議的格式轉(zhuǎn)換成根據(jù)第二傳輸協(xié)議的格式。虛擬接口卡使用第二傳輸協(xié)議將第一i/o請(qǐng)求傳送至第一存儲(chǔ)設(shè)備。
上文的描述只用作舉例的目的。在不背離本文提出的概念的范圍和權(quán)利要求的等同物的范圍的情況下,可以對(duì)其進(jìn)行各種修改和結(jié)構(gòu)改變。