經(jīng)由PCIe接口連接至主機(jī)系統(tǒng)的存儲(chǔ)裝置和方法
【專利摘要】本發(fā)明提供了經(jīng)由PCIe接口連接至主機(jī)系統(tǒng)的存儲(chǔ)裝置和方法。一種經(jīng)由快捷外設(shè)互聯(lián)標(biāo)準(zhǔn)(PCIe)接口連接至主機(jī)系統(tǒng)的數(shù)據(jù)存儲(chǔ)裝置,其中該主機(jī)系統(tǒng)包含第一存儲(chǔ)器,該數(shù)據(jù)存儲(chǔ)裝置包含第二存儲(chǔ)器、非透明橋接器(NTB)以及處理器。所述NTB耦接至所述主機(jī)系統(tǒng),并且具有第一部分和第二部分;所述處理器耦接于所述NTB以及第二存儲(chǔ)器之間。其中,所述NTB的第一部分和第一存儲(chǔ)器地址空間之間具有第一映射關(guān)系,且所述處理器依據(jù)所述主機(jī)系統(tǒng)的指令,經(jīng)由第一映射關(guān)系將第一存儲(chǔ)器中的數(shù)據(jù)寫入第二存儲(chǔ)器中。
【專利說明】經(jīng)由PCIe接口連接至主機(jī)系統(tǒng)的存儲(chǔ)裝置和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是關(guān)于一種數(shù)據(jù)存儲(chǔ)裝置,特別是關(guān)于一種經(jīng)由PCIe接口連接至主機(jī)系統(tǒng)的數(shù)據(jù)存儲(chǔ)裝置和方法。
【背景技術(shù)】
[0002]快捷外設(shè)互聯(lián)標(biāo)準(zhǔn)(PCIe,Peripheral Component Interconnect Express)協(xié)議屬于計(jì)算機(jī)總線協(xié)議的一種,其主要可應(yīng)用于計(jì)算機(jī)內(nèi)部的互連,其亦可用于與外部的芯片組的器件(例如具有顯示芯片的顯示卡)互連,其亦可用于與計(jì)算機(jī)周邊的輸入/輸出(I/O)裝置互連,而可與周邊裝置互相傳輸數(shù)據(jù)(例如多媒體數(shù)據(jù))。由于PCIe盛行于信息科技產(chǎn)業(yè),在數(shù)據(jù)存儲(chǔ)的【技術(shù)領(lǐng)域】里許多PCIe接口的應(yīng)用也相繼出現(xiàn)。
[0003]請(qǐng)參閱圖1,其顯示本領(lǐng)域已知的經(jīng)由PCIe接口和主機(jī)系統(tǒng)101連接的數(shù)據(jù)存儲(chǔ)裝置110。如圖所示,數(shù)據(jù)存儲(chǔ)裝置110包含IO處理器111、存儲(chǔ)器112以及和數(shù)個(gè)磁盤114 相連接的 RAID (Redundant Array of Independent/Inexpensive Disks)控制器 113。主機(jī)系統(tǒng)101具有PCIe端口 102,而IO處理器111也具有PCIe端口 102,所以兩者之間可以形成PCIe接口。
[0004]常用的IO處理器111,例如ARM公司所生產(chǎn)的CPU,其頻率約為1.2G至1.6G。在頻率需求日益提升的今日,這樣的CPU數(shù)據(jù)傳輸效率顯然不能夠滿足新的信息系統(tǒng)的要求。于是,有人想要利用著名的英特爾X86系列的CPU作為IO處理器(例如i5或i7),因?yàn)閄86系列的處理器具有至少2-3G甚至4倍于ARM CPU的信息處理能力。
[0005]請(qǐng)參閱圖2,其顯示本領(lǐng)域已知的利用X86處理器211經(jīng)由PCIe接口和主機(jī)系統(tǒng)101連接的數(shù)據(jù)存儲(chǔ)裝置210。如圖所示,數(shù)據(jù)存儲(chǔ)裝置210包含處理器211、存儲(chǔ)器212以及和數(shù)個(gè)磁盤215相連接的RAID控制器214。由于處理器211是一種X86處理器,并不具有PCIe端口,所以和主機(jī)系統(tǒng)101之間必須利用光纖信道(Fiber Channel,簡稱FC)或是串形連接SCSI (Serial Attached SCSI,簡稱SAS)的通訊接口來建立信息傳輸。常用的實(shí)施方式是在主機(jī)系統(tǒng)配置FC或SAS的主機(jī)總線適配器(Host Bus Adapter,HBA) 103,而在數(shù)據(jù)存儲(chǔ)裝置210上面配置FC/SAS的接口 IC 213。
[0006]現(xiàn)有技術(shù)需要利用一組FC或SAS的HBA搭配另一顆配置于數(shù)據(jù)存儲(chǔ)系統(tǒng)上的FC或SAS集成電路器件,才能夠達(dá)到使用X86處理器作為10處理器以提升系統(tǒng)能力的目的。然而本領(lǐng)域技術(shù)人員都了解,使用這樣的硬件接口在成本上是十分昂貴的。
[0007]因此,為了克服上述的缺點(diǎn),需要提供一種裝置和方法,讓X86這類不具備PCIe端口的處理器與一般的主機(jī)系統(tǒng)之間,可以建立有效而廉價(jià)的PCIe通訊接口。
【發(fā)明內(nèi)容】
[0008]為了改善上述的缺點(diǎn),本發(fā)明的目的在于通過利用非透明橋接器(NTB),提供10處理器以及主機(jī)系統(tǒng)之間有效而廉價(jià)的PCIe通信接口。
[0009]本發(fā)明的第一方面是提供一種經(jīng)由快捷外設(shè)互聯(lián)標(biāo)準(zhǔn)(PCIe)接口連接至主機(jī)系統(tǒng)的數(shù)據(jù)存儲(chǔ)裝置,其中該主機(jī)系統(tǒng)包含第一存儲(chǔ)器,該數(shù)據(jù)存儲(chǔ)裝置包含第二存儲(chǔ)器、非透明橋接器(NTB)以及處理器。該NTB耦接至該主機(jī)系統(tǒng),并且具有第一部分和第二部分;該處理器耦接于該NTB以及該第二存儲(chǔ)器之間。其中,該NTB的該第一部分和該第一存儲(chǔ)器地址空間之間具有第一映射關(guān)系,且該處理器依據(jù)該主機(jī)系統(tǒng)的指令,經(jīng)由該第一映射關(guān)系將該第一存儲(chǔ)器中的數(shù)據(jù)寫入該第二存儲(chǔ)器中。
[0010]本發(fā)明的另一方面是提供一種數(shù)據(jù)存儲(chǔ)系統(tǒng),其使用具有第一存儲(chǔ)裝置的環(huán)境,該第一存儲(chǔ)裝置具有工作地址,該系統(tǒng)包含非透明橋接器(NTB)以及第二存儲(chǔ)裝置。該NTB映射該工作地址,該第二存儲(chǔ)裝置自該NTB取得該工作地址,且將數(shù)據(jù)存儲(chǔ)至該工作地址所對(duì)應(yīng)的在該第一存儲(chǔ)裝置上的工作位置。
[0011]本發(fā)明的另一方面是提供一種數(shù)據(jù)存儲(chǔ)方法,其在工作裝置及存儲(chǔ)裝置之間存儲(chǔ)數(shù)據(jù),包含下列步驟:(a)提供非透明橋接(NTB) ;(b)由該兩裝置中之一提供工作地址;(c)將該工作地址映射至該NTB ; (d)使該兩裝置中的另一個(gè)自該NTB取得該工作地址;以及(e)由該另一個(gè)裝置發(fā)出指令存儲(chǔ)該數(shù)據(jù)至該工作地址所對(duì)應(yīng)的工作位置。
[0012]如前述本發(fā)明的存儲(chǔ)裝置和方法,通過下列實(shí)施例及圖示說明,使得本領(lǐng)域普通技術(shù)人員能夠更深入地了解其實(shí)施方式與優(yōu)點(diǎn)。
【專利附圖】
【附圖說明】
[0013]圖1為本領(lǐng)域已知的經(jīng)由PCIe接口和主機(jī)系統(tǒng)連接的數(shù)據(jù)存儲(chǔ)裝置的示意圖;
[0014]圖2為本領(lǐng)域已知的利用X86處理器經(jīng)由PCIe接口和主機(jī)系統(tǒng)連接的數(shù)據(jù)存儲(chǔ)裝置的示意圖;
[0015]圖3為本發(fā)明所提出的數(shù)據(jù)存儲(chǔ)裝置的一個(gè)實(shí)施例的示意圖;
[0016]圖4為本發(fā)明關(guān)于存儲(chǔ)器空間地址與NTB各部分的映射關(guān)系的示意圖;
[0017]圖5為本發(fā)明經(jīng)由PCIe接口連接至主機(jī)系統(tǒng)的數(shù)據(jù)存儲(chǔ)裝置的方法的簡要流程圖;
[0018]圖6為本發(fā)明所提出的數(shù)據(jù)存儲(chǔ)裝置的另一個(gè)實(shí)施例的示意圖。
【具體實(shí)施方式】
[0019]本發(fā)明的技術(shù)手段將詳細(xì)說明如下,相信本發(fā)明的目的、特征與優(yōu)點(diǎn),當(dāng)可由此得以深入且具體的了解,然而下列實(shí)施例與圖示只是為了提供參考與說明,并非用來對(duì)本發(fā)明加以限制。
[0020]PCIe接口的常用組件中有一種非透明橋接器(NTB),在非透明橋接器的兩邊都有智能型設(shè)備或處理器,并且各自擁有獨(dú)立的存儲(chǔ)器地址空間。而且,位于NTB—側(cè)的主機(jī)系統(tǒng)或處理器不能夠看到NTB另一側(cè)的完整地址或I / 0空間。每個(gè)處理器把NTB的另一側(cè)看做一個(gè)端口,并把它映射到自己的地址空間。在NTB環(huán)境中,每一側(cè)的端口都有兩套基址寄存器(Base Address Register,或BAR),—套是給主機(jī)設(shè)備端用的,另一套是給附屬設(shè)備端(例如存儲(chǔ)存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)系統(tǒng))用的。通常與主機(jī)設(shè)備或附屬設(shè)備同在一側(cè)的BAR而提供該主機(jī)設(shè)備或附屬設(shè)備用的部分稱為BARO。BAR可用來定義在NTB另一端的內(nèi)存地址空間的地址翻譯窗口,并允許這個(gè)翻譯被映射到本區(qū)的內(nèi)存或I / 0空間。
[0021]相較于圖2所介紹的現(xiàn)有技術(shù),NTB是一種廉價(jià)而且有效提供IO處理器以及主機(jī)系統(tǒng)之間的PCIe接口的實(shí)施方式。然而,由于位于NTB —邊的主機(jī)系統(tǒng)或處理器不能夠看到NTB另一邊的完整地址或I / O空間,兩種裝置的其中之一就無法單獨(dú)進(jìn)行數(shù)據(jù)傳輸存儲(chǔ)的工作。本發(fā)明的構(gòu)想之一,在于能讓存儲(chǔ)裝置上的處理器能夠經(jīng)由NTB的BARO與主機(jī)存儲(chǔ)器空間地址的映射關(guān)系,將該主機(jī)存儲(chǔ)器中的數(shù)據(jù)寫入存儲(chǔ)裝置的存儲(chǔ)器中,或是將存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)寫入該主機(jī)裝置的存儲(chǔ)器中。如此一來,可以大幅減輕主機(jī)系統(tǒng)處理器的工作負(fù)擔(dān),進(jìn)而提升整體的工作效率。
[0022]請(qǐng)參閱圖3,其為依據(jù)本發(fā)明的一個(gè)實(shí)施例所提出的數(shù)據(jù)存儲(chǔ)裝置的示意圖。如圖所示,數(shù)據(jù)存儲(chǔ)裝置310經(jīng)由PCIe接口連接至主機(jī)系統(tǒng)301,其中主機(jī)系統(tǒng)301包含第一存儲(chǔ)器302,而數(shù)據(jù)存儲(chǔ)裝置310包含處理器311、第二存儲(chǔ)器312、NTB 313以及和數(shù)個(gè)磁盤315相連接的RAID控制器314,NTB 313耦接至主機(jī)系統(tǒng)301上的PCIe端口 102。依據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例,處理器311為X86處理器,其耦接于NTB 313以及第二存儲(chǔ)器312之間。如前所述,一般NTB組件的兩側(cè)各有一個(gè)BARO部分,位于NTB其中一側(cè)的設(shè)備(例如主機(jī)系統(tǒng)301或處理器311)只能看到同一側(cè)的BAR0。本發(fā)明所提供的一種實(shí)施方式是將另一側(cè)的存儲(chǔ)器空間地址映射到和設(shè)備同一側(cè)的BARO部分,讓設(shè)備可以經(jīng)由映射關(guān)系而看得到另一側(cè)的存儲(chǔ)器空間地址。
[0023]參閱圖4,其為本發(fā)明關(guān)于存儲(chǔ)器空間地址與NTB各部分的映射關(guān)系的示意圖,其中,NTB具有鄰近數(shù)據(jù)存儲(chǔ)裝置310 —側(cè)的BAR0411 (稱之為第一部分)和鄰近主機(jī)系統(tǒng)301一側(cè)的BARO 412 (稱之為第二部分),NTB的第一部分411和第一存儲(chǔ)器空間301的地址空間400之間具有第一映射關(guān)系431。依據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例,主機(jī)系統(tǒng)301將第一存儲(chǔ)器302的存儲(chǔ)器空間400內(nèi)的所有地址映射至NTB 313的該第一部分,形成第一映射關(guān)系431,而處理器311將第二存儲(chǔ)器312的存儲(chǔ)器空間420內(nèi)的一部分地址空間映射至NTB313的該第二部分,形成第二映射關(guān)系432。第二存儲(chǔ)器312的存儲(chǔ)器空間420內(nèi)的該部分地址空間421是用來存儲(chǔ)來自主機(jī)系統(tǒng)301的指令,例如指令區(qū)塊指針隊(duì)列,通常不需要很大的存儲(chǔ)器空間。然而在后續(xù)的數(shù)據(jù)復(fù)制或存儲(chǔ)程序中,存儲(chǔ)裝置的處理器311需要得到第一存儲(chǔ)器302的存儲(chǔ)器空間400內(nèi)所有的映射地址,才能夠獨(dú)立處理數(shù)據(jù)存儲(chǔ)的任務(wù)。
[0024]當(dāng)上述的映射關(guān)系設(shè)定完成之后,王機(jī)系統(tǒng)301就可以經(jīng)由弟二映射關(guān)系432看到該部分存儲(chǔ)器空間421中的對(duì)應(yīng)地址,將該指令存入該部分存儲(chǔ)器空間421,而處理器311依據(jù)主機(jī)系統(tǒng)301的該指令,經(jīng)由第一映射關(guān)系431看到第一存儲(chǔ)器302的存儲(chǔ)器空間400內(nèi)的所有對(duì)應(yīng)的地址,將第一存儲(chǔ)器302中的數(shù)據(jù)(未顯示)寫入第二存儲(chǔ)器312中。依據(jù)本發(fā)明的實(shí)施例,配置于數(shù)據(jù)存儲(chǔ)裝置310中的第二存儲(chǔ)器312可以提供數(shù)據(jù)暫存的功能,再由處理器311進(jìn)行數(shù)據(jù)存儲(chǔ)的處理和寫入磁盤315 ;或者是由處理器311將第二存儲(chǔ)器312中自磁盤315讀取并完成處理的另一數(shù)據(jù)(未顯示)寫入第一存儲(chǔ)器302中,直到該指令中所列的任務(wù)全部完成。
[0025]依據(jù)本發(fā)明的另一觀點(diǎn),上述的實(shí)施例可以歸納出一種數(shù)據(jù)存儲(chǔ)的方法,其是在工作裝置301及數(shù)據(jù)存儲(chǔ)裝置310之間存儲(chǔ)數(shù)據(jù)(未顯示),包含下列步驟:(a)提供非透明橋接(NTB) 313 ;(b)由該兩裝置其中之一提供工作地址(未顯示);(c)將該工作地址映射至NTB 313中另一側(cè)的基址寄存器,換句話說,該基址寄存器鄰近另一裝置;(d)使該兩裝置中的另一個(gè)自NTB 313取得該工作地址;以及(f)由該另一個(gè)裝置發(fā)出指令存儲(chǔ)該數(shù)據(jù)至該工作地址所對(duì)應(yīng)的工作位置。特別說明,該工作位置通常位于裝置的存儲(chǔ)器組件(例如第一或第二存儲(chǔ)器302,312)之中。上述方法適用于PCIe接口裝置。
[0026]請(qǐng)參閱圖5,其為如同圖3所示的本發(fā)明經(jīng)由PCIe接口連接至主機(jī)系統(tǒng)的數(shù)據(jù)存儲(chǔ)裝置的方法的簡要流程圖。首先,當(dāng)設(shè)備開機(jī)后,數(shù)據(jù)存儲(chǔ)裝置310中的處理器311啟動(dòng)NTB 313 (步驟501)。之后,依據(jù)圖4所顯示的概念,分別建立第一存儲(chǔ)器302地址和NTB位于存儲(chǔ)裝置側(cè)BARO (第一部分)之間的第一映射關(guān)系431,以及第二存儲(chǔ)器312地址和NTB位于主機(jī)系統(tǒng)側(cè)BARO (第二部分)之間的第二映射關(guān)系432 (步驟502)。
[0027]完成上述兩個(gè)步驟之后,處理器311就可以經(jīng)由第二映射關(guān)系432看到第二存儲(chǔ)器312的該部分地址空間421中的地址,將一指令,該指令包含一指令區(qū)塊(Co_and BlockRegister, CBR)指針隊(duì)列,寫入第二存儲(chǔ)器312 (步驟503)。處理器311從第二存儲(chǔ)器312中讀取該指令之后(步驟504),對(duì)該CBR進(jìn)行分析并處理數(shù)據(jù)(步驟505)。處理器311依據(jù)主機(jī)系統(tǒng)301的該指令,經(jīng)由第一映射關(guān)系431看到第一存儲(chǔ)器302的存儲(chǔ)器空間400內(nèi)的所有地址,將第一存儲(chǔ)器302中的數(shù)據(jù)(未顯示)復(fù)制到第二存儲(chǔ)器312中,或者將第二存儲(chǔ)器312中的另一數(shù)據(jù)(未顯示)存入第一存儲(chǔ)器中(步驟506)。如前所述,依據(jù)本發(fā)明的實(shí)施例,配置于數(shù)據(jù)存儲(chǔ)裝置310中第二存儲(chǔ)器312可提供數(shù)據(jù)暫存的功能,再由處理器311進(jìn)行數(shù)據(jù)存儲(chǔ)的處理和寫入磁盤315 ;或者是由處理器311將第二存儲(chǔ)器312中自磁盤315讀取并完成處理的另一數(shù)據(jù)(未顯示)寫入第一存儲(chǔ)器302中,直到該指令中所列的任務(wù)全部完成。當(dāng)該指令中所列的任務(wù)全部完成,處理器311發(fā)出消息通知主機(jī)系統(tǒng)301該CBR指針隊(duì)列之內(nèi)的任務(wù)已經(jīng)執(zhí)行完畢(步驟507)。如果沒有收到新的指令(例如Command Block, CB)(步驟508),則本流程告一段落(步驟509);如果有新的CB,則重復(fù)步驟503到507的流程。
[0028]請(qǐng)參閱圖6,如圖所示,本發(fā)明提出一種數(shù)據(jù)存儲(chǔ)系統(tǒng)610,其使用具有第一存儲(chǔ)裝置602的環(huán)境601,例如主機(jī)系統(tǒng)的操作環(huán)境。數(shù)據(jù)存儲(chǔ)系統(tǒng)610包含NTB 611、第二存儲(chǔ)裝置612以及和數(shù)個(gè)磁盤614相連接的RAID控制器613。NTB 611在鄰近第一存儲(chǔ)裝置602的一側(cè)配置有BARO 6111 ;在鄰近第二存儲(chǔ)裝置612的一側(cè)配置有BAR06112。NTB 611鄰近第一存儲(chǔ)裝置602的BARO 6111映射第一存儲(chǔ)裝置602存儲(chǔ)空間的工作地址(未顯示)。第二存儲(chǔ)裝置612自該NTB的BARO 6111取得該工作地址,且將數(shù)據(jù)(未顯示)存儲(chǔ)至該工作地址所對(duì)應(yīng)的在第一存儲(chǔ)裝置602上的工作位置6021。特別要說明的是,在第一存儲(chǔ)裝置602上的工作位置6021是指預(yù)定的某一個(gè)存儲(chǔ)器空間位置,這個(gè)存儲(chǔ)器空間的地址就是映射至BARO 6111的工作地址。第二存儲(chǔ)裝置612可提供數(shù)據(jù)暫存的功能,之后再進(jìn)行數(shù)據(jù)存儲(chǔ)的處理和寫入磁盤614 ;或者是由第二存儲(chǔ)裝置612將自磁盤614讀取并完成處理的另一數(shù)據(jù)(未顯示)寫入第一存儲(chǔ)裝置602中。依據(jù)本發(fā)明的另一個(gè)優(yōu)選實(shí)施例,數(shù)據(jù)存儲(chǔ)系統(tǒng)610還包含第一存儲(chǔ)裝置602。
[0029]由上述本發(fā)明的實(shí)施方式可以發(fā)現(xiàn),經(jīng)由本發(fā)明的構(gòu)想,主機(jī)系統(tǒng)不再需要負(fù)擔(dān)對(duì)于和數(shù)據(jù)存儲(chǔ)系統(tǒng)之間的數(shù)據(jù)存取工作,讓主機(jī)系統(tǒng)處理器可以集中資源執(zhí)行其它的任務(wù),而高效率的處理器在本發(fā)明所提出的PCIe接口配置環(huán)境下,可以利用低成本的組件配置實(shí)現(xiàn)所需要的高效率數(shù)據(jù)處理能力。
[0030]實(shí)施例
[0031]1.一種經(jīng)由快捷外設(shè)互聯(lián)標(biāo)準(zhǔn)(PCIe)接口連接至主機(jī)系統(tǒng)的數(shù)據(jù)存儲(chǔ)裝置,其中該主機(jī)系統(tǒng)包含第一存儲(chǔ)器,該數(shù)據(jù)存儲(chǔ)裝置包含:[0032]第二存儲(chǔ)器;
[0033]非透明橋接器(NTB),該NTB耦接至該主機(jī)系統(tǒng),并且具有第一部分和第二部分;以及
[0034]處理器,耦接于該NTB以及該第二存儲(chǔ)器之間,
[0035]其中,該NTB的該第一部分和該第一存儲(chǔ)器地址空間之間具有第一映射關(guān)系,且該處理器依據(jù)該主機(jī)系統(tǒng)的指令,經(jīng)由該第一映射關(guān)系將該第一存儲(chǔ)器中的數(shù)據(jù)寫入該第二存儲(chǔ)器中。
[0036]2.如實(shí)施例1所述的數(shù)據(jù)存儲(chǔ)裝置,其中該處理器還依據(jù)該主機(jī)系統(tǒng)的該指令,經(jīng)由該第一映射關(guān)系將該第二存儲(chǔ)器中的另一數(shù)據(jù)寫入該第存儲(chǔ)器中。
[0037]3.如實(shí)施例1所述的數(shù)據(jù)存儲(chǔ)裝置,其中該處理器為X86處理器。
[0038]4.如實(shí)施例1所述的數(shù)據(jù)存儲(chǔ)裝置,其中該NTB的該第二部分和該第二存儲(chǔ)器地址空間之間具有第二映射關(guān)系,該主機(jī)系統(tǒng)經(jīng)由該第二映射關(guān)系,將該指令寫入該第二存儲(chǔ)器中。
[0039]5.如實(shí)施例4所述的數(shù)據(jù)存儲(chǔ)裝置,其中該第一映射關(guān)系將該第一存儲(chǔ)器中的所有地址空間都映射至該NTB的該第一部分,該第二映射關(guān)系將該第二存儲(chǔ)器中的部分地址空間映射至該NTB的該第二部分,該第一部分為該NTB鄰近該數(shù)據(jù)存儲(chǔ)裝置的基址寄存器,而該第二部分為該NTB鄰近該主機(jī)系統(tǒng)的另一基址寄存器。
[0040]6.一種數(shù)據(jù)存儲(chǔ)系統(tǒng),其使用具有第一存儲(chǔ)裝置的環(huán)境,該第一存儲(chǔ)裝置具有工作地址,該系統(tǒng)包含:
[0041]非透明橋接器(NTB)`,映射該工作地址;以及
[0042]第二存儲(chǔ)裝置,自該NTB取得該工作地址,且將數(shù)據(jù)存儲(chǔ)至該工作地址所對(duì)應(yīng)的在該第一存儲(chǔ)裝置上的工作位置。
[0043]7.如實(shí)施例6所述的數(shù)據(jù)存儲(chǔ)系統(tǒng),還包含該第一存儲(chǔ)裝置。
[0044]8.一種數(shù)據(jù)存儲(chǔ)方法,其在工作裝置及存儲(chǔ)裝置之間存儲(chǔ)數(shù)據(jù),包含下列步驟:
[0045]提供非透明橋接(NTB);
[0046]由該兩裝置中之一提供工作地址;
[0047]將該工作地址映射至該NTB ;
[0048]使該兩裝置中的另一個(gè)自該NTB取得該工作地址;以及
[0049]由該另一個(gè)裝置發(fā)出指令存儲(chǔ)該數(shù)據(jù)至該工作地址所對(duì)應(yīng)的工作位置。
[0050]9.如實(shí)施例8所述的方法,其中該工作地址被映射至該NTB中的基址寄存器,且該基址寄存器鄰近該另一裝置。
[0051]10.如實(shí)施例8所述的方法,其中該兩裝置經(jīng)由快捷外設(shè)互聯(lián)標(biāo)準(zhǔn)(PCIe)接口而相互連接。
[0052]綜上所述,本發(fā)明的說明與實(shí)施例已揭露于上,然其非用來限制本發(fā)明,凡已知此技術(shù)者,在不脫離本發(fā)明的精神與范圍之下,當(dāng)可做各種修改與變型,其仍應(yīng)落入本發(fā)明專利的涵蓋范圍之內(nèi)。
[0053]【主要組件符號(hào)說明】
[0054]101、301:主機(jī)系統(tǒng)
[0055]102:PCIe 端口[0056]103:FC/SAS主機(jī)總線適配器
[0057]110、210、310:數(shù)據(jù)存儲(chǔ)設(shè)備
[0058]111、211、311:處理器
[0059]112、212:存儲(chǔ)器
[0060]113、214、314、613:RAID 控制器
[0061]114、215、315、614:磁盤
[0062]213:FC/SAS 接口 IC
[0063]302:第一存儲(chǔ)器
[0064]312:第二存儲(chǔ)器
[0065]313,611:非透明橋接器(NTB)
[0066]400:主機(jī)系統(tǒng)存儲(chǔ)器空間
[0067]411 =NTB 存儲(chǔ)裝置側(cè) BARO
[0068]412:NTB 主機(jī)側(cè) BARO
[0069]420:存儲(chǔ)裝置的存儲(chǔ)器空間
[0070]421:存儲(chǔ)裝置的一部分存儲(chǔ)器空間
[0071]501?509:步驟
[0072]610:數(shù)據(jù)存儲(chǔ)系統(tǒng)
[0073]602:第一存儲(chǔ)裝置
[0074]612:第二存儲(chǔ)裝置
[0075]6021:工作位置
[0076]6011:NTB 第一存儲(chǔ)器側(cè) BARO
[0077]6012:NTB 第二存儲(chǔ)器側(cè) BARO
【權(quán)利要求】
1.一種經(jīng)由快捷外設(shè)互聯(lián)標(biāo)準(zhǔn)(PCIe)接口連接至主機(jī)系統(tǒng)的數(shù)據(jù)存儲(chǔ)裝置,其中所述主機(jī)系統(tǒng)包含第一存儲(chǔ)器,所述數(shù)據(jù)存儲(chǔ)裝置包含: 第二存儲(chǔ)器; 非透明橋接器(NTB),該NTB耦接至所述主機(jī)系統(tǒng),并且具有第一部分和第二部分;以及 處理器,耦接于所述NTB以及第二存儲(chǔ)器之間, 其中,所述NTB的第一部分和第一存儲(chǔ)器地址空間之間具有第一映射關(guān)系,且所述處理器依據(jù)所述主機(jī)系統(tǒng)的指令,經(jīng)由第一映射關(guān)系將第一存儲(chǔ)器中的數(shù)據(jù)寫入第二存儲(chǔ)器中。
2.如權(quán)利要求1的數(shù)據(jù)存儲(chǔ)裝置,其中所述處理器還依據(jù)所述主機(jī)系統(tǒng)的所述指令,經(jīng)由第一映射關(guān)系將第二存儲(chǔ)器中的另一數(shù)據(jù)寫入第一存儲(chǔ)器中。
3.如權(quán)利要求1的數(shù)據(jù)存儲(chǔ)裝置,其中所述處理器為X86處理器。
4.如權(quán)利要求1的數(shù)據(jù)存儲(chǔ)裝置,其中所述NTB的第二部分和第二存儲(chǔ)器地址空間之間具有第二映射關(guān)系,所述主機(jī)系統(tǒng)經(jīng)由第二映射關(guān)系,將所述指令寫入第二存儲(chǔ)器中。
5.如權(quán)利要求4的數(shù)據(jù)存儲(chǔ)裝置,其中第一映射關(guān)系將第一存儲(chǔ)器中的所有地址空間都映射至所述NTB的第一部分,第二映射關(guān)系將第二存儲(chǔ)器中的部分地址空間映射至所述NTB的第二部分,第一部分為所述NTB鄰近所述數(shù)據(jù)存儲(chǔ)裝置的基址寄存器,而第二部分為所述NTB鄰近所述主機(jī)系統(tǒng)的另一基址寄存器。
6.一種數(shù)據(jù)存儲(chǔ)系統(tǒng),其使用具有第一存儲(chǔ)裝置的環(huán)境,第一存儲(chǔ)裝置具有工作地址,該系統(tǒng)包含: 非透明橋接器(NTB),映射所述工作地址;以及 第二存儲(chǔ)裝置,自所述NTB取得所述工作地址,且將數(shù)據(jù)存儲(chǔ)至所述工作地址所對(duì)應(yīng)的在第一存儲(chǔ)裝置上的工作位置。
7.如權(quán)利要求6的數(shù)據(jù)存儲(chǔ)系統(tǒng),還包含第一存儲(chǔ)裝置。
8.一種數(shù)據(jù)存儲(chǔ)方法,其在工作裝置及存儲(chǔ)裝置之間存儲(chǔ)數(shù)據(jù),包含下列步驟: 提供非透明橋接(NTB); 由所述工作裝置和所述存儲(chǔ)裝置中的一個(gè)裝置提供工作地址; 將該工作地址映射至所述NTB ; 使所述工作裝置和所述存儲(chǔ)裝置中的另一個(gè)裝置自所述NTB取得所述工作地址;以及 由所述另一個(gè)裝置發(fā)出指令存儲(chǔ)所述數(shù)據(jù)至所述工作地址所對(duì)應(yīng)的工作位置。
9.如權(quán)利要求8的數(shù)據(jù)存儲(chǔ)方法,其中所述工作地址被映射至所述NTB中的基址寄存器,且該基址寄存器鄰近所述另一個(gè)裝置。
10.如權(quán)利要求9的數(shù)據(jù)存儲(chǔ)方法,其中所述工作裝置和所述存儲(chǔ)裝置經(jīng)由快捷外設(shè)互聯(lián)標(biāo)準(zhǔn)(PCIe)接口而相互連接。
【文檔編號(hào)】G06F13/38GK103678165SQ201210387855
【公開日】2014年3月26日 申請(qǐng)日期:2012年10月12日 優(yōu)先權(quán)日:2012年9月10日
【發(fā)明者】蔡文森 申請(qǐng)人:金萬益有限公司