專利名稱:磁盤陣列中雙控制器信息的同步方法、及磁盤陣列系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及,并且特別地,涉及一種磁盤陣列中雙控制器信息的同步方法、及磁盤
陣列系統(tǒng)。
背景技術(shù):
在目前所使用的存儲產(chǎn)品中,通常會采用磁盤陣列。磁盤陣列能夠?qū)⑷舾纱疟P驅(qū) 動器按照一定要求組成一個整體,整個磁盤陣列通??梢杂煽刂破鞴芾怼?
控制器是磁盤陣列的核心模塊,也是介于主機(jī)和磁盤之間的控制單元。通常,控制 器上配置有專門為輸入/輸出(1即ut/0utput,簡稱為I/O)進(jìn)行優(yōu)化的處理器以及一定數(shù) 量的高速緩沖存儲器(可稱為cache)。控制器上的中央處理單元(Central Processing Unit,簡稱為CPU)和cache可以共同實(shí)現(xiàn)對來自主機(jī)系統(tǒng)的I/O請求的操作、以及實(shí)現(xiàn)對 磁盤陣列的獨(dú)立磁盤冗余陣列(Redundant Array oflnd印endent disks,簡稱為RAID)管 理。 具體地,在實(shí)際處理過程中,可以由控制器接受并處理來自主機(jī)的I/O請求,并且 可以將磁盤陣列上的cache則作為I/O緩沖池,從而達(dá)到有效提高磁盤陣列的讀寫響應(yīng)速 度、以及改善磁盤陣列的性能的目的。 通常,磁盤陣列可以通過一個控制器連接主機(jī)及磁盤,并且在進(jìn)行數(shù)據(jù)傳輸?shù)倪^ 程中,需要在磁盤陣列的容錯功能下達(dá)到數(shù)據(jù)的完整性。但是,磁盤陣列控制器同樣會發(fā)生 故障,此時就會出現(xiàn)數(shù)據(jù)丟失的現(xiàn)象。 針對這種數(shù)據(jù)丟失的問題,目前已經(jīng)提出了雙控制器的架構(gòu)。與單控制器存儲系 統(tǒng)不同,雙控系統(tǒng)的區(qū)別在于并行系統(tǒng)具有多個CPU,各個處理機(jī)具有共享內(nèi)存或私有局 部內(nèi)存、或兩者兼?zhèn)洌幻總€處理機(jī)均具有本地高速緩存,并且各個處理機(jī)之間可以通過共享 總線或交換網(wǎng)絡(luò)進(jìn)行通訊。不論兩個控制器配置為活躍-活躍(active-active)還是活 躍-備用(active-standby),這種雙控制器的結(jié)構(gòu)都能為用戶提供高可用特性,而且能夠 支持熱插拔功能,從而有助于實(shí)現(xiàn)簡單的無單點(diǎn)故障,為用戶提供的7天*24小時的不間斷 業(yè)務(wù)。 圖1為相關(guān)技術(shù)中雙控制器通道連接的示意圖。在圖1所示的結(jié)構(gòu)中,控制器A 和控制器B與背板相連接,并且控制器A和控制器B均經(jīng)由磁盤側(cè)的千兆位接口轉(zhuǎn)換器接 口 (Giga Bitratelnterface Converter,簡稱為GBIC)接口連接至光纖通道磁盤環(huán)(如圖 l所示的光纖通道磁盤環(huán)1、光纖通道磁盤環(huán)2、光纖通道磁盤環(huán)3、和光纖通道磁盤環(huán)4),再 連接至磁盤通道接口 ;此外,控制器A通過控制器A光纖通道主機(jī)環(huán)1和控制器A光纖通道 主機(jī)環(huán)2連接至主機(jī)側(cè)的不同GBIC接口 ,且這些GBIC接口進(jìn)一步連接至主機(jī)通道接口 ;此 外,控制器B通過控制器B光纖通道主機(jī)環(huán)1和控制器B光纖通道主機(jī)環(huán)2連接至主機(jī)側(cè) 的不同GBIC接口 ,且這些GBIC接口進(jìn)一步連接至主機(jī)通道接口 。 圖2是相關(guān)技術(shù)中存儲標(biāo)準(zhǔn)所規(guī)定的雙控制器模式的結(jié)構(gòu)示意圖。在圖2所示的 結(jié)構(gòu)中,包括兩個控制器(即,控制器A和控制器B)、兩個控制器的電源、風(fēng)扇、以及16塊硬盤,并且,兩個控制器通過背板上的SAS通道進(jìn)行交互,以達(dá)到雙控制器間的信息和狀態(tài)同 步,每個控制器還包括各自的閃存器(flash)和非易失性隨機(jī)接入存儲器(Non-volatile Random Access Memory,簡稱為NVRAM)。 為了保證雙控制器磁盤陣列系統(tǒng)的正常運(yùn)行,其中一個關(guān)鍵點(diǎn)是兩個控制器之間 的信息同步,即,兩個控制器間需要進(jìn)行狀態(tài)和配置信息的交互。 通常,為了實(shí)現(xiàn)雙控制器間的冗余和磁盤陣列系統(tǒng)的高可用性,在一個控制器 (稱為控制器A)出現(xiàn)故障時,需要另一個控制器(稱為控制器B)能夠及時得到控制器A的 故障狀態(tài)信息,并接管在控制器A上運(yùn)行的程序和后臺任務(wù)等。此后,在控制器A被一個新 的控制器替換后,系統(tǒng)會進(jìn)行兩個控制器間的信息同步過程,此時控制器B會將接管的程 序和后臺任務(wù)返回給控制器A,系統(tǒng)恢復(fù)正常狀態(tài)。 具體地,當(dāng)兩個控制器處于active-standby模式時,兩者互為冗余,任何一個控 制器發(fā)生故障時,另一個控制器都仍然正常工作。當(dāng)兩個控制器處于active-active模式 時,兩個控制器都有各自的任務(wù)需要處理,如果其中一個控制器故障時,另一個控制器仍然 可以正常工作,且在獲悉對方控制器故障時可以接管原來由對方控制器運(yùn)行的程序和后臺 操作,在對方控制器被新控制器替換且恢復(fù)正常兩個控制器同步后,將接管的任務(wù)歸還給 對方控制器。 在當(dāng)前存儲標(biāo)準(zhǔn)所規(guī)定的雙控制器模式中,兩個控制器的同步是依靠控制器A和 B互相查詢對方的信息和狀態(tài)以更改自身的信息和狀態(tài)來實(shí)現(xiàn)的,且該過程可以通過背 板上的串行連接小型計(jì)算機(jī)系統(tǒng)接口 (Serial Attached SCSI (Small Computer System Interface,小型計(jì)算機(jī)系統(tǒng)接口 ),簡稱為SAS)通道來實(shí)現(xiàn)。雙控制器分別按照系統(tǒng)設(shè)置 的時間間隔通過SAS通道訪問對方控制器,以獲取對方控制器的最新信息,獲取的信息可 以包括控制器的配置信息與控制器的當(dāng)前狀態(tài),根據(jù)獲取的信息可以隨時更新本控制器的 信息,進(jìn)而達(dá)到雙控制器之間的信息同步。 基于圖1和圖2所示的結(jié)構(gòu),在進(jìn)行信息同步時,一個控制器,例如,控制器A,能 夠以固定時間間隔向另一個控制器B發(fā)起信息查詢請求,以獲取對方控制器的當(dāng)前狀態(tài)信 息和配置信息,控制器B在收到查詢請求后將所需信息發(fā)送到發(fā)起請求的控制器A,該控制 器A在接收到信息后與本控制器當(dāng)前信息進(jìn)行對比,如果發(fā)現(xiàn)不一致且對方控制器信息更 新時間晚于本控制器,則立即更新本控制器,類似地,控制器B也可以向控制器A發(fā)送查詢
請求,獲取控制器A的信息,并確定是否在本地進(jìn)行更新,從而達(dá)到兩個控制器間的信息同
止 少。 可以看出,在上述處理過程中,兩個控制器的交互和同步都需要經(jīng)過查詢、回復(fù)、 更新三個過程,這樣就會出現(xiàn)頻繁發(fā)送和接收信息的現(xiàn)象,導(dǎo)致控制器CPU的使用率比較 高,從而增大了系統(tǒng)負(fù)載。 針對目前雙控制器信息同步過程中由于控制器之間信息交互過程復(fù)雜導(dǎo)致控制 器CPU使用率高、系統(tǒng)負(fù)載大的問題,尚未提出有效的解決方案。
發(fā)明內(nèi)容
考慮到相關(guān)技術(shù)中雙控制器信息同步過程中由于控制器之間信息交互過程復(fù)雜 導(dǎo)致控制器CPU使用率高、系統(tǒng)負(fù)載大的問題而做出本發(fā)明,為此,本發(fā)明的主要目的在于提供一種磁盤陣列中雙控制器信息的同步方法、及磁盤陣列系統(tǒng)。 根據(jù)本發(fā)明的一個方面,提供了一種磁盤陣列中雙控制器信息的同步方法,該方 法用于實(shí)現(xiàn)雙控制器中的第一控制器和第二控制器的信息同步,其中,在該雙控制器的背 板設(shè)置有系統(tǒng)緩存區(qū)域。 根據(jù)本發(fā)明的磁盤陣列中雙控制器信息的同步方法包括第一控制器和第二控制 器向系統(tǒng)緩存區(qū)域發(fā)送各自的信息;系統(tǒng)緩存區(qū)域?qū)碜缘谝豢刂破鞯男畔⒑蛠碜缘诙?制器的信息進(jìn)行比較,并根據(jù)比較結(jié)果進(jìn)行第一控制器與第二控制器的信息同步。
其中,第一控制器和第二控制器向系統(tǒng)緩存區(qū)域發(fā)送各自的信息的方式可以包 括以各自的預(yù)定時間間隔發(fā)送各自的信息。 此外,系統(tǒng)緩存區(qū)域?qū)碜缘谝豢刂破鞯男畔⒑蛠碜缘诙刂破鞯男畔⑦M(jìn)行比較 的處理具體可以包括系統(tǒng)緩存區(qū)域判斷來自第一控制器的信息和來自第二控制器的信息 是否相同;在判斷結(jié)果為否的情況下,系統(tǒng)緩存區(qū)域根據(jù)來自第一控制器的信息中攜帶的 更新時間與來自第二控制器的信息中攜帶的更新時間進(jìn)行比較,確定更新時間較晚的信息 作為比較結(jié)果。 并且,系統(tǒng)緩存區(qū)域根據(jù)比較結(jié)果進(jìn)行第一控制器與第二控制器的信息同步的處 理具體可以包括系統(tǒng)緩存區(qū)域?qū)⒏聲r間較晚的信息發(fā)送至更新時間較早的信息所對應(yīng)
的控制器。 另一方面,在系統(tǒng)緩存區(qū)域判斷來自第一控制器的信息和來自第二控制器的信息 相同的情況下,系統(tǒng)緩存區(qū)域確定第一控制器和第二控制器已經(jīng)同步,并等待第一控制器 和/或第二控制器上報新的信息。 優(yōu)選地,第一控制器向系統(tǒng)緩存區(qū)域發(fā)送的信息和第二控制器向系統(tǒng)緩存區(qū)域發(fā) 送的信息包括配置信息和/或狀態(tài)信息。 根據(jù)本發(fā)明的另一方面,提供了一種磁盤陣列中多控制器信息的同步方法,用于 實(shí)現(xiàn)多個控制器之間的信息同步,其中,在上述多個控制器的背板設(shè)置有系統(tǒng)緩存區(qū)域。
根據(jù)本發(fā)明的磁盤陣列中多控制器信息的同步方法包括多個控制器向系統(tǒng)緩存 區(qū)域發(fā)送各自的信息;系統(tǒng)緩存區(qū)域?qū)碜远鄠€控制器的信息進(jìn)行比較,并根據(jù)比較結(jié)果 進(jìn)行多個控制器之間的信息同步。 根據(jù)本發(fā)明的再一實(shí)施例,提供了一種磁盤陣列系統(tǒng),包括雙控制器,其中,雙控 制器包括第一控制器和第二控制器,其特征在于,系統(tǒng)進(jìn)一步包括系統(tǒng)緩存區(qū)域,設(shè)置于雙 控制器的背板,并通過SAS通道連接至第一控制器和第二控制器。 在根據(jù)本發(fā)明磁盤陣列系統(tǒng)中,第一控制器和第二控制器用于向系統(tǒng)緩存區(qū)域發(fā) 送各自的信息;系統(tǒng)緩存區(qū)域用于接收來自第一控制器和第二控制器的信息,將來自第一 控制器的信息和來自第二控制器的信息進(jìn)行比較,并根據(jù)比較結(jié)果進(jìn)行第一控制器與第二 控制器的信息同步。 其中,系統(tǒng)緩存區(qū)域可以包括比較?!姥?,用于將來自第一控制器的信息和來自第 二控制器的信息進(jìn)行比較。 優(yōu)選地,第一控制器向系統(tǒng)緩存區(qū)域發(fā)送的信息和第二控制器向系統(tǒng)緩存區(qū)域發(fā) 送的信息包括配置信息和/或狀態(tài)信息。
借助本發(fā)明的上述技術(shù)方案,通過在雙控制器的背板上設(shè)置系統(tǒng)緩存區(qū)域(SYS_MEM區(qū)域模型),并通過該系統(tǒng)緩存區(qū)域?qū)崿F(xiàn)雙控制器的信息對比和更新,避免了由于相關(guān) 技術(shù)中雙控制器結(jié)構(gòu)中兩個控制器同步需要經(jīng)過查詢、答復(fù)等復(fù)雜的消息交互過程導(dǎo)致 CPU占用率高、系統(tǒng)性能差的問題,本發(fā)明只需要直接上傳信息,并在有必要時才進(jìn)行控制 器信息更新,能夠節(jié)省系統(tǒng)資源,減少控制器CPU占用率,并且提高整個系統(tǒng)的性能。
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā) 明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中
圖1是根據(jù)相關(guān)技術(shù)的雙控制器通道連接的示意圖;
圖2是根據(jù)相關(guān)技術(shù)的雙控制器模式的結(jié)構(gòu)示意圖; 圖3是根據(jù)本發(fā)明方法實(shí)施例的磁盤陣列中雙控制器信息的同步方法的流程圖; 圖4是根據(jù)本發(fā)明系統(tǒng)實(shí)施例的磁盤陣列系統(tǒng)的框圖; 圖5是根據(jù)本發(fā)明系統(tǒng)實(shí)施例的磁盤陣列系統(tǒng)的具體構(gòu)成的結(jié)構(gòu)框圖; 圖6是根據(jù)本發(fā)明系統(tǒng)實(shí)施例的磁盤陣列系統(tǒng)的優(yōu)選結(jié)構(gòu)實(shí)例的框圖; 圖7是根據(jù)本發(fā)明系統(tǒng)實(shí)施例的磁盤陣列系統(tǒng)的具體結(jié)構(gòu)實(shí)例的框圖。
具體實(shí)施方式
功能概述 相關(guān)技術(shù)中雙控制器信息同步過程中由于控制器之間信息交互過程復(fù)雜導(dǎo)致控 制器CPU使用率高、系統(tǒng)負(fù)載大的問題,然而,在目前存儲項(xiàng)目開發(fā)過程中,對于大多數(shù)采 用雙控制器結(jié)構(gòu)的磁盤陣列產(chǎn)品,雙控制器的同步一直是一個很關(guān)鍵的問題,如何在減少 控制器CPU占用率,減輕系統(tǒng)負(fù)擔(dān),提供整個磁盤陣列產(chǎn)品性能的基礎(chǔ)上實(shí)現(xiàn)雙控的同步 至關(guān)重要。本發(fā)明就提出在雙控制器磁盤陣列系統(tǒng)結(jié)構(gòu)中雙控制器的背板上增加了一個系 統(tǒng)緩存區(qū)域(可稱為SYS_MEM)區(qū)域模型,該區(qū)域模型設(shè)置于SAS通道間,用于存放來自兩 個控制器發(fā)送的信息,并對兩個控制器的信息進(jìn)行比對從而達(dá)到雙控制器間信息同步的目 的,避免了兩個控制器相互請求以及接收對方信息的復(fù)雜信息交互。
下面將結(jié)合附圖詳細(xì)描述本發(fā)明的實(shí)施例。
方法實(shí)施例 在本實(shí)施例中,提供了一種磁盤陣列中雙控制器信息的同步方法,用于實(shí)現(xiàn)雙控 制器中的第一控制器和第二控制器的信息同步,其中,在雙控制器的背板設(shè)置有系統(tǒng)緩存 區(qū)域,該系統(tǒng)緩存區(qū)域通過SAS通道與兩個控制器相連接,并通過SAS通道進(jìn)行信息的傳 輸。 如圖3所示,根據(jù)本實(shí)施例的磁盤陣列中雙控制器信息的同步方法包括步驟S302 和步驟S304。 圖3中所示的具體處理過程如下 步驟S302,第一控制器和第二控制器向系統(tǒng)緩存區(qū)域發(fā)送(上傳)各自的信息 (應(yīng)當(dāng)是每個控制器最新的信息),其中,每個控制器發(fā)送的信息包括該控制器的配置信息 和/或該控制器的狀態(tài)信息; 步驟S304,系統(tǒng)緩存區(qū)域?qū)碜缘谝豢刂破鞯男畔⒑蛠碜缘诙刂破鞯男畔⑦M(jìn)行比較,并根據(jù)比較結(jié)果進(jìn)行第一控制器與第二控制器的信息同步。 其中,第一控制器和第二控制器可以根據(jù)各自的預(yù)定時間間隔向系統(tǒng)緩存區(qū)域發(fā) 送各自的信息,也可以根據(jù)其它的觸發(fā)條件進(jìn)行信息的發(fā)送,例如,當(dāng)一個控制器進(jìn)行了信 息的更新后,該控制器發(fā)送其更新后的信息。 并且,兩個控制器發(fā)送各自的信息的處理是并行執(zhí)行的,這樣就省去了查詢和回 復(fù)兩個過程,既能夠簡化了信息同步的步驟,也節(jié)省了至少一半的時間,能夠有效提升系統(tǒng) 的性能。 此外,系統(tǒng)緩存區(qū)域?qū)碜缘谝豢刂破鞯男畔⒑蛠碜缘诙刂破鞯男畔⑦M(jìn)行比較 的處理可以包括系統(tǒng)緩存區(qū)域判斷來自第一控制器的信息和來自第二控制器的信息是否 相同;在判斷結(jié)果為否的情況下,系統(tǒng)緩存區(qū)域根據(jù)來自第一控制器的信息中攜帶的更新 時間與來自第二控制器的信息中攜帶的更新時間進(jìn)行比較,確定更新時間較晚的信息作為 比較結(jié)果;在系統(tǒng)緩存區(qū)域判斷來自第一控制器的信息和來自第二控制器的信息相同的情 況下,系統(tǒng)緩存區(qū)域確定第一控制器和第二控制器已經(jīng)同步,此時可以不進(jìn)行任何處理,并 等待第一控制器和/或第二控制器上報新的信息后進(jìn)行新的對比。 在確定了更新時間較晚的信息之后,系統(tǒng)緩存區(qū)域會將該更新時間較晚的信息發(fā) 送至更新時間較早的信息所對應(yīng)的控制器。例如,在包括控制器A和控制器B的雙控制器 中,如果控制器A向系統(tǒng)緩存區(qū)域發(fā)送的信息的更新時間晚于控制器B發(fā)送的信息的更新 時間,則說明控制器A剛做過某些修改配置的操作或狀態(tài)信息有變,而控制器B尚未更新, 系統(tǒng)緩存區(qū)域就會通過其與控制器B之間的SAS通道將控制器A的信息發(fā)送給控制器B,以 更新控制器B的信息從而達(dá)到雙控間信息同步的目的。 盡管之前已經(jīng)描述了雙控制器的磁盤陣列中進(jìn)行信息同步的處理,但是上述處理 還可以用于實(shí)現(xiàn)多于兩個的控制器之間的信息同步,此時,需要在多個控制器的背板設(shè)置 系統(tǒng)緩存區(qū)域。 在進(jìn)行信息同步時,多個控制器可以向系統(tǒng)緩存區(qū)域發(fā)送各自的信息;系統(tǒng)緩存
區(qū)域?qū)碜远鄠€控制器的信息進(jìn)行比較,并根據(jù)比較結(jié)果進(jìn)行多個控制器之間的信息同
止 少。 類似的,其比較的方式同樣是判斷上傳的信息是否相同,在判斷結(jié)果為是的情況 下,可以認(rèn)為多個控制器已經(jīng)同步;否則確定更新時間最晚的信息,并將該信息通知給其它 所有的控制器。 通過上述處理,借助于在雙控制器的背板上設(shè)置的系統(tǒng)緩存區(qū)域(SYS_MEM區(qū)域 模型),并通過該系統(tǒng)緩存區(qū)域?qū)崿F(xiàn)雙控制器的信息對比和更新,避免了由于相關(guān)技術(shù)中雙 控制器結(jié)構(gòu)中兩個控制器同步需要經(jīng)過查詢、答復(fù)等復(fù)雜的消息交互過程導(dǎo)致CPU占用率 高、系統(tǒng)性能差的問題,能夠節(jié)省系統(tǒng)資源,減少控制器CPU占用率,并且提高整個系統(tǒng)的 性能。 系統(tǒng)實(shí)施例 在本實(shí)施例中,提供了一種磁盤陣列系統(tǒng)。 如圖4所示,根據(jù)本實(shí)施例的磁盤陣列系統(tǒng)為雙控制器的磁盤陣列系統(tǒng),其中包 括第一控制器1、第二控制器2、設(shè)置于雙控制器背板(未示出)的系統(tǒng)緩存區(qū)域3,并且第 一控制器1和第二控制器2均通過SAS通道與系統(tǒng)緩存區(qū)域3連接。
圖4所示的各個器件的功能如下 第一控制器1和第二控制器2用于向系統(tǒng)緩存區(qū)域3發(fā)送各自的信息; 系統(tǒng)緩存區(qū)域3用于接收來自第一控制器1和第二控制器2的信息,將來自第一
控制器1的信息和來自第二控制器2的信息進(jìn)行比較,并根據(jù)比較結(jié)果進(jìn)行第一控制器1
與第二控制器2的信息同步。 圖5是根據(jù)本實(shí)施例的磁盤陣列系統(tǒng)的具體構(gòu)成的結(jié)構(gòu)框圖。如圖5所示,基于圖 2所示的結(jié)構(gòu),根據(jù)本實(shí)施例的磁盤陣列系統(tǒng)進(jìn)一步包括位于背板的系統(tǒng)存儲區(qū)域(SYS_ MEM),用于接收來自控制器A和控制器B的信息(包括配置(config)和狀態(tài)(status)), 進(jìn)行對比并確定是否更新,并在確定需要更新的情況下通知控制器A或控制器B進(jìn)行更新 (update)。 圖6是根據(jù)本實(shí)施例的磁盤陣列系統(tǒng)的優(yōu)選結(jié)構(gòu)的框圖。除了圖4所示的各個器 件之外,圖6進(jìn)一步示出了系統(tǒng)緩存區(qū)域3的結(jié)構(gòu)。如圖6所示,系統(tǒng)緩存區(qū)域3可以進(jìn)一 步包括存儲模塊31和比較模塊32。
系統(tǒng)緩存區(qū)域3中各個模塊的功能如下 存儲模塊31,用于存儲來自第一控制器1的信息和來自第二控制器2的信息;
比較模塊32,用于將來自第一控制器1的信息和來自第二控制器2的信息進(jìn)行比 較。 在實(shí)際應(yīng)用中,比較模塊32可以由管腳能夠兼容的可編程邏輯器件來實(shí)現(xiàn),例 如,可以是復(fù)雜可編程邏輯器件(ComplexProgrammable Logic Device,簡稱為CPLD)和可 擦寫可編程邏輯器件(Erasable Programmable Logic Device,簡稱為EPLD),并且,在制造 完成后由用戶可以根據(jù)自己的需要定義可編程邏輯器件的邏輯功能。 利用可編程邏輯器件(例如,CPLD)的可編程邏輯,可以在邏輯陣列上實(shí)現(xiàn)信息文 件的收錄、識別、屬性記錄,并完成來自雙控制器信息的文件對比。如果對比發(fā)現(xiàn)信息文件 相同,則表示雙控已達(dá)到同步,無需做任何操作;如果對比發(fā)現(xiàn)信息文件有異,則通過信息 文件的屬性判定兩者的最新修改時間,以修改時間最晚的信息文件為準(zhǔn),更新另一控制器, 以達(dá)到雙控制器的信息同步。 此夕卜,由于可編程邏輯器件的存儲空間通常比較小,例如,CPLD上本身具有的隨機(jī)
接入存儲器(Random Access Memory,簡稱為RAM)的大小通常為幾百K,而由兩個控制器上
傳到SYS_MEM上的信息文件可能會比較大,為了避免不足以存放控制器上傳信息而導(dǎo)致溢
出的危險,因此,可以設(shè)置上述的存儲模塊31,用于協(xié)助存儲兩個控制器的信息。 優(yōu)選地,存儲模塊31可以是一塊小容量SDRAM。此時,可以將CPLD的1/0引腳接
入一個SDRAM,用以存放雙控制器上傳的信息文件。 圖7是根據(jù)本實(shí)施例的磁盤陣列系統(tǒng)的一個具體實(shí)例的框圖。如圖7所示,該磁
盤陣列系統(tǒng)包括控制器A和控制器B,在兩個控制器之間的SAS通道上設(shè)置有系統(tǒng)緩存區(qū)域
(SYS_MEM),在該系統(tǒng)緩存區(qū)域中包括用于進(jìn)行信息比較和存儲的CPLD和SDRAM。 在實(shí)際使用中,還可以采用采用上述系統(tǒng)緩存區(qū)域?qū)碜詢蓚€以上的控制器的信
息進(jìn)行并進(jìn)行對比,并對這些控制器進(jìn)行信息更新。 通過上述系統(tǒng),借助于在雙控制器的背板上設(shè)置的系統(tǒng)緩存區(qū)域(SYS_MEM區(qū)域 模型),并通過該系統(tǒng)緩存區(qū)域?qū)崿F(xiàn)雙控制器的信息對比和更新,避免了查詢、答復(fù)等復(fù)雜的消息交互,能夠節(jié)省系統(tǒng)資源,減少控制器CPU占用率,并且提高整個系統(tǒng)的性能。
綜上所述,借助于本發(fā)明的技術(shù)方案,通過在雙控制器的背板上設(shè)置系統(tǒng)緩存區(qū) 域(SYS_MEM區(qū)域模型),并通過該系統(tǒng)緩存區(qū)域?qū)崿F(xiàn)雙控制器的信息對比和更新,避免了 由于相關(guān)技術(shù)中雙控制器結(jié)構(gòu)中兩個控制器同步需要經(jīng)過查詢、答復(fù)等復(fù)雜的消息交互過 程導(dǎo)致CPU占用率高、系統(tǒng)性能差的問題,本發(fā)明只需要直接上傳信息,并在有必要時才進(jìn) 行控制器信息更新,能夠節(jié)省系統(tǒng)資源,減少控制器CPU占用率,并且提高整個系統(tǒng)的性 能。 顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個的計(jì)算裝置上,或者分布在多個計(jì)算裝置所組成 的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲 在存儲裝置中由計(jì)算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們 中的多個模塊或步驟制作成單個集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的 硬件和軟件結(jié)合。 以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種磁盤陣列中雙控制器信息的同步方法,用于實(shí)現(xiàn)所述雙控制器中的第一控制器和第二控制器的信息同步,其特征在于,所述雙控制器的背板設(shè)置有系統(tǒng)緩存區(qū)域,所述方法包括所述第一控制器和所述第二控制器向所述系統(tǒng)緩存區(qū)域發(fā)送各自的信息;所述系統(tǒng)緩存區(qū)域?qū)碜运龅谝豢刂破鞯男畔⒑蛠碜运龅诙刂破鞯男畔⑦M(jìn)行比較,并根據(jù)比較結(jié)果進(jìn)行所述第一控制器與所述第二控制器的信息同步。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一控制器和所述第二控制器向所 述系統(tǒng)緩存區(qū)域發(fā)送各自的信息的方式包括以各自的預(yù)定時間間隔發(fā)送各自的信息。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述系統(tǒng)緩存區(qū)域?qū)碜运龅谝豢刂?器的信息和來自所述第二控制器的信息進(jìn)行比較的處理包括所述系統(tǒng)緩存區(qū)域判斷來自所述第一控制器的信息和來自所述第二控制器的信息是 否相同;在判斷結(jié)果為否的情況下,所述系統(tǒng)緩存區(qū)域根據(jù)來自所述第一控制器的信息中攜帶 的更新時間與來自所述第二控制器的信息中攜帶的更新時間進(jìn)行比較,確定更新時間較晚 的信息作為所述比較結(jié)果。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述系統(tǒng)緩存區(qū)域根據(jù)所述比較結(jié)果進(jìn) 行所述第一控制器與所述第二控制器的信息同步的處理包括所述系統(tǒng)緩存區(qū)域?qū)⒏聲r間較晚的所述信息發(fā)送至更新時間較早的信息所對應(yīng)的 控制器。
5. 根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述系統(tǒng)緩存區(qū)域判斷來自所述第一 控制器的信息和來自所述第二控制器的信息相同的情況下,所述系統(tǒng)緩存區(qū)域確定所述第 一控制器和所述第二控制器已經(jīng)同步,并等待所述第一控制器和/或所述第二控制器上報 新的信息。
6. 根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,所述第一控制器向所述系統(tǒng) 緩存區(qū)域發(fā)送的信息和所述第二控制器向所述系統(tǒng)緩存區(qū)域發(fā)送的信息包括配置信息和 /或狀態(tài)信息。
7. —種磁盤陣列中多控制器信息的同步方法,用于實(shí)現(xiàn)多個控制器之間的信息同步, 其特征在于,所述多個控制器的背板設(shè)置有系統(tǒng)緩存區(qū)域,所述方法包括所述多個控制器向所述系統(tǒng)緩存區(qū)域發(fā)送各自的信息;所述系統(tǒng)緩存區(qū)域?qū)碜运龆鄠€控制器的信息進(jìn)行比較,并根據(jù)比較結(jié)果進(jìn)行所述 多個控制器之間的信息同步。
8. —種磁盤陣列系統(tǒng),包括雙控制器,其中,所述雙控制器包括第一控制器和第二控制 器,其特征在于,所述系統(tǒng)進(jìn)一步包括系統(tǒng)緩存區(qū)域,設(shè)置于所述雙控制器的背板,并通過 SAS通道連接至所述第一控制器和所述第二控制器,其中,所述第一控制器和所述第二控制器用于向所述系統(tǒng)緩存區(qū)域發(fā)送各自的信息; 所述系統(tǒng)緩存區(qū)域用于接收來自所述第一控制器和所述第二控制器的信息,將來自所述第一控制器的信息和來自所述第二控制器的信息進(jìn)行比較,并根據(jù)比較結(jié)果進(jìn)行所述第一控制器與所述第二控制器的信息同步。
9. 根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述系統(tǒng)緩存區(qū)域包括比較模塊,用于將來自所述第一控制器的信息和來自所述第二控制器的信息進(jìn)行比較。
10.根據(jù)權(quán)利要求8或9所述的系統(tǒng),其特征在于,所述第一控制器向所述系統(tǒng)緩存區(qū)域發(fā)送的信息和所述第二控制器向所述系統(tǒng)緩存區(qū)域發(fā)送的信息包括配置信息和/或狀態(tài)信息。
全文摘要
本發(fā)明公開了一種磁盤陣列中雙控制器信息的同步方法、及磁盤陣列系統(tǒng),其中,該方法包括第一控制器和第二控制器向系統(tǒng)緩存區(qū)域發(fā)送各自的信息;系統(tǒng)緩存區(qū)域?qū)碜缘谝豢刂破鞯男畔⒑蛠碜缘诙刂破鞯男畔⑦M(jìn)行比較,并根據(jù)比較結(jié)果進(jìn)行第一控制器與第二控制器的信息同步。通過在雙控制器的背板上設(shè)置系統(tǒng)緩存區(qū)域,并通過該系統(tǒng)緩存區(qū)域?qū)崿F(xiàn)雙控制器的信息對比和更新,避免了由于相關(guān)技術(shù)中雙控制器結(jié)構(gòu)中兩個控制器同步需要經(jīng)過查詢、答復(fù)等復(fù)雜的消息交互過程導(dǎo)致CPU占用率高、系統(tǒng)性能差的問題,本發(fā)明只需要直接上傳信息,并在有必要時才進(jìn)行控制器信息更新,能夠節(jié)省系統(tǒng)資源,減少控制器CPU占用率,并且提高整個系統(tǒng)的性能。
文檔編號G06F12/08GK101776983SQ20091000016
公開日2010年7月14日 申請日期2009年1月13日 優(yōu)先權(quán)日2009年1月13日
發(fā)明者劉婷 申請人:中興通訊股份有限公司