国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      向多個存儲控制器多播寫請求的制作方法

      文檔序號:7633526閱讀:270來源:國知局
      專利名稱:向多個存儲控制器多播寫請求的制作方法
      技術(shù)領域
      一般來說,本申請涉及存儲系統(tǒng),具體來說,涉及向多個存儲控制器多播寫請求。
      背景技術(shù)
      例如數(shù)據(jù)存儲系統(tǒng)等存儲系統(tǒng)通常包括外部存儲平臺,它具有常常稱作罐 (canister)的冗余存儲控制器、冗余電源、冷卻解決方案和盤陣列。該平臺解決方案設計成容許單點故障,具有全冗余輸入/輸出(I/O)通路和冗余控制器以使數(shù)據(jù)是可訪問的。機箱中的兩個冗余罐通過無源底板連接,以使高速緩存鏡像特征能夠?qū)崿F(xiàn)。當一個罐出故障時,另一個罐獲得對與出故障罐關(guān)聯(lián)的硬盤的訪問權(quán),并且繼續(xù)執(zhí)行對盤的I/O任務,直到維修出故障罐。要使冗余操作能夠?qū)崿F(xiàn),系統(tǒng)高速緩存鏡像在罐之間對所有未完成盤受限 (disk-bound) I/O事務來執(zhí)行。鏡像操作主要包括使罐的系統(tǒng)高速緩存同步。雖然單個節(jié)點故障可能丟失其本地高速緩存的內(nèi)容,但第二副本仍然保留在冗余節(jié)點的高速緩存中。 然而,某些復雜性存在于當前系統(tǒng)中,包括鏡像操作所消耗的帶寬的限制以及執(zhí)行這類操作所需的等待時間。

      發(fā)明內(nèi)容
      本申請?zhí)峁┮环N設備,包括第一罐,控制在包括多個盤的存儲系統(tǒng)中的數(shù)據(jù)的存儲,第一罐具有第一處理器、緩存待存儲在存儲系統(tǒng)中的數(shù)據(jù)的第一系統(tǒng)存儲器以及第一鏡像端口 ;以及第二罐,控制在存儲系統(tǒng)中的數(shù)據(jù)的存儲,并且經(jīng)由點對點(PtP)互連耦合到第一罐,第二罐包括第二處理器、緩存待存儲在存儲系統(tǒng)中的數(shù)據(jù)的第二系統(tǒng)存儲器以及第二鏡像端口,其中,第一和第二系統(tǒng)存儲器將存儲在另一個系統(tǒng)存儲器中存儲的數(shù)據(jù)的鏡像副本,鏡像副本經(jīng)由PtP互連通過雙播事務來傳遞,其中,將至第一罐的入局數(shù)據(jù)并行地寫到第一系統(tǒng)存儲器以及通過第一和第二鏡像端口傳遞給第二罐。本申請還提供一種方法,包括在存儲系統(tǒng)的第一罐中從第一服務器接收包括寫數(shù)據(jù)和地址的寫請求;確定地址是否在第一罐的系統(tǒng)存儲器的多播區(qū)域之內(nèi);如果是的話,則將寫請求直接發(fā)送給第一罐的系統(tǒng)存儲器的多播區(qū)域以將寫數(shù)據(jù)存儲在第一罐的系統(tǒng)存儲器中,以及經(jīng)由點對點(PtP)鏈路發(fā)送給耦合到第一罐的第二罐的鏡像端口以將寫數(shù)據(jù)鏡像到第二罐的系統(tǒng)存儲器;以及在第一罐中經(jīng)由PtP鏈路從第二罐接收接收到寫數(shù)據(jù)的確認,并且將第二確認從第一罐傳遞給第一服務器。本申請又提供一種系統(tǒng),包括第一罐,包括第一處理器、緩存數(shù)據(jù)的第一系統(tǒng)存儲器、與第一服務器進行通信的第一輸入/輸出(I/O)控制器、與盤存儲系統(tǒng)進行通信的第一裝置控制器以及第一鏡像端口 ;經(jīng)由點對點(PtP)互連耦合到第一罐的第二罐,第二罐包括第二處理器、緩存數(shù)據(jù)的第二系統(tǒng)存儲器、與第二服務器進行通信的第二 I/O控制器、 與盤存儲系統(tǒng)進行通信的第二裝置控制器以及第二鏡像端口,其中,第一和第二系統(tǒng)存儲器將存儲在另一個系統(tǒng)存儲器中存儲的數(shù)據(jù)的鏡像副本,鏡像副本經(jīng)由PtP互連通過雙播事務來傳遞,其中,將至第一罐的寫請求的入局數(shù)據(jù)并行地寫到第一系統(tǒng)存儲器以及通過第一和第二鏡像端口傳遞給第二罐;以及盤驅(qū)動器系統(tǒng),包括多個盤驅(qū)動器。


      圖1是根據(jù)本發(fā)明的一個實施例的系統(tǒng)的框圖。圖2是示出根據(jù)本發(fā)明的另一個實施例的罐的細節(jié)的框圖。圖3是根據(jù)本發(fā)明的一個實施例的操作的數(shù)據(jù)流。圖4是根據(jù)本發(fā)明的一個實施例的直接地址轉(zhuǎn)換中使用的組件的框圖。
      具體實施例方式在各個實施例中,可向多個目的地位置多播對存儲罐的入局(incoming)寫操作。 在一個實施例中,這些多個位置包括與存儲罐關(guān)聯(lián)的系統(tǒng)存儲器以及例如與另一個存儲罐對應的鏡像端口。這樣,能避免對于從系統(tǒng)存儲器到鏡像端口的各種讀/寫操作的需要。雖然本發(fā)明的范圍并不局限于這個方面,但可按照根據(jù)外圍組件互連快速(PCI Express (PCIe )基礎規(guī)范的工程變更通知書版本2.0(2007年1月17日發(fā)布)的PCIe 雙播特征來執(zhí)行多播,多播可以是至兩個實體的雙播或者至不止兩個實體的多播。這里,假定第一罐接收到例如來自主機的入站郵遞型(inbound posted)寫請求。根據(jù)該請求的地址,寫請求分組可被引向兩個目的地,即第一罐的系統(tǒng)存儲器和鏡像端口、例如經(jīng)由PCIe 非透明橋(NTB)端口耦合到第一罐的例如第二罐。在一個實施例中,入局地址可與第一罐的基址寄存器(BAR)和界限寄存器(例如,與第一罐的PCIe I/0端口關(guān)聯(lián))以及鏡像端口 (PCIe NTB)相比,以確保將分組路由選擇到系統(tǒng)存儲器和鏡像端口。這種路由選擇能夠并行地執(zhí)行,而不是其中數(shù)據(jù)必須首先寫到系統(tǒng)存儲器然后鏡像到第二罐的串行實現(xiàn)。使用本發(fā)明的實施例,廉價盤冗余陣列(RAID)系統(tǒng)、如RAID 5/6系統(tǒng)的流播鏡像寫數(shù)據(jù)流(streaming mirror write data flow)能夠得到改進。由于這種系統(tǒng)中的存儲工作負載可能是高度1/0密集的并且多次觸及系統(tǒng)存儲器,所以可消耗大量的系統(tǒng)存儲器帶寬,特別是在性能可能受到系統(tǒng)存儲器限制的入門到中級范圍(entry-to-mid-range) 的平臺中。使用根據(jù)本發(fā)明的一個實施例的存儲加速技術(shù),存儲器帶寬能夠減小。這樣,在系統(tǒng)中能夠采用較低性能的系統(tǒng)存儲器,從而降低系統(tǒng)成本。例如,倉位(bin)-l存儲器組件(具有比高倉位的組件低的額定頻率)或者低成本的雙列直插存儲器模塊(DIMM)能夠用于獲得更高的RAID-5/6性能。雖然實施例可使用PCIe 雙播操作來執(zhí)行作為單個操作的對系統(tǒng)存儲器和PCIe 到PCIe NTB的1/0寫入的入站寫請求,但是其它實現(xiàn)能夠使用類似的多播或廣播操作將寫操作并行地弓丨向多個目的地?,F(xiàn)在參照圖1,示出根據(jù)本發(fā)明的一個實施例的系統(tǒng)的框圖。如圖1所示,系統(tǒng) 100可以是存儲系統(tǒng),其中多個服務器、如服務器1053和105b(—般稱作服務器10 連接到可包括多個盤驅(qū)動器Igstl-Igsn(—般稱作盤驅(qū)動器195)的大容量存儲系統(tǒng)190,它可以是RAID系統(tǒng)并且可符合光纖通道/SAS/SATA模型。在RAID-5或RAID-6配置中,在存儲平臺上分別能夠容許一個盤和兩個盤故障。要實現(xiàn)服務器105與存儲系統(tǒng)190之間的通信,通信可流經(jīng)交換機IlOjnilOb( —般稱作交換機110),它們可以是千兆位以太網(wǎng)(GigE)/光纖通道/SAS交換機。這些交換機又可與一對罐120b(—般稱作罐120)進行通信。這些罐中的每個可包括使根據(jù)本發(fā)明的一個實施例的高速緩存鏡像能夠?qū)崿F(xiàn)的各種組件。具體來說,每個罐可包括(一般稱作)處理器135。為了便于說明,將論述第一罐120a,因而處理器13 可與前端控制器裝置12 進行通信。處理器13 又可與外圍控制器集線器(PCH) 14 進行通信,PCH14\又可與外圍裝置進行通信。PCH 145也可與媒體訪問控制器/物理裝置(MAC/PHY) 130a進行通信,在一個實施例中MAC/PHY 130a可以是使例如管理信息的傳遞能夠?qū)崿F(xiàn)的雙GigE MAC/PHY裝置。注意,處理器13 還可耦合到基板(kiseboard)管理控制器(BMC) 150a,BMC 150a又可經(jīng)由系統(tǒng)管理(SM)總線與中間平面 (mid-plane) 180 進行通信。處理器1353還耦合到存儲器140a,在一個實施例中存儲器140a可以是實現(xiàn)為雙列直插存儲器模塊(DIMM)的動態(tài)隨機存取存儲器(DRAM)。處理器又可耦合到后端控制器裝置16 ,后端控制器裝置16 也通過中間平面連接器170耦合到中間平面180。此外,要使根據(jù)本發(fā)明的一個實施例的鏡像能夠?qū)崿F(xiàn),PCIe NTB互連160可耦合在處理器13 與中間平面連接器170之間。正如看到的,類似的互連可直接將通信從這個鏈路路由選擇到與第二罐120b的處理器140b耦合的類似的PCIe NTB互連160b。處理器之間經(jīng)由NTB互連的這種互連可形成NTB地址域。注意,在一些實現(xiàn)中,罐可直接耦合而無需中間平面連接器。在其它實施例中,取代PCIe 互連,例如按照Intel 快速通路互連(QPi) 協(xié)議等的另一種點對點(PtP)互連可以存在。在圖1中看到,要使冗余操作能夠?qū)崿F(xiàn),中間平面180可以使從每個罐到每個對應的盤驅(qū)動器195的通信能夠?qū)崿F(xiàn)。雖然在圖1的實施例中以這種具體實現(xiàn)示出,但是本發(fā)明的范圍并不局限于這個方面。例如,可存在更多或更少的服務器和盤驅(qū)動器,并且在一些實施例中還可提供附加罐。現(xiàn)在參照圖2,所示的是示出根據(jù)本發(fā)明的另一個實施例的罐的細節(jié)的框圖。注意,圖2的罐、即第一罐210a和第二罐210b可以是系統(tǒng)200的一部分,其中系統(tǒng)200包括一個或多個服務器、例如RAID系統(tǒng)等存儲系統(tǒng)以及外設和其它這類裝置。但是,在至少一些實現(xiàn)中,能夠避免對于將服務器耦合到罐的交換機的需要。盡管其它PtP連接是可能的,第一罐21(^和第二罐210b經(jīng)由PCIe NTB鏈路250進行耦合。經(jīng)由這個鏈路,這兩個罐之間的系統(tǒng)高速緩存鏡像能夠進行。NTB地址域255是兩個罐210可訪問的。在所示實現(xiàn)中,每個罐210可具有它自己的地址域,并且可包括系統(tǒng)存儲器M0,在一個實施例中,系統(tǒng)存儲器240可使用低成本的DIMM來實現(xiàn),使用根據(jù)本發(fā)明的一個實施例的技術(shù)可得到的存儲加速使這些低成本的DIMM能夠?qū)崿F(xiàn)。 在圖2中看到,每個罐可包括I/O控制器,包括一個或多個主機I/O控制器212以使與服務器和其它主機裝置的通信能夠?qū)崿F(xiàn);以及一個或多個裝置I/O控制器214,以使與盤系統(tǒng)的通信能夠?qū)崿F(xiàn)。正如看到的,這類I/O控制器可經(jīng)由根端口 222與對應的處理器 220進行通信。每個處理器又還可包括NTB端口 2M以使經(jīng)由NTB互連250的通信能夠?qū)崿F(xiàn),NTB互連250可具有NTB地址域255。處理器220還可與PCH 225進行通信,PCH 225又可與MAC/PHY 230進行通信。注意,處理器220可包括各種內(nèi)部組件,其中包括使與系統(tǒng)存儲器的通信能夠?qū)崿F(xiàn)的集成存儲器控制器以及集成直接存儲器存取(DMA)引擎和RAID處理器單元以及其它這類專用組件。
      使用根據(jù)本發(fā)明的一個實施例的存儲加速,雙播技術(shù)可用于直接向系統(tǒng)存儲器以及向連接的裝置傳遞寫請求的寫數(shù)據(jù),連接的裝置例如是如另一個罐等連接PCIe 的裝置?,F(xiàn)在參照圖3,所示的是根據(jù)本發(fā)明的一個實施例的操作的數(shù)據(jù)流。如圖3所示,闡述 RAID-5/6流播鏡像寫的數(shù)據(jù)流。一般來說,接收寫請求和執(zhí)行雙播鏡像的數(shù)據(jù)流可包括兩個存儲器讀操作和2. 25個寫操作。正如看到的,來自例如服務器的入局寫請求可經(jīng)由第一罐210a的主機I/O控制器2123來接收。取決于寫請求的地址,可發(fā)起雙播操作。具體來說,下面將要論述,如果地址是在存儲器的雙播區(qū)域之內(nèi),則主機控制器可并行地向系統(tǒng)存儲器MOa直接寫數(shù)據(jù)以及經(jīng)由NTB互連將數(shù)據(jù)鏡像到罐210b。第二罐的處理器又作為鏡像寫操作會將數(shù)據(jù)寫到其系統(tǒng)存儲器。從這時起,寫數(shù)據(jù)可存在于兩個系統(tǒng)存儲器中。然后,在一個實現(xiàn)中,例如處理器220a的RAID處理器單元或者罐210a的專用RAID處理器可從存儲器讀取數(shù)據(jù)并且執(zhí)行 RAID-5/6奇偶校驗計算,以及例如結(jié)合寫數(shù)據(jù)將奇偶校驗數(shù)據(jù)寫到系統(tǒng)存儲器MOa。最后, 裝置I/O控制器214a可從對應的系統(tǒng)存儲器MOa讀取寫數(shù)據(jù)和RAID奇偶校驗數(shù)據(jù),并且例如按照其中數(shù)據(jù)可條帶化分布于多個盤的RAID-5/6操作將數(shù)據(jù)寫到盤。注意,各種確認可在上述處理期間進行。例如,當鏡像寫數(shù)據(jù)在罐210b的受保護域中成功接收以被寫到系統(tǒng)存儲器MOb時,罐210b可向第一罐210a回傳確認。當這個確認指示寫數(shù)據(jù)這時已經(jīng)被成功寫到兩個系統(tǒng)高速緩存、即這兩個系統(tǒng)存儲器時,這時第一罐210a可向請求方、如服務器回送確認,以確認寫請求的成功完成。注意,由于雙系統(tǒng)高速緩存提供的冗余,可在將寫數(shù)據(jù)寫到RAID系統(tǒng)中它的最終目的地之前發(fā)送這個確認。相應地,從系統(tǒng)存儲器MOa對盤的寫入能夠在后臺進行。注意,通過電池備份來備份這兩個罐的系統(tǒng)存儲器。另外,在將數(shù)據(jù)寫到驅(qū)動器系統(tǒng)時,第一罐210a可向第二罐21(^傳遞指示成功寫入的消息。這時,系統(tǒng)存儲器MOb(和系統(tǒng)存儲器MOa)中存儲的寫數(shù)據(jù)可被設置成臟狀態(tài),使得空間能夠再用于其它數(shù)據(jù)。因此,能夠避免對于首先將入站數(shù)據(jù)從主機I/O控制器寫到系統(tǒng)存儲器然后使用 (例如,處理器的)DMA引擎來在這兩個罐之間鏡像數(shù)據(jù)的需要。替代地,使用本發(fā)明的一個實施例,入站I/O寫分組能夠被并行地發(fā)送給兩個目的地系統(tǒng)存儲器和鏡像端口,從而消除存儲器讀/寫操作,并且節(jié)省存儲器帶寬以提供更高性能。或者較低成本的存儲器(例如,倉位頻率-1)能夠用于提供與常規(guī)RAID流播操作相當?shù)男阅?。雖然在圖3的實施例中以這種具體實現(xiàn)來描述,但是本發(fā)明的范圍并不局限于這個方面。要多播在根端口的上游端口始發(fā)的將以系統(tǒng)存儲器和對等裝置為目標的事務,一種機制可用于允許以系統(tǒng)存儲器的子集為目標的事務也被透明地復制到鏡像端口(例如, PCIe NTB端口)。為此,軟件可在每個根端口中創(chuàng)建能夠進行多播操作的多播存儲器窗口。作為一個示例,可提供基址和界限寄存器,以鏡像可對應于在NTB的枚舉期間定義的整個BAR或者那個BAR的子集的NTB主BAR其中之一的大小。當在根端口上看到上游寫事務時,將其解碼以確定其目的地。如果寫入的地址命中多播存儲器區(qū)域,則會未經(jīng)轉(zhuǎn)換地將其發(fā)送給系統(tǒng)存儲器以及在轉(zhuǎn)換之后發(fā)送給NTB的存儲器窗口。在一個實施例中,轉(zhuǎn)換可以是NTB的這兩側(cè)之間的直接地址轉(zhuǎn)換。在一個實施例中,直接地址轉(zhuǎn)換可在適當建立可位于每個相應主機的系統(tǒng)存儲器中的本地和遠程主機地址映射(address map)之后進行。現(xiàn)在參照圖4,所示的是根據(jù)本發(fā)明的一個實施例的直接地址轉(zhuǎn)換中使用的組件的框圖。如圖4所示,可存在本地主機地址映射410和遠程主機地址映射420。正如看到的,本地映射410可包括可對應于雙播存儲器區(qū)域的基址的基址位置412。另外,基址加偏移位置414可用于到達遠程映射420的轉(zhuǎn)換基址和偏移區(qū)域424。另外,基址轉(zhuǎn)換寄存器422可存在于遠程映射420中。各種其它寄存器和位置可存在于這些地址映射中。下列步驟概述一個可能的實現(xiàn)。為了建立,軟件讀取NTB中存儲的基址寄存器的值(例如,PBAR23SZ),并且將雙播操作的基址(DUALCATBASE)設置成PBAR23SZ的大小的倍數(shù)。這意味著,如果PBAR23SZ為8千兆字節(jié)(GB),則DUALCATBASE被置于PBAR23SZ的大小的倍數(shù)上,例如8G、16G、24G等等。隨后,可設置雙播操作的界限地址。這個界限地址 (DUALCASTLIMIT)可被設置成小于或等于 DUALCASTBASE+PBAR23SZ (例如,如果 PBAR23SZ = 8G并且DUALCASTBASE = 24G,則DUALCASTLIMIT能夠被設為最多32G)。相應地,雙播區(qū)域可被設置成表示用戶想要鏡像到遠程存儲器中的系統(tǒng)存儲器的區(qū)域。在一個實施例中,這些操作可由操作系統(tǒng)(OS)來設置。在操作期間,可在根端口檢查上游事務,以確定接收的地址是否落入由OS創(chuàng)建的雙播存儲器窗口之內(nèi)。這種確定可按照下列等式進行有效雙播地址=((DUALCASTLIMIT >接收的地址[63:0] >= DUALCASTBASE))。例如,假定作為雙播基址、由OS置于PBAR23SZ對齊的大小的倍數(shù)上、本例中為4GB的DUALCASTBASE的寄存器值=0000 003A0000 0000H,以及將窗口減小到3GB的 DUALCASTLIMIT = 00000003A C000 OOOOHo 還假定接收的地址=0000 003A 00A0 OOOOHo
      按照上式,這對應于有效雙播地址,并且因而轉(zhuǎn)換可進行,下面進一步論述。如果接收的地址在這個雙播存儲器窗口之外,則能夠根據(jù)系統(tǒng)的要求來解碼事務。例如,事務可被解碼到系統(tǒng)存儲器、對等解碼(peer decode)、減法解碼(subtractively decoded)到南橋或者主控中止(master aborted)。如果如上所述,事務處于有效雙播區(qū)域之內(nèi),則可將其轉(zhuǎn)換到定義的主側(cè)NTB存儲器窗口。這種轉(zhuǎn)換可如下轉(zhuǎn)換地址=((接收的地址& Sign_ExtencK2~PBAR23SZ) | PBAR2XLATR30]))。例如,要將以0000 003A 0000 0000H為基址的4GB窗口要求的入局地址轉(zhuǎn)換成以 0000 0040 0000 0000H為基址的4GB窗口,則可進行下列計算。接收的地址[63:0]= 0000 003A 00A0 0000HPBAR23SZ = 32,在這個示例中,它設置主BAR 2/3的大小=4GB。 Sign_ Extend(2"PBAR23SZ)= Sign_Extend(0000 0001 00000000H)= (FFFF FFFF 0000 0000H) = (0000 0000 FFFF FFFFH) PBAR2XLAT = 0000 0040 0000 0000H,它是到 NTB 主側(cè)存儲器中的基址(對齊大小的倍數(shù))。相應地,轉(zhuǎn)換地址=0000 003A 00A0 0000H&0000 0000 FFFF FFFFH10000 0040 0000 0000H = 0000 0040 00A0 OOOOHo注意,對關(guān)于入局地址的4GB窗口的基址的偏移在轉(zhuǎn)換地址中保存。使用轉(zhuǎn)換地址,可執(zhí)行雙播操作,以將入局事務發(fā)送到系統(tǒng)存儲器的(0000 0030 00A0 0000H)以及 NTB 的(0000 0040 00A0 0000H)。處理入局多播寫請求的實現(xiàn)可根據(jù)正使用的微體系結(jié)構(gòu)以不同方式來執(zhí)行。例如,一個實現(xiàn)可以是使請求離開接收器郵遞型隊列,并且將事務暫時保持在保持隊列中。然后,根端口能夠發(fā)送存取系統(tǒng)存儲器和存取對等存儲器的獨立請求。事務會保留在保持隊列中,直到副本為系統(tǒng)存儲器和對等存儲器接受,然后將它從保持隊列清除。一個備選實現(xiàn)可等待使請求離開接收器郵遞型隊列,直到以系統(tǒng)存儲器為目標的上游資源和對等資源均可用,然后同時向兩個通路發(fā)送。例如,到主存儲器的通路能夠發(fā)送具有接收到的相同地址的請求,以及到對等NTB的通路能夠在轉(zhuǎn)換之后向NTB主存儲器窗口之一發(fā)送請求。實施例可通過代碼來實現(xiàn),并且可存儲在存儲介質(zhì)上,存儲介質(zhì)上已經(jīng)存儲可用于對系統(tǒng)編程以執(zhí)行指令的指令。存儲介質(zhì)可包括但不限于任何類型的盤,包括軟盤、光盤、光盤、固態(tài)驅(qū)動器(SSD)、壓縮盤只讀存儲器(⑶-ROM)、可重寫壓縮盤(⑶-RW)和磁光盤;半導體器件,例如只讀存儲器(ROM)、例如動態(tài)隨機存取存儲器(DRAM)和靜態(tài)隨機存取存儲器(SARAM)等隨機存取存儲器(RAM)、可擦可編程只讀存儲器(EPROM)、閃速存儲器、電可擦可編程只讀存儲器(EEPROM)、磁卡或光卡;或者適合于存儲電子指令的任何其它類型的媒體。雖然針對有限數(shù)量的實施例描述了本發(fā)明,但是本領域的技術(shù)人員將會從其中知道大量的修改和變更。所附權(quán)利要求書意在涵蓋落入本發(fā)明的真實精神和范圍之內(nèi)的所有這類修改和變更。
      權(quán)利要求
      1.一種設備,包括第一罐,控制在包括多個盤的存儲系統(tǒng)中的數(shù)據(jù)的存儲,所述第一罐具有第一處理器、 緩存待存儲在所述存儲系統(tǒng)中的數(shù)據(jù)的第一系統(tǒng)存儲器以及第一鏡像端口;以及第二罐,控制在所述存儲系統(tǒng)中的數(shù)據(jù)的存儲,并且經(jīng)由點對點(PtP)互連耦合到所述第一罐,所述第二罐包括第二處理器、緩存待存儲在所述存儲系統(tǒng)中的數(shù)據(jù)的第二系統(tǒng)存儲器以及第二鏡像端口,其中,所述第一和第二系統(tǒng)存儲器將存儲在另一個系統(tǒng)存儲器中存儲的數(shù)據(jù)的鏡像副本,所述鏡像副本經(jīng)由所述PtP互連通過雙播事務來傳遞,其中,將至所述第一罐的入局數(shù)據(jù)并行地寫到所述第一系統(tǒng)存儲器以及通過所述第一和第二鏡像端口傳遞給所述第二罐。
      2.如權(quán)利要求1所述的設備,其中,所述第一罐未經(jīng)交換機直接耦合到始發(fā)對所述入局數(shù)據(jù)的寫請求的服務器。
      3.如權(quán)利要求1所述的設備,還包括耦合到所述第一處理器的裝置控制器,其中,所述裝置控制器將接收來自所述第一系統(tǒng)存儲器的所述入局數(shù)據(jù),并且將把所述入局數(shù)據(jù)寫到所述存儲系統(tǒng)的驅(qū)動器系統(tǒng)的至少一個驅(qū)動器。
      4.如權(quán)利要求1所述的設備,還包括所述第一處理器的廉價盤冗余陣列(RAID)引擎,從所述第一系統(tǒng)存儲器讀取所述入局數(shù)據(jù)并且對所述入局數(shù)據(jù)執(zhí)行奇偶校驗操作,以及將所述奇偶校驗操作的結(jié)果存儲在所述第一系統(tǒng)存儲器中。
      5.如權(quán)利要求1所述的設備,還包括所述第一罐的根端口,其中,所述根端口將根據(jù)包括所述入局數(shù)據(jù)的寫請求的地址來確定所述入局數(shù)據(jù)是否將經(jīng)由雙播事務來鏡像。
      6.如權(quán)利要求5所述的設備,其中,所述根端口將把所述寫請求的所述地址轉(zhuǎn)換到所述第二系統(tǒng)存儲器的存儲器窗口,并且將把所述雙播事務發(fā)送給具有所述地址的所述第一系統(tǒng)存儲器以及給具有所述轉(zhuǎn)換地址的所述第二罐。
      7.如權(quán)利要求2所述的設備,其中,所述第二處理器將在接收到所述入局數(shù)據(jù)的所述鏡像副本時經(jīng)由所述PtP互連來傳送確認,以及所述第一處理器將響應所述確認而向所述服務器傳送第二確認,以指示對所述入局數(shù)據(jù)的所述寫請求的成功完成。
      8.一種方法,包括在存儲系統(tǒng)的第一罐中從第一服務器接收包括寫數(shù)據(jù)和地址的寫請求;確定所述地址是否在所述第一罐的系統(tǒng)存儲器的多播區(qū)域之內(nèi);如果是的話,則將所述寫請求直接發(fā)送給所述第一罐的所述系統(tǒng)存儲器的所述多播區(qū)域以將所述寫數(shù)據(jù)存儲在所述第一罐的所述系統(tǒng)存儲器中,以及經(jīng)由點對點(PtP)鏈路發(fā)送給耦合到所述第一罐的第二罐的鏡像端口以將所述寫數(shù)據(jù)鏡像到所述第二罐的系統(tǒng)存儲器;以及在所述第一罐中經(jīng)由所述PtP鏈路從所述第二罐接收接收到所述寫數(shù)據(jù)的確認,并且將第二確認從所述第一罐傳遞給所述第一服務器。
      9.如權(quán)利要求8所述的方法,還包括從所述第一罐的所述系統(tǒng)存儲器讀取所述寫數(shù)據(jù)并且對所述寫數(shù)據(jù)執(zhí)行奇偶校驗操作,以及將所述奇偶校驗操作的結(jié)果存儲在所述第一罐的所述系統(tǒng)存儲器中。
      10.如權(quán)利要求9所述的方法,還包括使用所述第一罐的處理器的廉價盤冗余陣列 (RAID)引擎來執(zhí)行所述奇偶校驗操作。
      11.如權(quán)利要求10所述的方法,還包括此后經(jīng)由第二互連將所述寫數(shù)據(jù)和所述奇偶校驗操作結(jié)果從所述第一罐的所述系統(tǒng)存儲器發(fā)送給所述存儲系統(tǒng)的驅(qū)動器系統(tǒng)。
      12.如權(quán)利要求11所述的方法,還包括將消息從所述第一罐發(fā)送給所述第二罐,以指示所述寫數(shù)據(jù)和所述奇偶校驗操作結(jié)果到所述驅(qū)動器系統(tǒng)的成功寫入。
      13.如權(quán)利要求11所述的方法,還包括將所述寫數(shù)據(jù)和所述奇偶校驗操作結(jié)果存儲分布于所述驅(qū)動器系統(tǒng)的多個驅(qū)動器。
      14.一種系統(tǒng),包括第一罐,包括第一處理器、緩存數(shù)據(jù)的第一系統(tǒng)存儲器、與第一服務器進行通信的第一輸入/輸出(I/O)控制器、與盤存儲系統(tǒng)進行通信的第一裝置控制器以及第一鏡像端口 ;經(jīng)由點對點(PtP)互連耦合到所述第一罐的第二罐,所述第二罐包括第二處理器、緩存數(shù)據(jù)的第二系統(tǒng)存儲器、與第二服務器進行通信的第二 I/O控制器、與所述盤存儲系統(tǒng)進行通信的第二裝置控制器以及第二鏡像端口,其中,所述第一和第二系統(tǒng)存儲器將存儲在另一個系統(tǒng)存儲器中存儲的數(shù)據(jù)的鏡像副本,所述鏡像副本經(jīng)由所述PtP互連通過雙播事務來傳遞,其中,將至所述第一罐的寫請求的入局數(shù)據(jù)并行地寫到所述第一系統(tǒng)存儲器以及通過所述第一和第二鏡像端口傳遞給所述第二罐;以及所述盤驅(qū)動器系統(tǒng),包括多個盤驅(qū)動器。
      15.如權(quán)利要求14所述的系統(tǒng),還包括所述第一處理器的廉價盤冗余陣列(RAID)引擎,從所述第一系統(tǒng)存儲器讀取所述入局數(shù)據(jù)并且對所述入局數(shù)據(jù)執(zhí)行奇偶校驗操作,以及將所述奇偶校驗操作的結(jié)果存儲在所述第一系統(tǒng)存儲器中。
      16.如權(quán)利要求15所述的系統(tǒng),其中,所述第一裝置控制器將把所述入局數(shù)據(jù)和所述奇偶校驗操作結(jié)果從所述第一系統(tǒng)存儲器寫到所述盤驅(qū)動器系統(tǒng)的至少一些所述盤驅(qū)動
      17.如權(quán)利要求16所述的系統(tǒng),其中,所述第一罐將向所述第二罐發(fā)送消息,以使所述第二罐能夠釋放存儲所述入局數(shù)據(jù)的所述鏡像副本的存儲器區(qū)域。
      18.如權(quán)利要求14所述的系統(tǒng),還包括所述第一罐的根端口,其中,所述根端口將根據(jù)所述寫請求的地址來確定所述入局數(shù)據(jù)是否將經(jīng)由雙播事務來鏡像。
      19.如權(quán)利要求18所述的系統(tǒng),其中,所述根端口將把所述寫請求的所述地址轉(zhuǎn)換到所述第二系統(tǒng)存儲器的存儲器窗口,并且將把所述雙播事務發(fā)送給具有所述地址的所述第一系統(tǒng)存儲器以及具有所述轉(zhuǎn)換地址的所述第二罐。
      20.如權(quán)利要求14所述的系統(tǒng),其中,所述第二罐將在接收到所述入局數(shù)據(jù)的所述鏡像副本時經(jīng)由所述PtP互連來傳送確認,以及所述第一罐將響應所述確認而向所述服務器傳送第二確認,以指示對所述入局數(shù)據(jù)的所述寫請求的成功完成。
      全文摘要
      本申請涉及向多個存儲控制器多播寫請求。在一個實施例中,本發(fā)明包括一種用于執(zhí)行多播的方法,包括從第一罐中的第一服務器接收包括寫數(shù)據(jù)和地址的寫請求;確定地址是否在第一系統(tǒng)存儲器的多播區(qū)域之內(nèi);以及如果是的話,則將寫請求直接發(fā)送給多播區(qū)域以存儲寫數(shù)據(jù),并且還發(fā)送給耦合到第一罐的第二罐的鏡像端口以將寫數(shù)據(jù)鏡像到第二罐的第二系統(tǒng)存儲器。描述其它實施例并且要求其權(quán)益。
      文檔編號H04L29/08GK102209103SQ20111008639
      公開日2011年10月5日 申請日期2011年3月29日 優(yōu)先權(quán)日2010年3月29日
      發(fā)明者J·A·米切爾, P·庫馬爾 申請人:英特爾公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1