TWI507866B - 儲存系統之冗餘儲存控制器間之映射資料 - Google Patents

儲存系統之冗餘儲存控制器間之映射資料 Download PDF

Info

Publication number
TWI507866B
TWI507866B TW099132166A TW99132166A TWI507866B TW I507866 B TWI507866 B TW I507866B TW 099132166 A TW099132166 A TW 099132166A TW 99132166 A TW99132166 A TW 99132166A TW I507866 B TWI507866 B TW I507866B
Authority
TW
Taiwan
Prior art keywords
cartridge
data
processor
ptp
interconnect
Prior art date
Application number
TW099132166A
Other languages
English (en)
Other versions
TW201120630A (en
Inventor
Pankaj Kumar
Hang T Nguyen
Mark Yarch
Timothy J Jehl
John A Miller
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW201120630A publication Critical patent/TW201120630A/zh
Application granted granted Critical
Publication of TWI507866B publication Critical patent/TWI507866B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Description

儲存系統之冗餘儲存控制器間之映射資料 發明的技術領域
本發明係有關儲存系統之冗餘儲存控制器間的鏡像映射資料(亦稱資料鏡像處理)技術。
發明的技術背景
儲存系統,例如資料儲存系統,典型地包括具有冗餘儲存控制器(通常稱為貯存筒(canister))、冗餘電源供應器、冷卻解決方案、以及碟片陣列的一外部儲存平台。該平台解決方案係設計為能以完全冗餘輸入/輸出(I/O)路徑與冗餘控制器來容許一單點故障狀況,以使資料保持為可存取的。一包覆體中的二個冗餘貯存筒係經由一被動式背板連接,以致能一種快取鏡像映射特徵。當一貯存筒故障時,另一個貯存筒取得對與該故障貯存筒相關聯之硬碟的存取,並且繼續對該等硬碟進行I/O任務,直到該故障貯存筒得到維修為止。
為了致能冗餘操作,係針對所有未完成的碟片限定I/O異動而在該等貯存筒之間進行系統快取鏡像映射操作。該鏡像映射操作主要地包括使該等貯存筒的系統快取記憶體同步化。儘管一單一節點故障可能會使其本地快取記憶體的內容遺失,一第二副本仍會保留在冗餘節點的快取記憶體中。然而,目前的系統存在著某些複雜性,包括鏡像映射操作所耗用的頻寬限制以及進行該等操作所需的潛伏期間延遲。
發明的概要說明
依據本發明的一實施例,係特地提出一種設備,其包含:用以控制資料儲存在一儲存系統中之狀況的一第一貯存筒,該儲存系統包括多個碟片,該第一貯存筒具有組配為用於單處理器模式並且具有一第一內部節點識別符的一第一處理器,以及用以快取欲儲存在該儲存系統中之資料的一第一系統記憶體;以及用以控制資料儲存在該儲存系統中之狀況並且經由一點對點(PtP)互連體耦合至該第一貯存筒的一第二貯存筒,該第二貯存筒包括組配為用於單處理器模式並且具有用以識別該第一處理器之一第二內部節點識別符以及一第二外部節點識別符的一第二處理器,以及用以快取欲儲存在該儲存系統中之資料的一第二系統記憶體,其中該等第一與第二系統記憶體用以儲存受儲存在另一個系統記憶體中之該資料的一鏡像映射副本,其中該鏡像映射副本係經由該PtP互連體而藉由多項非同調異動來傳遞,其中該PtP互連體係根據一快取同調協定。
圖式的簡要說明
第1圖以方塊圖展示出根據本發明一實施例的一種系統。
第2A圖以方塊圖展示出根據本發明一實施例之處理器以及貯存筒的相關聯記憶體。
第2B圖以方塊圖展示出根據本發明一實施例的一種系統記憶體映像圖。
第3圖以流程圖展示出根據本發明一實施例的一種方法。
較佳實施例的詳細說明
在各種不同實施例中,根據一點對點(PtP)通訊協定的一互連體可用來作為一貯存筒間通訊鏈結,以提供快取鏡像映射功能。在一實施例中,該通訊協定可根據快速路徑互連體(QPI)協定。該QPI協定為一種包括多個層體的快取同調協定,包括一實體層、一鏈結層以及一協定層。藉著使用此協定,可以在包括多個快取代理器的一系統中進行同調通訊,該等快取代理器可為處理器核心或其他該種代理器。該協定提供透過多個通道的各種不同通訊以及沿著低潛伏期延遲鏈結的虛擬網路,該等低潛伏期延遲鏈結提供經由一PtP鏈結而耦合在一起之多個裝置之間的通訊。
儘管該QPI協定為快取同調式,且典型地係藉由板上互連體來備置,例如用以耦合多個部件的主機板路由線跡,例如一多處理器系統的多個處理器,實施例可使用一QPI鏈結來把不同的貯存筒耦合在一起,其可經由一背板(例如,一中平面)而互連或者以另一種板外方式來互連。該等不同貯存筒之間的通訊可能是非同調的,但仍可利用該QPI協定來實行。如本文將說明地,該QPI協定的邏輯可受到修正,以致能該等非同調異動,因為雖然可以備置多個貯存筒,各個貯存筒可受組配為一單處理器(UP)系統,以使得為該QPI快取同調協定之部分的多項窺探異動不會受到使用。相反地,習知的QPI鏈結係用於非UP系統組態中,因為該快取同調協定提供多個快取代理器之間的同調性。
於此,該QPI協定的高效能以及低潛伏期延遲性質可用來釋放其他互連體,例如快速周邊部件互連體(PCI ExpressTM (PCIeTM ))的線道,其可能會因著串列附接SCSI(SAS)與光纖通道(FC)介面以及其他I/O目的而用來進行快取鏡像映射。因此,QPI作為該等二個貯存筒之間的閘道器,並且使本地記憶體與另一個貯存筒彼此隔絕,而同時允許各個貯存筒能獨立地管理其本地資源。該QPI互連體提供用於快取鏡像映射以及在二個貯存筒之間傳訊的頻寬,以供確認該資料係鏡像映射到該冗餘記憶體。
現在請參照第1圖,其以方塊圖展示出根據本發明一實施例的一種系統。如第1圖所示,系統100可為一種儲存系統,其中多個伺服器,例如伺服器105a 與105b (大致上稱為伺服器105),係連接至大量儲存系統190;該大量儲存系統190可包括多個碟片驅動機1950 -195n (大致上稱為碟片驅動機195),其可為一不昂貴碟片冗餘陣列(RAID)並且可根據一種Fibre Channel(光纖通道)/SAS/SATA模型。
為了實現伺服器105與儲存系統190之間的通訊,通訊可流經切換器110a 與110b (大致上稱為切換器110),其可為十億位元乙太網路(GigE)/Fibre Channel/SAS切換器。依次地,該等切換器可與一對貯存筒120a 與120b (可統稱為貯存筒120)進行通訊。該等貯存筒可各包括用以致能根據本發明一實施例之快取記憶體鏡像映射的各種不同部件。
特定地,各個貯存筒可(大致地)包括處理器135。為了展示目的,將討論第一貯存筒120a ,且因此處理器135a 可與前端控制器裝置125a 進行通訊。依次地,處理器135a 可與周邊控制器中樞(PCH)145a 進行通訊,其依次地與多個周邊裝置通訊。同樣地,PCH 145可與媒體接取控制器/實體裝置(MAC/PHY)130a 進行通訊,其在一實施例中可為一雙重GigE MAC/PHY裝置,以致能管理資訊的通訊。要注意的是,處理器135a 可另耦合至基板管理控制器(BMC)150a ,其可依次地經由一系統管理(SM)匯流排與中平面180通訊。
處理器135a 另耦合至記憶體140a ,其在一實施例中可為實行為雙直列記憶體模組(DIMM)的一動態隨機存取記憶體(DRAM)。依次地,該處理器可耦合至後端控制器裝置165a ,其經由中平面連接器170而亦耦合至中平面180。
再者,為了致能根據本發明一實施例的鏡像映射功能,PtP互連體160可在處理器135a 以及中平面連接器170之間耦合。如所見地,一相似PtP互連體可直接地把多項通訊從此鏈結路由到一相似PtP互連體160b ,其耦合至第二貯存筒120b 的處理器140b 。在一實施例中,該等鏈結可為QPI鏈結,如上面所討論地。如第1圖所示,為了致能冗餘操作,中平面180可致能從各個貯存筒到各個對應碟片驅動機195的通訊。儘管在第1圖的實施例中係展示出此種特定的實行方案,本發明的範圍並不受限於此。例如,可以有較多或較少的伺服器與碟片驅動機,且在某些實施例中,亦可以備置額外的貯存筒。
現在請參照第2A圖,其以方塊圖展示出根據本發明一實施例之處理器以及貯存筒的相關聯記憶體。如第2A圖所示,一第一貯存筒可包括處理器135a ,其在第2A圖中展示為CPU0,其可受設定為具有一內部節點ID 001,以及一外部節點ID 010,對應於第二處理器135b 的內部節點ID。如進一步所見地,各個處理器135a 可包括整合式IO(IIO)控制器136a ,其可藉由其本身的內部節點ID而識別出來(000表示第一處理器135a ,而100表示第二處理器135b ),且其又可包括內部DMA引擎138。各個處理器亦可耦合至其本地記憶體140。該本地記憶體之多個區域的對映係展示於第2B圖中,如下所述。
在一實施例中,各個處理器可形成在一單一半導體晶粒上,包括一或多個處理器核心(例如,以CPU0表示)以及一IIO控制器。在各種不同實施例中,該等代理器可藉由一晶片上QPI鏈結而耦合。此晶片上QPI鏈結可為一習知QPI鏈結,但沒有實體層作為其部份。換言之,因為通訊是以〝晶片上〞方式進行的,該處理器的一鏈結層可直接地與該IIO控制器的一鏈結層進行通訊,進而改善通訊。再者,儘管並未展示於第2A圖中,要了解的是,可存在有一整合式記憶體控制器。在不同實行方案中,該記憶體控制器可在處理器135中受整合,且可與記憶體140a 相連結。然而,在其他實施例中,該記憶體控制器可為一分別部件,或者可在記憶體140中受整合,作為一DIMM的部分。相似部件可存在於該第二貯存筒中,其可相似地包括具有一IIO控制器與DMA引擎的一處理器,且其可與其本身的本地記憶體相關聯。
要注意的是,第2A圖展示出二個獨立貯存筒的一抽象圖,該等貯存筒各具有其本身的記憶體子系統與整合式DMA引擎。即使各個貯存筒為一單處理器(UP)系統,實施例可使用該CPU的雙重處理器(DP)性能,以進行跨越該PtP互連體的資料鏡像映射動作。舉一實例來說,各個CPU可受約束以分別地設定其內部NodeID(000/001為CPU0,而100/010為CPU1)以及外部NodeID(010為CPU0,而001為CPU1)。各個貯存筒啟動而作為一UP系統,但各個CPU中的DMA引擎受規劃成可辨識其本地CPU節點ID(001為CPU0,而010為CPU1)以及遠端CPU節點ID(010為CPU0,而001為CPU1)。因此,與習知UP系統(其中該等二個貯存筒的個別處理器可具有相同的節點ID)相反地,可使用不同節點ID來致能根據本發明一實施例的鏡像映射操作。該等節點ID可用來組配該系統記憶體映像圖。
因此,為了組配各個貯存筒,該處理器可受約束以根據UP系統選出NodeID,並且根據UP系統選出一SMBUS ID。於此,二個貯存筒均啟動而作為UP系統。因此,該等DMA引擎受規劃成可辨識該等二個CPU節點ID(即,001與010)。
現在請參照第2B圖,其以方塊圖展示出根據本發明一實施例的一種系統記憶體映像圖。如第2B圖所示,分別的系統記憶體140a 與140b 出現在該等二個不同的貯存筒中。可把各個記憶體分割成一同調(例如,可快取)區域以及一不可快取區域。大致上,該同調區域可用來進行本地記憶體存取動作。特別地,可把進入的寫入異動以及其他資料寫入到該同調區域中,更確切來說,寫入到該同調區域的部份A中。受寫入到此同調部份中的任何資訊可被鏡像映射到部份B,同樣是屬於該同調區域。可被鏡像映射到另一個系統記憶體的是本地記憶體區域B,如第2B圖的箭頭所示。如所見地,各個記憶體另包括一個不可快取區域,其包括部份C與部份D。要注意的是,各個記憶體的部份C可作為一阻擋區域,以使該本地記憶體區域與該經鏡像映射資料區域D分離。
要注意的是,在該QPI鏈結上並沒有窺探動作,因為各個系統均如一UP系統般運作。區域C可作為一種軟體防衛機構,以供用來確保該資料受鏡像映射到該冗餘貯存筒。該QPI鏈結上的入站記憶體異動(未受窺探)受到強而有力的定序,以使得來自該DMA引擎的寫入異動能以先進先出(FIFO)順序完成而到達一記憶體控制器的一寫入資料緩衝器,並且最終到達該記憶體。對遠端鏡像映射區域的最後DMA讀取異動將可確保所有先前寫入內容都會被寫入到系統記憶體。在各種不同實施例中,當發生一電源故障狀況時,該系統記憶體可受到該平台上之一電池備用單元的保護。
儘管在第2B圖的實施例中係展示出此特定實行方案,本發明的範圍並不受限於此。因此,在正常操作中,各個處理器僅可存取其記憶體的同調區域(A與B)。當發生鏡像映射動作時,將使用該DMA引擎來把資料從一節點上的同調記憶體移動到第二節點上的不可快取記憶體中。
現在請參照第3圖,其以流程圖展示出根據本發明一實施例的一種方法。如第3圖所示,方法200可用以在多個貯存筒之間進行根據本發明一實施例的快取記憶體鏡像映射動作。如第3圖所示,方法200可藉著接收來自一第一貯存筒中之一伺服器的寫入資料而開始(方塊210)。例如,該貯存筒可接收欲發送到該儲存系統的資料。因為對該儲存系統進行的傳輸動作會產生一潛伏期間延遲,該資料可首先被儲存在該第一貯存筒之系統記憶體的一同調區域中(方塊220)。因此,該資料能成功地受儲存在該貯存筒中,以使得寫入異動受到快取並且依照順序排列,以供稍後發送到該儲存系統。隨後,利用該第一貯存筒之I/O控制器的一DMA引擎(其可為一處理器的整合式I/O控制器),該寫入資料可被鏡像映射到一第二貯存筒的一系統記憶體(方塊230)。更確切來說,從該第一貯存筒傳遞寫入資料到該第二貯存筒的動作可藉由一PtP鏈結來進行,且在特定實行方案中,是藉由一QPI鏈結來進行。要注意的是,此項異動是一項非同調異動,雖然該QPI鏈結典型地為一快取同調協定。
當該第二貯存筒接收該異動與寫入資料時,它將把該資料寫入到其系統記憶體中,例如寫入到該系統記憶體的一不可快取區域中。當成功地寫入該資料時,該第二貯存筒可把一確認訊息發送回到該第一貯存筒。亦可沿著該QPI鏈結來發送此訊息。
因此,該第一貯存筒可接收該確認訊息(方塊240)。隨後,該第一貯存筒可從一第一貯存筒把該確認訊息傳遞回到該起源或來源伺服器(方塊250)。於此,該伺服器接收該項異動的一早期確認訊息,以使得可以在該伺服器中發表對該異動配置的資源。要注意的是,鏡像映射動作可於二個方向發生,以使得該第二貯存筒中的快取資料可被鏡像映射到該第一貯存筒的系統記憶體。
仍請參照第3圖,稍後,例如當沿著該第一貯存筒以及該儲存系統之間之另一個互連體的頻寬為可得時,該第一貯存筒可把該寫入資料傳遞到該儲存系統(方塊260)。如上面討論地,此項通訊係經由一不同鏈結來進行,例如,一PCIe、光纖通道、或其他此種互連體。要注意的是,相較於在相同PCIe/光纖通道鏈結上耗用頻寬以供進行該快取鏡像映射異動的狀況來說,可更快速地進行該通訊。儘管在第3圖的實施例中係展示出此特定實行方案,本發明的範圍並不受限於此。
各個貯存筒可支援受管理的熱插拔/移除操作。實施例可使用QPI PHY/鏈結層的多項特徵來進行該種操作。例如,可設定一PHY層控制暫存器的一中斷位元,以使QPI鏈結有效/無效、使終止動作有效/無效、QPI PHY重置以及L0狀態(鏈結狀態)。
使用一QPI鏈結以供進行快取鏡像映射的動作將允許該等二個貯存筒之間的較高頻寬(BW)以及較低潛伏期間延遲。此外,藉著使用QPI鏈結來進行鏡像映射,可使用該平台上的PCIe或其他互連體來致能連接更多I/O裝置,相對於針對鏡像映射使用狀況而受到耗用的I/O裝置。此亦可移除使該PCIe鏈結多樣化的相關複雜性,例如實行一非通透橋接器(NTB)特徵或另一種協定,例如用於貯存筒間鏈結的SAS與光纖控制器。
實施例可實行於程式碼中,並且可受儲存在上面儲存有指令的一儲存媒體上,其可用來規劃一系統以執行該等指令。該儲存媒體可包括但不限於:任何類型的碟片,包括軟碟片、光碟片、固態硬碟驅動機(SSD)、小型光碟唯讀記憶體(CD-ROM)、可複寫式光碟(CD-RW)、以及磁光碟;半導體裝置,例如唯讀記憶體(ROM);隨機存取記憶體(RAM),例如動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、可抹除式可規劃唯讀記憶體(EPROM)、快閃記憶體、電性可抹除式可規劃唯讀記憶體(EEPROM);磁性或光學卡、或適於儲存電子指令的任何其他類型媒體。
儘管已經參照有限數量的實施例來揭露本發明,熟知技藝者將可從其了解各種不同的修改方案與變化方案。所意圖的是,以下的申請專利範圍涵蓋屬於本發明之真實精神與範圍內的該等修改方案與變化方案。
100...系統
105a ~105b ...伺服器
110a ~110b ...切換器
120a ~120b ...貯存筒
125a ~125b ...前端控制器裝置
130a ~130b ...媒體接取控制器/實體裝置(MAC/PHY)
135a ~135b ...處理器
136a ~136b ...整合式IO(IIO)控制器
138a ~138b ...DMA引擎
140a ~140b ...系統記憶體
145a ~145b ...周邊控制器中樞(PCH)
150a ~150b ...基板管理控制器(BMC)
160a ~160b ...PtP互連體
165a ~165b ...後端控制器裝置
170...中平面連接器
180...中平面
190...大量儲存系統
1950 ~195n ...碟片驅動機
210~260...步驟方塊
第1圖以方塊圖展示出根據本發明一實施例的一種系統。
第2A圖以方塊圖展示出根據本發明一實施例之處理器以及貯存筒的相關聯記憶體。
第2B圖以方塊圖展示出根據本發明一實施例的一種系統記憶體映像圖。
第3圖以流程圖展示出根據本發明一實施例的一種方法。
100...系統
105a ~105b ...伺服器
110a ~110b ...切換器
120a ~120b ...貯存筒
125a ~125b ...前端控制器裝置
130a ~130b ...媒體接取控制器/實體裝置(MAC/PHY)
135a ~135b ...處理器
136a ~136b ...整合式IO(IIO)控制器
140a ~140b ...系統記憶體
145a ~145b ...周邊控制器中樞(PCH)
150a ~150b ...基板管理控制器(BMC)
160a ~160b ...PtP互連體
165a ~165b ...後端控制器裝置
170...中平面連接器
180...中平面
190...大量儲存系統
1950 ~195n ...碟片驅動機

Claims (19)

  1. 一種設備,其包含:用以控制資料儲存在一儲存系統中之狀況的一第一貯存筒,該儲存系統包括多個碟片,該第一貯存筒具有受組配為用於單處理器模式並且具有一第一內部節點識別符的一第一處理器,以及用以快取欲儲存在該儲存系統中之資料的一第一系統記憶體;以及用以控制資料儲存在該儲存系統中之狀況並且經由一點對點(PtP)互連體耦合至該第一貯存筒的一第二貯存筒,該第二貯存筒包括受組配為用於單處理器模式並且具有用以識別該第一處理器之一第二內部節點識別符以及一第二外部節點識別符的一第二處理器,以及用以快取欲儲存在該儲存系統中之資料的一第二系統記憶體,其中該等第一與第二系統記憶體用以儲存受儲存在另一個系統記憶體中之資料的一鏡像映射副本,其中該鏡像映射副本係經由該PtP互連體而藉由多項非同調異動來傳遞,其中該PtP互連體係根據一快取同調協定且係受修改以傳遞於該第一及第二貯存筒之間而不用窺探該快取同調協定之異動。
  2. 如申請專利範圍第1項之設備,其中該第一系統記憶體係受分割為用以儲存該第一貯存筒之快取資料的一可快取部份,以及用以儲存受儲存在該第二系統記憶體中之該資料之該鏡像映射副本的一第二部份,該第二部份不可受快取。
  3. 如申請專利範圍第1項之設備,其中該第一處理器用以在接收到該第二系統記憶體資料的該鏡像映射副本時經由該PtP互連體發送一確認訊息,且該第二處理器用以把該確認訊息發送到一伺服器,而該第二處理器係從該伺服器接收到儲存在該第二系統記憶體中的該資料。
  4. 如申請專利範圍第1項之設備,其中該第一貯存筒另包括用以與耦合至該第一貯存筒之一周邊裝置通訊的一快速周邊部件互連(PCIe)互連體,其中該PCIe互連體並不用來傳遞鏡像映射資料。
  5. 如申請專利範圍第1項之設備,其中該第一處理器包括具有一第三內部節點識別符的一整合式輸入/輸出(I/O)控制器,該整合式I/O控制器包括使用該第二內部節點識別符把儲存在該第一貯存筒中之資料的該鏡像映射副本傳遞到第二貯存筒的一直接記憶體存取(DMA)引擎。
  6. 如申請專利範圍第5項之設備,其中該DMA引擎用以經由該PtP互連體傳遞儲存在該第一貯存筒中之資料的該鏡像映射副本。
  7. 如申請專利範圍第5項之設備,其中該第一處理器包括經由一內部PtP互連體耦合至該整合式I/O控制器的至少一核心,其中該內部PtP互連體並不包括一實體層。
  8. 如申請專利範圍第1項之設備,其中該第一貯存筒係經由一中平面耦合至該第二貯存筒,且該第一貯存筒的一第一PtP鏈結係耦合至該中平面的一第二PtP鏈結,且 該第二PtP鏈結係耦合至該第二貯存筒的一第三PtP鏈結。
  9. 一種方法,其包含下列步驟:自一儲存系統之一第一貯存筒中之一第一伺服器接收寫入資料,該第一貯存筒受組配作為一單處理器系統;把該寫入資料儲存在該第一貯存筒之一系統記憶體的一同調區域中;把該寫入資料鏡像映射到該儲存系統之一第二貯存筒的一系統記憶體,該第二貯存筒係根據一快取同調協定透過一點對點(PtP)鏈結而經由一非同調異動耦合到該第一貯存筒,該第二貯存筒受組配作為一單處理器系統;以及在將該寫入資料自該第一貯存筒寫入至該儲存系統的一碟片驅動機之前,經由該PtP鏈結,於該第一貯存筒中自該第二貯存筒接收把該寫入資料儲存到該第二貯存筒的一確認訊息,並且從該第一貯存筒把該確認訊息傳遞到該第一伺服器,用以致能該第一伺服器來釋放一或多個配置給該寫入資料的資源。
  10. 如申請專利範圍第9項之方法,其另包含使用該第一貯存筒之一輸入/輸出(I/O)控制器的一直接記憶體存取(DMA)引擎來鏡像映射該寫入資料。
  11. 如申請專利範圍第10項之方法,其另包含把該第一貯存筒的一第一處理器設定為一單處理器組態,該單處理器組態具有用以識別該第一貯存筒之一處理器的一第 一內部節點識別符、用以識別該I/O控制器的一第二節點識別符、以及用以識別該第二貯存筒之一處理器的一第一外部節點識別符。
  12. 如申請專利範圍第9項之方法,其另包含隨後經由一第二互連體從該第一貯存筒傳送該寫入資料到該儲存系統的該碟片驅動機。
  13. 如申請專利範圍第9項之方法,其另包含將該寫入資料鏡像映射到該第二貯存筒之該系統記憶體的一不可快取區域。
  14. 如申請專利範圍第9項之方法,其另包含經由一第二非同調異動而透過該點對點鏈結,將儲存在該第二貯存筒之該系統記憶體中的第二資料鏡像映射到該第一貯存筒的該第一系統記憶體,其中該經鏡像映射第二資料係儲存在該第一貯存筒之該系統記憶體的一不可快取區域中。
  15. 一種系統,其包含:用以控制資料儲存在該系統中之狀況的一第一貯存筒,該第一貯存筒具有受組配為用於單處理器模式且具有用以識別該第一處理器之一第一內部節點識別符以及用以識別一第二貯存筒之一第二處理器之一第一外部節點識別符的一第一處理器,以及用以快取欲儲存在該系統中之資料的一第一系統記憶體;以及用以控制資料儲存在該儲存系統中之狀況且經由一點對點(PtP)互連體而透過一中平面耦合至該第一貯存筒 的一第二貯存筒,該第二貯存筒包括受組配為用於單處理器模式且具有用以識別該第二處理器之一第二內部節點識別符以及用以識別該第一處理器之一第二外部節點識別符的一第二處理器,以及用以快取欲儲存在該儲存系統中之資料的一第二系統記憶體,其中該等第一與第二系統記憶體用以儲存受儲存在另一個系統記憶體中之資料的一鏡像映射副本,其中該鏡像映射副本係經由該PtP互連體而藉由非同調異動來傳遞,其中該PtP互連體係根據一快取同調協定;以及經由多個第二互連體而透過該中平面耦合至該第一貯存筒以及該第二貯存筒的多個大量儲存裝置,該等第二互連體具有不同於該快取同調協定的一通訊協定,其中該等多個大量儲存裝置用以儲存該受快取資料,且其中在將該資料儲存在該等多個大量儲存裝置的一或多個之前,該第一處理器用以在接收到該第二系統記憶體資料的該鏡像映射副本時經由該PtP互連體發送一確認訊息,且該第二處理器用以把該確認訊息發送到一伺服器,而該第二處理器係從該伺服器接收到儲存在該第二系統記憶體中的該資料。
  16. 如申請專利範圍第15項之系統,其中該第一系統記憶體係受分割為用以儲存該第一貯存筒之快取資料的一可快取部份、以及用以儲存受儲存在該第二系統記憶體中之該資料之該鏡像映射副本的一第二部份,該第二部份不可受快取。
  17. 如申請專利範圍第15項之系統,其中該PtP互連體屬於一快速路徑互連體協定,且該等多個第二互連體屬於一快速周邊部件互連(PCIe)協定。
  18. 如申請專利範圍第15項之系統,其中該第一處理器包括具有一第三內部節點識別符的一整合式輸入/輸出(I/O)控制器,該第三內部節點識別符用以識別該整合式I/O控制器,該整合式I/O控制器包括使用該第一外部節點識別符把儲存在該第一貯存筒中之資料的該鏡像映射副本傳遞到第二貯存筒的一直接記憶體存取(DMA)引擎。
  19. 如申請專利範圍第18項之系統,其中該第一處理器包括經由一內部PtP互連體耦合至該整合式I/O控制器的至少一核心,其中該內部PtP互連體並不包括一實體層。
TW099132166A 2009-11-30 2010-09-23 儲存系統之冗餘儲存控制器間之映射資料 TWI507866B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/627,440 US8375184B2 (en) 2009-11-30 2009-11-30 Mirroring data between redundant storage controllers of a storage system

Publications (2)

Publication Number Publication Date
TW201120630A TW201120630A (en) 2011-06-16
TWI507866B true TWI507866B (zh) 2015-11-11

Family

ID=44067168

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099132166A TWI507866B (zh) 2009-11-30 2010-09-23 儲存系統之冗餘儲存控制器間之映射資料

Country Status (4)

Country Link
US (1) US8375184B2 (zh)
CN (1) CN102081561B (zh)
TW (1) TWI507866B (zh)
WO (1) WO2011066033A2 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120016992A1 (en) * 2010-07-16 2012-01-19 Lsi Corporation Architecture for improved cloud computing
US8639393B2 (en) * 2010-11-30 2014-01-28 Caterpillar Inc. System for automated excavation planning and control
US8880768B2 (en) * 2011-05-20 2014-11-04 Promise Technology, Inc. Storage controller system with data synchronization and method of operation thereof
WO2013103339A1 (en) * 2012-01-04 2013-07-11 Intel Corporation Bimodal functionality between coherent link and memory expansion
US20140281071A1 (en) 2013-03-15 2014-09-18 Jianping Jane Xu Optical memory extension architecture
CN105051707A (zh) * 2013-04-01 2015-11-11 惠普发展公司,有限责任合伙企业 外部存储器控制器
US11126372B2 (en) * 2013-04-01 2021-09-21 Hewlett Packard Enterprise Development Lp External memory controller
US9436972B2 (en) 2014-03-27 2016-09-06 Intel Corporation System coherency in a distributed graphics processor hierarchy
JP5936152B2 (ja) 2014-05-17 2016-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メモリアクセストレース方法
US9832261B2 (en) * 2014-09-30 2017-11-28 Emc Corporation Cloud consistency technology
US9734115B2 (en) 2014-11-18 2017-08-15 Industrial Technology Research Institute Memory mapping method and memory mapping system
CN104572508A (zh) * 2015-01-22 2015-04-29 山东超越数控电子有限公司 一种基于PCIE非透明桥的cache镜像方法
US9916241B2 (en) * 2015-08-14 2018-03-13 Netapp, Inc. Storage controller caching using symmetric storage class memory devices
US10127152B2 (en) 2015-10-20 2018-11-13 International Business Machines Corporation Populating a second cache with tracks from a first cache when transferring management of the tracks from a first node to a second node
US10320936B2 (en) 2015-10-20 2019-06-11 International Business Machines Corporation Populating a secondary cache with unmodified tracks in a primary cache when redirecting host access from a primary server to a secondary server
CA2963915A1 (en) * 2015-12-17 2017-06-17 Chunbao YAN Write request processing method, processor, and computer
KR20180080775A (ko) * 2017-01-05 2018-07-13 에스케이하이닉스 주식회사 동적 미러링이 가능한 메모리 장치, 메모리 모듈 및 반도체 시스템
US11157422B2 (en) * 2017-03-31 2021-10-26 Intel Corporation Shared memory for intelligent network interface cards
US10585706B2 (en) * 2017-06-12 2020-03-10 Dell Products, L.P. System and method for allocating memory devices among information handling systems in a chassis
US10452503B2 (en) * 2017-09-29 2019-10-22 Hewlett Packard Enterprise Development Lp Bidirectional replication
CN108848187B (zh) * 2018-07-16 2021-03-16 苏州浪潮智能科技有限公司 一种建立通信连接的方法、装置、设备及可读存储介质
US10803008B2 (en) * 2018-09-26 2020-10-13 Quanta Computer Inc. Flexible coupling of processor modules
US10901734B2 (en) 2019-03-01 2021-01-26 Micron Technology, Inc. Memory mapping using commands to transfer data and/or perform logic operations
US11182313B2 (en) * 2019-05-29 2021-11-23 Intel Corporation System, apparatus and method for memory mirroring in a buffered memory architecture
US11194678B2 (en) * 2020-03-02 2021-12-07 Silicon Motion, Inc. Method and apparatus for performing node information exchange management of all flash array server

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5383192A (en) * 1992-12-23 1995-01-17 Intel Corporation Minimizing the likelihood of slip between the instant a candidate for a break event is generated and the instant a microprocessor is instructed to perform a break, without missing breakpoints
CN1149735A (zh) * 1994-05-25 1997-05-14 西门子公司 模块式结构的服务个人计算机
TW455813B (en) * 1999-01-25 2001-09-21 Mylex Corp Full cache coherency across multiple raid controllers
US20030110330A1 (en) * 2001-12-12 2003-06-12 Fujie Yoshihiro H. System and method of transferring data from a secondary storage controller to a storage media after failure of a primary storage controller
US20030158999A1 (en) * 2002-02-21 2003-08-21 International Business Machines Corporation Method and apparatus for maintaining cache coherency in a storage system
US20050138304A1 (en) * 2003-12-18 2005-06-23 Siva Ramakrishnan Performing memory RAS operations over a point-to-point interconnect
US20050182906A1 (en) * 2004-02-18 2005-08-18 Paresh Chatterjee Systems and methods for cache synchronization between redundant storage controllers

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009488A (en) * 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US20020053004A1 (en) * 1999-11-19 2002-05-02 Fong Pong Asynchronous cache coherence architecture in a shared memory multiprocessor with point-to-point links

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5383192A (en) * 1992-12-23 1995-01-17 Intel Corporation Minimizing the likelihood of slip between the instant a candidate for a break event is generated and the instant a microprocessor is instructed to perform a break, without missing breakpoints
CN1149735A (zh) * 1994-05-25 1997-05-14 西门子公司 模块式结构的服务个人计算机
TW455813B (en) * 1999-01-25 2001-09-21 Mylex Corp Full cache coherency across multiple raid controllers
US20030110330A1 (en) * 2001-12-12 2003-06-12 Fujie Yoshihiro H. System and method of transferring data from a secondary storage controller to a storage media after failure of a primary storage controller
US20030158999A1 (en) * 2002-02-21 2003-08-21 International Business Machines Corporation Method and apparatus for maintaining cache coherency in a storage system
US20050138304A1 (en) * 2003-12-18 2005-06-23 Siva Ramakrishnan Performing memory RAS operations over a point-to-point interconnect
US20050182906A1 (en) * 2004-02-18 2005-08-18 Paresh Chatterjee Systems and methods for cache synchronization between redundant storage controllers

Also Published As

Publication number Publication date
CN102081561A (zh) 2011-06-01
TW201120630A (en) 2011-06-16
US8375184B2 (en) 2013-02-12
US20110131373A1 (en) 2011-06-02
CN102081561B (zh) 2014-09-03
WO2011066033A3 (en) 2011-07-21
WO2011066033A2 (en) 2011-06-03

Similar Documents

Publication Publication Date Title
TWI507866B (zh) 儲存系統之冗餘儲存控制器間之映射資料
EP3796179A1 (en) System, apparatus and method for processing remote direct memory access operations with a device-attached memory
US7536495B2 (en) Certified memory-to-memory data transfer between active-active raid controllers
US7340555B2 (en) RAID system for performing efficient mirrored posted-write operations
US7093043B2 (en) Data array having redundancy messaging between array controllers over the host bus
JP4392877B2 (ja) ディスクアレイ制御装置
TWI431475B (zh) 用於在本地代理者之記憶體鏡像及遷移之裝置、系統及方法
KR101744465B1 (ko) 데이터를 저장하기 위한 방법 및 장치
JP5546635B2 (ja) データ転送装置およびその制御方法
US7543096B2 (en) Safe message transfers on PCI-Express link from RAID controller to receiver-programmable window of partner RAID controller CPU memory
CN101097545B (zh) 独占所有权探听过滤器
US8478835B2 (en) Method and system for using shared memory with optimized data flow to improve input/output throughout and latency
US20110238909A1 (en) Multicasting Write Requests To Multiple Storage Controllers
US8949509B2 (en) Mass storage systems and methods using solid-state storage media and ancillary interfaces for direct communication between memory cards
JP2008535103A (ja) 組込みcpuを備えたメモリ・コントローラを有するデータ・ストレージ・システム
US8909862B2 (en) Processing out of order transactions for mirrored subsystems using a cache to track write operations
JP2009053946A (ja) 二重化コントーラ構成ブロックデバイス制御装置
JP2014167818A (ja) データ転送装置およびデータ転送方法
JP4526509B2 (ja) ディスクアレイ制御装置
TWM592626U (zh) 用於儲存區域網路的節點裝置
JP6825263B2 (ja) ストレージ制御装置、およびストレージシステム
JP4662565B2 (ja) ディスクアレイ制御装置及びディスクアレイシステム