專(zhuān)利名稱(chēng):內(nèi)存鏡像系統(tǒng)、裝置和內(nèi)存鏡像方法
技術(shù)領(lǐng)域:
本發(fā)明涉及內(nèi)存鏡像技術(shù)領(lǐng)域,尤指內(nèi)存鏡像系統(tǒng)、裝置和內(nèi)存鏡像方法。
背景技術(shù):
在高可靠、高可用的系統(tǒng)中,大多采用雙機(jī)、熱備的工作方式。例如在 存儲(chǔ)設(shè)備、服務(wù)器以及一些工業(yè)控制系統(tǒng)中都采用雙機(jī)、熱備的工作方式。
在雙控系統(tǒng)中,根據(jù)兩個(gè)主控設(shè)備的工作狀態(tài), 一般分為兩種工作模式 一種是主/主(Active/Active )模式,這種模式下,兩個(gè)主控設(shè)備都處理業(yè)務(wù), 兩者之間是對(duì)等關(guān)系,當(dāng)一個(gè)主控設(shè)備宕機(jī)后,其業(yè)務(wù)由另外一個(gè)主控設(shè)備 完全接管;另一種是主/備(Active/Standby)模式,這種模式下,兩個(gè)主控 設(shè)備之間是主用與備用的關(guān)系,正常情況下由主用設(shè)備處理全部業(yè)務(wù),備用 設(shè)備監(jiān)測(cè)主用設(shè)備的狀態(tài),當(dāng)主用設(shè)備工作異常時(shí),由備用設(shè)備接管主用設(shè) 備的所有業(yè)務(wù),直到主用設(shè)備恢復(fù)正常。
在雙主控系統(tǒng)中,內(nèi)存鏡像是一種常用的技術(shù)。內(nèi)存鏡像即為雙主控系 統(tǒng)中的兩個(gè)主控設(shè)備將各自的內(nèi)存數(shù)據(jù)相互備份,從而實(shí)現(xiàn)雙主控系統(tǒng)的數(shù) 據(jù)保護(hù),進(jìn)而為主控設(shè)備之間的業(yè)務(wù)接管做好必要的準(zhǔn)備。
圖1是在雙主控系統(tǒng)中實(shí)現(xiàn)內(nèi)存鏡像的現(xiàn)有技術(shù)方案的示意圖。如圖1 中所示,主控設(shè)備A包括CPU A、內(nèi)存控制器A、鏡像通道設(shè)備A和內(nèi) 存模塊A;主控設(shè)備B包括CPUB、內(nèi)存控制器B、鏡像通道設(shè)備B和內(nèi) 存模塊B。內(nèi)存模塊A和內(nèi)存模塊B的內(nèi)存空間都分為兩部分, 一部用于 存儲(chǔ)本地的數(shù)據(jù),另 一部分用于存儲(chǔ)對(duì)端的鏡像數(shù)據(jù)。
在圖l中,實(shí)現(xiàn)鏡像內(nèi)存的方案是內(nèi)存控制器在CPU的控制軟件的
控制下,對(duì)本地內(nèi)存模塊進(jìn)行訪問(wèn)的同時(shí),通過(guò)鏡像通道對(duì)對(duì)端的內(nèi)存模塊
進(jìn)行相同的訪問(wèn)。例如對(duì)于寫(xiě)數(shù)據(jù)操作,內(nèi)存控制器A在CPU A的控制軟 件的控制下將數(shù)據(jù)寫(xiě)入內(nèi)存模塊A的同時(shí),依次通過(guò)鏡像通道設(shè)備A、鏡像 通道設(shè)備B、內(nèi)存控制器B將數(shù)據(jù)寫(xiě)入內(nèi)存模塊B,在圖1中用實(shí)線箭頭表 示內(nèi)存控制器A的寫(xiě)數(shù)據(jù)流;內(nèi)存控制器B也以同樣的方式對(duì)數(shù)據(jù)進(jìn)行備 份,在圖1中用虛線箭頭表示內(nèi)存控制器B的寫(xiě)數(shù)據(jù)流。
但是在圖1所示的現(xiàn)有內(nèi)存鏡像方案中,基本上由CPU的控制軟件來(lái) 控制完成內(nèi)存鏡像,即內(nèi)存鏡像需要占用CPU,因此降低了雙主控系統(tǒng)的工 作效率。
綜上所述,現(xiàn)有的內(nèi)存鏡像方案,工作效率不高。
發(fā)明內(nèi)容
本發(fā)明提供了 一種內(nèi)存鏡像系統(tǒng),該系統(tǒng)能夠有效提高工作效率。 本發(fā)明提供了 一種內(nèi)存鏡像方法,該方法能夠有效提高工作效率。 本發(fā)明還提供了 一種內(nèi)存鏡像裝置,該裝置能夠有效提高工作效率。 為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的 本發(fā)明公開(kāi)了一種內(nèi)存鏡像系統(tǒng),該系統(tǒng)包括第一內(nèi)存控制器、第一
內(nèi)存模塊、第二內(nèi)存控制器、第二內(nèi)存模塊以及鏡像模塊,其中,
第 一 內(nèi)存控制器,用于通過(guò)第 一 內(nèi)存訪問(wèn)通道對(duì)第 一 內(nèi)存模塊進(jìn)行訪問(wèn)
操作;
第二內(nèi)存控制器,用于通過(guò)第二內(nèi)存訪問(wèn)通道對(duì)第二內(nèi)存模塊進(jìn)行訪問(wèn) 操作;
鏡像模塊,用于獲取第 一 內(nèi)存控制器對(duì)第 一 內(nèi)存模塊進(jìn)行訪問(wèn)操作的信 息,并對(duì)第二內(nèi)存模塊進(jìn)行相同的訪問(wèn)操作;和/或,獲取第二內(nèi)存控制器 對(duì)第二內(nèi)存模塊進(jìn)行訪問(wèn)操作的信息,并對(duì)第 一 內(nèi)存模塊進(jìn)行相同的訪問(wèn)操作。
本發(fā)明公開(kāi)了一種內(nèi)存鏡像方法,該方法包括 從第 一 內(nèi)存控制器與第 一 內(nèi)存模塊之間的第 一 內(nèi)存訪問(wèn)通道獲取第一 內(nèi)存控制器對(duì)第 一 內(nèi)存模塊進(jìn)行訪問(wèn)操作的信息,并對(duì)第二內(nèi)存模塊進(jìn)行相 同的訪問(wèn)操作;
從第二內(nèi)存控制器與第二內(nèi)存模塊之間的第二內(nèi)存訪問(wèn)通道獲取第二 內(nèi)存控制器對(duì)第二內(nèi)存模塊進(jìn)行訪問(wèn)操作的信息,并對(duì)第 一 內(nèi)存模塊進(jìn)行相 同的訪問(wèn)操作。
本發(fā)明還公開(kāi)了一種內(nèi)存鏡像裝置,包括第一內(nèi)存控制器以及第一內(nèi) 存模塊,該裝置還包括以獨(dú)立于CPU控制的方式將第一內(nèi)存控制器對(duì)第一 內(nèi)存模塊的訪問(wèn)操作鏡像到第二內(nèi)存模塊中的鏡像模塊。
由上述技術(shù)方案可見(jiàn),本發(fā)明這種鏡像模塊獲取第一內(nèi)存控制器對(duì)第一 內(nèi)存模塊進(jìn)行訪問(wèn)操作的信息,并對(duì)第二內(nèi)存模塊進(jìn)行相同的訪問(wèn)操作;和 /或,獲取第二內(nèi)存控制器對(duì)第二內(nèi)存模塊進(jìn)行訪問(wèn)操作的信息,并對(duì)第一 內(nèi)存模塊進(jìn)行相同的訪問(wèn)操作的技術(shù)方案,在實(shí)現(xiàn)內(nèi)存鏡像時(shí)無(wú)需內(nèi)存控制 器所在主控設(shè)備的CPU參與,提高了所述主控設(shè)備的工作效率,進(jìn)而提高 了包括第一內(nèi)存控制器所在主控設(shè)備和第二內(nèi)存控制器所在主控設(shè)備的雙 主控系統(tǒng)的工作效率。
圖l是在雙主控系統(tǒng)中實(shí)現(xiàn)內(nèi)存鏡像的現(xiàn)有技術(shù)方案的示意圖; 圖2是本發(fā)明一種內(nèi)存鏡像系統(tǒng)的第一實(shí)施例組成結(jié)構(gòu)框圖; 圖3是本發(fā)明 一種內(nèi)存鏡像系統(tǒng)的第二實(shí)施例組成結(jié)構(gòu)框圖; 圖4是本發(fā)明 一種內(nèi)存鏡像系統(tǒng)的第三實(shí)施例組成結(jié)構(gòu)框圖; 圖5是本發(fā)明 一種內(nèi)存鏡像系統(tǒng)的第四實(shí)施例組成結(jié)構(gòu)框圖。
具體實(shí)施例方式
本發(fā)明中主要通過(guò)在雙主控系統(tǒng)中設(shè)置鏡像模塊來(lái)實(shí)現(xiàn)內(nèi)存鏡像;該鏡 像模塊獲取第 一 內(nèi)存控制器對(duì)第 一 內(nèi)存模塊進(jìn)行訪問(wèn)操作的信息,并對(duì)第二
內(nèi)存模塊進(jìn)行相同的訪問(wèn)操作;相應(yīng)地,該鏡像模塊獲取第二內(nèi)存控制器對(duì)
第二內(nèi)存模塊進(jìn)行訪問(wèn)操作的信息,并對(duì)第 一 內(nèi)存模塊進(jìn)行相同的訪問(wèn)操 作。
上述內(nèi)存鏡像過(guò)程無(wú)需內(nèi)存控制器所在主控設(shè)備CPU的參與,即將 CPU從內(nèi)存鏡像工作中解放出來(lái),從而提高了整個(gè)雙主控系統(tǒng)的工作效率。
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉 實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
圖2是本發(fā)明一種內(nèi)存鏡像系統(tǒng)的第一實(shí)施例組成結(jié)構(gòu)框圖。如圖2所 示,該系統(tǒng)中主要包括屬于主控設(shè)備A的CPU A、內(nèi)存控制器A和內(nèi)存 模塊A,屬于主控設(shè)備B的CPU B、內(nèi)存控制器B和內(nèi)存模塊B,以及鏡 像模塊。CPUA通過(guò)內(nèi)存控制器A對(duì)內(nèi)存模塊A進(jìn)行訪問(wèn)操作,CPUB通 過(guò)內(nèi)存控制器B對(duì)內(nèi)存模塊B進(jìn)行訪問(wèn)操作。
在圖2中,用實(shí)線箭頭表示內(nèi)存控制器A對(duì)內(nèi)存模塊A進(jìn)行訪問(wèn)的內(nèi) 存訪問(wèn)通道A以及內(nèi)存控制器B對(duì)內(nèi)存模塊B進(jìn)行訪問(wèn)的內(nèi)存訪問(wèn)通道B; 鏡像模塊,用于監(jiān)控內(nèi)存訪問(wèn)通道A,從而獲得內(nèi)存控制器A對(duì)內(nèi)存模塊A 進(jìn)行的訪問(wèn)操作的信息,并根據(jù)該信息對(duì)內(nèi)存模塊B進(jìn)行相同的訪問(wèn)操作, 在圖2中用點(diǎn)劃線箭頭表示相應(yīng)的信號(hào)流向;同樣,鏡像模塊,用于監(jiān)控內(nèi) 存訪問(wèn)通道B,從而獲得內(nèi)存控制器B對(duì)內(nèi)存模塊B進(jìn)行的訪問(wèn)操作的信 息,并根據(jù)該信息對(duì)內(nèi)存模塊A進(jìn)行相同的訪問(wèn)操作,在圖2中用虛線箭 頭表示相應(yīng)的信號(hào)流向。
在圖2中,內(nèi)存模塊A和內(nèi)存模塊B的內(nèi)存空間都分為兩部分, 一部 分為本地內(nèi)存控制器使用的本地內(nèi)存空間,另 一部分為對(duì)端控制器使用的鏡 像內(nèi)存空間。例如,內(nèi)存才莫塊A和內(nèi)存才莫塊B的內(nèi)存空間大小都為1024MB; 內(nèi)存模塊A的0~ 512MB的內(nèi)存空間為本地內(nèi)存空間,512 ~ 1024MB的內(nèi) 存空間為4竟4象內(nèi)存空間;同沖羊內(nèi)存才莫塊B的0~ 512MB的內(nèi)存空間為本;也內(nèi) 存空間,512 ~ 1024MB的內(nèi)存空間為鏡像內(nèi)存空間;則鏡像模塊在監(jiān)測(cè)到 內(nèi)存控制器A對(duì)內(nèi)存模塊A的0-512MB的內(nèi)存空間進(jìn)行訪問(wèn)操作的信息
后,對(duì)內(nèi)存模塊B的512 ~ 1024MB的內(nèi)存空間進(jìn)行相同的訪問(wèn)操作。因此 需要將本地內(nèi)存地址空間和鏡像內(nèi)存地址空間的對(duì)應(yīng)關(guān)系預(yù)先定義到鏡像 模塊中,以便鏡像模塊在監(jiān)測(cè)到內(nèi)存控制器對(duì)本地內(nèi)存進(jìn)行訪問(wèn)操作的信息 時(shí),對(duì)相應(yīng)的鏡像內(nèi)存執(zhí)行相同的操作。
在圖2中,鏡像模塊在對(duì)內(nèi)存模塊進(jìn)行訪問(wèn)搡作時(shí),可能會(huì)與本地的內(nèi) 存控制器產(chǎn)生竟?fàn)?。例如,鏡像模塊監(jiān)測(cè)到內(nèi)存控制器A對(duì)內(nèi)存模塊A進(jìn) 行的寫(xiě)操作后,對(duì)內(nèi)存模塊B執(zhí)行相同的寫(xiě)操作,如果此時(shí)內(nèi)存控制器B 也要對(duì)內(nèi)存模塊B執(zhí)行寫(xiě)操作,則鏡像模塊和內(nèi)存控制器B之間會(huì)產(chǎn)生竟 爭(zhēng),此時(shí)鏡像模塊需要與內(nèi)存控制器B進(jìn)行協(xié)商來(lái)完成各自的寫(xiě)操作,例如 以時(shí)分復(fù)用的方式來(lái)完成各自的寫(xiě)操作。
在圖2中,由鏡像模塊通過(guò)對(duì)內(nèi)存訪問(wèn)通道進(jìn)行監(jiān)控來(lái)實(shí)現(xiàn)內(nèi)存鏡像的 方案,無(wú)需CPU的參與,即將CPU從內(nèi)存鏡像工作中解放出來(lái),從而提高 了整個(gè)雙主控系統(tǒng)的工作效率。并且從內(nèi)存控制器的本地內(nèi)存訪問(wèn)通道獲取 該控制器對(duì)本地內(nèi)存的訪問(wèn)操作信息的方案,在一定程度上合并了本地內(nèi)存 訪問(wèn)通道和鏡像通道,減少了鏡像延遲,提高了鏡像的效率。
鏡像模塊可以用單芯片實(shí)現(xiàn),即如圖2中所示,也可以用雙芯片實(shí)現(xiàn), 如下面的圖3所示。
圖3是本發(fā)明一種內(nèi)存鏡像系統(tǒng)的第二實(shí)施例組成結(jié)構(gòu)框圖。如圖3 所示,圖2中的鏡像模塊被分為鏡像子模塊A和鏡像子模塊B,即用雙芯片 實(shí)現(xiàn)鏡像模塊。鏡像子模塊A可以集成在內(nèi)存控制器A所在的主控設(shè)備A 中,鏡像子模塊B可以集成在內(nèi)存控制器B所在的主控設(shè)備B中。
在上述圖2和圖3所示的實(shí)施例中,鏡像模塊或鏡像子模塊通過(guò)監(jiān)測(cè)內(nèi) 存控制器的本地內(nèi)存訪問(wèn)通道的來(lái)獲取內(nèi)存控制器對(duì)本地內(nèi)存的訪問(wèn)操作 信息,并且在對(duì)鏡像內(nèi)存執(zhí)行相同的訪問(wèn)操作時(shí)需要與對(duì)端的內(nèi)存控制器進(jìn) 行協(xié)商。因此,接下來(lái)給出本發(fā)明中通過(guò)接管本地內(nèi)存訪問(wèn)通道的方式來(lái)實(shí) 現(xiàn)內(nèi)存鏡像的方案。
圖4是本發(fā)明一種內(nèi)存鏡像系統(tǒng)的第三實(shí)施例組成結(jié)構(gòu)框圖。如圖4
所示,該系統(tǒng)包括屬于主控設(shè)備A的CPU A、內(nèi)存控制器A和內(nèi)存模塊 A,屬于主控設(shè)備B的CPUB、內(nèi)存控制器B和內(nèi)存模塊B,以及設(shè)置于控 制器A的本地內(nèi)存訪問(wèn)通道上的鏡像子模塊A和設(shè)置于控制器B的本地內(nèi) 存訪問(wèn)通道上的鏡像子模塊B。
在圖4中,鏡像子模塊A,用于接收內(nèi)存控制器A對(duì)內(nèi)存模塊A的訪 問(wèn)操作信息后,對(duì)內(nèi)存模塊A進(jìn)行相應(yīng)的訪問(wèn)操作,并將所接收的訪問(wèn)操 作信息發(fā)送給鏡像子模塊B;鏡像子模塊B根據(jù)來(lái)自鏡像子模塊A的訪問(wèn) 操作信息對(duì)內(nèi)存模塊B執(zhí)行相應(yīng)的訪問(wèn)操作;在圖4中用實(shí)線箭頭表示上述 的信號(hào)流向。
同樣,在圖4中,鏡像子模塊B,用于接收內(nèi)存控制器B對(duì)內(nèi)存模塊B 的訪問(wèn)操作信息后,對(duì)內(nèi)存模塊B進(jìn)行相應(yīng)的訪問(wèn)操作,并將所接收的訪問(wèn) 操作信息發(fā)送給鏡像子模塊A;鏡像子模塊A根據(jù)來(lái)自鏡像子模塊B的訪 問(wèn)操作信息對(duì)內(nèi)存模塊A執(zhí)行相應(yīng)的訪問(wèn)操作;在圖4中用虛線箭頭表示 上述的信號(hào)流向。
在圖4中,由于鏡像子模塊接管了內(nèi)存控制器的本地內(nèi)存訪問(wèn)通道,因 此對(duì)內(nèi)存模塊進(jìn)行訪問(wèn)操作時(shí)不會(huì)與內(nèi)存控制器產(chǎn)生竟?fàn)?。但是鏡像子模塊 需要接收來(lái)自本端內(nèi)存控制器和對(duì)端鏡像子模塊的對(duì)本端內(nèi)存模塊進(jìn)行的 訪問(wèn)操作的信息,例如,鏡像子模塊A需要根據(jù)來(lái)自?xún)?nèi)存控制器A的信息 對(duì)內(nèi)存模塊A進(jìn)行訪問(wèn)操作,以及根據(jù)來(lái)自鏡像子模塊B的信息對(duì)內(nèi)存模 塊A進(jìn)行訪問(wèn)操作;此時(shí),鏡像子模塊A可以以先到先訪問(wèn)的方式對(duì)內(nèi)存 模塊A進(jìn)行訪問(wèn),當(dāng)同時(shí)接收到來(lái)自?xún)?nèi)存控制器A和鏡像子模塊B的操作 信息時(shí),可以釆用時(shí)分復(fù)用的方式對(duì)內(nèi)存模塊A進(jìn)行訪問(wèn)。
在圖4中,鏡像子模塊A可以集成到內(nèi)存控制器A中;同樣,鏡像子 模塊B也可以集成到內(nèi)存控制器B中。
由上述說(shuō)明可見(jiàn),在圖2和圖3所示的實(shí)施例中,鏡像模塊或鏡像子模 塊只是監(jiān)測(cè)內(nèi)存控制器的本地內(nèi)存訪問(wèn)通道,而對(duì)內(nèi)存模塊的訪問(wèn)操作還是 由內(nèi)存控制器來(lái)完成的。而在圖4所示的實(shí)施例中,鏡像子模塊是接管內(nèi)存控制器的本地內(nèi)存訪問(wèn)通道,即鏡像子模塊攔截內(nèi)存控制器的訪問(wèn)操作信 息,并代替內(nèi)存控制器對(duì)本地內(nèi)存模塊執(zhí)行相應(yīng)的訪問(wèn)操作,同時(shí)對(duì)對(duì)端的 內(nèi)存模塊執(zhí)行相應(yīng)的訪問(wèn)操作,實(shí)現(xiàn)鏡像。
在圖4所示的實(shí)施例中,鏡像子模塊在同時(shí)接收到來(lái)自本地內(nèi)存控制器 和對(duì)端鏡像子模塊的操作信息時(shí),采用時(shí)分復(fù)用的方式對(duì)本地內(nèi)存進(jìn)行訪問(wèn) 操作,從而內(nèi)存訪問(wèn)效率不高。因此,給出下面的實(shí)施例來(lái)提高內(nèi)存訪問(wèn)效 率。
圖5是本發(fā)明一種內(nèi)存鏡像系統(tǒng)的第四實(shí)施例組成結(jié)構(gòu)框圖。如圖5 所示,該系統(tǒng)包括屬于主控設(shè)備A的CPU A、內(nèi)存控制器A、本地內(nèi)存 模塊A和鏡像內(nèi)存模塊A,屬于主控設(shè)備B的CPU B、內(nèi)存控制器B、本 地內(nèi)存模塊B和鏡像內(nèi)存模塊B ,以及設(shè)置于內(nèi)存控制器A的本地內(nèi)存訪 問(wèn)通道上的鏡像子模塊A和設(shè)置于內(nèi)存控制器B的本地內(nèi)存訪問(wèn)通道上的 鏡像子模塊B。
在圖5中,鏡像子模塊A在接收內(nèi)存控制器A對(duì)本地內(nèi)存模塊A的訪 問(wèn)操作信息后,對(duì)本地內(nèi)存模塊A進(jìn)行相應(yīng)的訪問(wèn)操作,并將所接收的訪 問(wèn)操作信息發(fā)送給鏡像子模塊B;鏡像子模塊B根據(jù)來(lái)自鏡像子模塊A的 訪問(wèn)操作信息對(duì)鏡像內(nèi)存模塊B進(jìn)行相應(yīng)的訪問(wèn)操作;在圖5中用實(shí)線箭頭 表示上述信號(hào)流向。
同樣,在圖5中,鏡像子模塊B在接收到內(nèi)存控制器B對(duì)本地內(nèi)存模 塊B的訪問(wèn)操作信息后,對(duì)本地內(nèi)存模塊B進(jìn)行相應(yīng)的訪問(wèn)操作,并將所 接收的訪問(wèn)操作信息發(fā)送給鏡像子模塊A;鏡像子模塊A根據(jù)來(lái)自鏡像子模 塊B的訪問(wèn)操作信息對(duì)鏡像內(nèi)存模塊A進(jìn)行相應(yīng)的訪問(wèn)操作;在圖5中用 虛線箭頭表示上述信號(hào)流向。
在圖5中,由于將內(nèi)存模塊分為本地內(nèi)存模塊和鏡像內(nèi)存模塊,并通過(guò) 獨(dú)立的通道與鏡像子模塊連接,因此,鏡像子模塊在同時(shí)接收的來(lái)自本地內(nèi) 存控制器和對(duì)端鏡像子模塊的訪問(wèn)操作信息后,可以通過(guò)各自的通道對(duì)本地 內(nèi)存模塊和鏡像內(nèi)存模塊進(jìn)行訪問(wèn),而不需要采用圖4所示實(shí)施例中時(shí)分復(fù)
用的訪問(wèn)方法,^^而^_高了內(nèi)存訪問(wèn)效率。
在圖5中,本地內(nèi)存模塊A、鏡像內(nèi)存模塊A和鏡像子模塊A可以集 成在一個(gè)單板上;本地內(nèi)存模塊B、鏡像內(nèi)存模塊B和鏡像子模塊B可以 集成在一個(gè)單板上。
在上述實(shí)施例中,鏡像模塊從內(nèi)存控制器A對(duì)內(nèi)存模塊A進(jìn)行訪問(wèn)操 作的內(nèi)存訪問(wèn)通道上獲取相應(yīng)的訪問(wèn)操作信息,并對(duì)內(nèi)存模塊B進(jìn)行相同的 訪問(wèn)操作,以實(shí)現(xiàn)將內(nèi)存模塊A中的內(nèi)容鏡像到內(nèi)存模塊B中。當(dāng)然,鏡 像模塊還可以以任何獨(dú)立于CPU控制的方式將內(nèi)存控制器A對(duì)內(nèi)存模塊A 的訪問(wèn)操作信息鏡像到內(nèi)存模塊B中。相應(yīng)地,可以用相同的方案將內(nèi)存模 塊B中的內(nèi)容鏡像到內(nèi)存模塊A中。
因此,最后給出本發(fā)明一種內(nèi)存鏡像裝置的結(jié)構(gòu)該內(nèi)存鏡像裝置包括 第一內(nèi)存控制器以及第一內(nèi)存模塊,該裝置還包括以獨(dú)立于CPU控制的方 式將第 一 內(nèi)存控制器對(duì)第 一 內(nèi)存模塊的訪問(wèn)操作鏡像到第二內(nèi)存模塊中的 鏡像模塊。該裝置還可以包括第二內(nèi)存控制器,其中,鏡像模塊以任何獨(dú)立 于CPU控制的方式將第二內(nèi)存控制器對(duì)第二內(nèi)存模塊的訪問(wèn)操作鏡像到第 一內(nèi)存模塊中。
綜上所述,在本發(fā)明中,鏡像模塊獲取第一內(nèi)存控制器對(duì)第一內(nèi)存模塊 進(jìn)行訪問(wèn)操作的信息,并對(duì)第二內(nèi)存模塊進(jìn)行相同的訪問(wèn)操作;和/或,獲 取第二內(nèi)存控制器對(duì)第二內(nèi)存模塊進(jìn)行訪問(wèn)操作的信息,并對(duì)第 一 內(nèi)存模塊
進(jìn)行相同的訪問(wèn)操作的技術(shù)方案,在實(shí)現(xiàn)內(nèi)存鏡像時(shí)無(wú)需內(nèi)存控制器所在主 控設(shè)備的CPU參與,提高了所述主控設(shè)備的工作效率,進(jìn)而提高了包括第 一內(nèi)存控制器所在主控設(shè)備和第二內(nèi)存控制器所在主控設(shè)備的雙主控系統(tǒng) 的工作效率。此外,在本發(fā)明從內(nèi)存控制器的本地內(nèi)存訪問(wèn)通道獲取控制器 對(duì)本地內(nèi)存的訪問(wèn)信息的技術(shù)方案,在一定程度上合并了本地內(nèi)存訪問(wèn)通道 和鏡像通道,減少了鏡像延遲,提高了鏡像的效率。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù) 范圍,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等, 均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種內(nèi)存鏡像系統(tǒng),其特征在于,該系統(tǒng)包括第一內(nèi)存控制器、第一內(nèi)存模塊、第二內(nèi)存控制器、第二內(nèi)存模塊以及鏡像模塊,其中,第一內(nèi)存控制器,用于通過(guò)第一內(nèi)存訪問(wèn)通道對(duì)第一內(nèi)存模塊進(jìn)行訪問(wèn)操作;第二內(nèi)存控制器,用于通過(guò)第二內(nèi)存訪問(wèn)通道對(duì)第二內(nèi)存模塊進(jìn)行訪問(wèn)操作;鏡像模塊,用于獲取第一內(nèi)存控制器對(duì)第一內(nèi)存模塊進(jìn)行訪問(wèn)操作的信息,并對(duì)第二內(nèi)存模塊進(jìn)行相同的訪問(wèn)操作;和/或,獲取第二內(nèi)存控制器對(duì)第二內(nèi)存模塊進(jìn)行訪問(wèn)操作的信息,并對(duì)第一內(nèi)存模塊進(jìn)行相同的訪問(wèn)操作。
2、 如權(quán)利要求l所述的系統(tǒng),其特征在于,所述鏡像模塊,用于通過(guò)監(jiān)控所述第 一 內(nèi)存訪問(wèn)通道獲取第 一 內(nèi)存控制 器對(duì)第一內(nèi)存模塊進(jìn)行的訪問(wèn)操作的信息;和/或,通過(guò)監(jiān)控所述第二內(nèi)存 訪問(wèn)通道獲取第二內(nèi)存控制器對(duì)第二內(nèi)存模塊進(jìn)行的訪問(wèn)操作的信息。
3、 如權(quán)利要求2所述的系統(tǒng),其特征在于,所述鏡像模塊和第一內(nèi)存控制器,用于通過(guò)相互協(xié)商來(lái)完成各自對(duì)第一 內(nèi)存模塊的訪問(wèn)操作;和/或所述鏡像模塊和第二內(nèi)存控制器,用于通過(guò)相互協(xié)商來(lái)完成各自對(duì)第二 內(nèi)存模塊的訪問(wèn)操作。
4、 如權(quán)利要求l所述的系統(tǒng),其特征在于,所述鏡像模塊包括第一鏡像子模塊和第二鏡像子模塊;其中,第一鏡像子模塊設(shè)置于第一內(nèi)存訪問(wèn) 通道上,第二鏡像子模塊設(shè)置于第二內(nèi)存訪問(wèn)通道上;第 一鏡像子模塊,用于接收第 一 內(nèi)存控制器對(duì)第 一 內(nèi)存模塊的訪問(wèn)操作 信息后,對(duì)第一內(nèi)存模塊進(jìn)行相應(yīng)的訪問(wèn)操作,并將所接收的訪問(wèn)操作信息 發(fā)送給第二鏡像子模塊;和/或,接收第二鏡像子模塊發(fā)送的訪問(wèn)操作信息 后,對(duì)第一內(nèi)存模塊進(jìn)行相應(yīng)的訪問(wèn)操作;第二鏡像子模塊,用于接收第二內(nèi)存控制器對(duì)第二內(nèi)存模塊的訪問(wèn)操作 信息后,對(duì)第二內(nèi)存模塊進(jìn)行相應(yīng)的訪問(wèn)操作,并將所接收的訪問(wèn)操作信息發(fā)送給第一鏡像子模塊;和/或,接收第一鏡像子模塊發(fā)送的訪問(wèn)操作信息后,對(duì)第二內(nèi)存模塊進(jìn)行相應(yīng)的訪問(wèn)操作。
5、 如權(quán)利要求4所述的系統(tǒng),其特征在于,所述第一內(nèi)存模塊包括 第一本地內(nèi)存模塊和第一鏡像內(nèi)存模塊;所述第二內(nèi)存模塊包括第二本地 內(nèi)存模塊和第二鏡像內(nèi)存模塊;所述第 一鏡像子模塊接收到第 一 內(nèi)存控制器對(duì)第 一 內(nèi)存模塊的訪問(wèn)操 作信息后,對(duì)第一本地內(nèi)存模塊進(jìn)行相應(yīng)的訪問(wèn)操作,并將所接收的訪問(wèn)操 作信息發(fā)送給第二鏡像子模塊;和/或,所述第一鏡像子模塊接收第二鏡像 子模塊發(fā)送的訪問(wèn)操作信息后,對(duì)第一鏡像內(nèi)存模塊進(jìn)行相應(yīng)的訪問(wèn)操作;所述第二鏡像子模塊接收到第二內(nèi)存控制器對(duì)第二內(nèi)存模塊的訪問(wèn)操 作信息后,對(duì)第二本地內(nèi)存模塊進(jìn)行相應(yīng)的訪問(wèn)操作,并將所接收的訪問(wèn)操 作信息發(fā)送給第一鏡像子模塊;和/或,所述第二鏡像子模塊接收第一鏡像 子模塊發(fā)送的訪問(wèn)操作信息后,對(duì)第二鏡像內(nèi)存模塊進(jìn)行相應(yīng)的訪問(wèn)操作。
6、 如權(quán)利要求4或5所述的系統(tǒng),其特征在于,所述第一鏡像子模塊集成在所述第一內(nèi)存控制器中;和/或 所述第二鏡像子模塊集成在所述第二內(nèi)存控制器中。
7、 如權(quán)利要求5所述的系統(tǒng),其特征在于。所述第 一本地內(nèi)存模塊、第 一鏡像內(nèi)存模塊和第 一鏡像子模塊集成在一 個(gè)單板上;和/或所述第二本地內(nèi)存模塊、第二鏡像內(nèi)存模塊和第二鏡像子模塊集成在一 個(gè)單板上。
8、 如權(quán)利要求l所述的系統(tǒng),其特征在于,所述鏡像模塊在獲取到第 一 內(nèi)存控制器對(duì)第 一 內(nèi)存模塊進(jìn)行的訪問(wèn)操 作的信息后,根據(jù)第 一 內(nèi)存模塊和第二內(nèi)存模塊的內(nèi)存地址空間對(duì)應(yīng)關(guān)系對(duì) 第二內(nèi)存模塊進(jìn)行相同的訪問(wèn)操作;和/或,在獲取到第二內(nèi)存控制器對(duì)第 二內(nèi)存模塊進(jìn)行的訪問(wèn)操作的信息后,根據(jù)第二內(nèi)存模塊和第 一 內(nèi)存模塊的 內(nèi)存地址空間對(duì)應(yīng)關(guān)系對(duì)第 一 內(nèi)存模塊進(jìn)行相同的訪問(wèn)操作。
9、 一種內(nèi)存鏡像方法,其特征在于,該方法包括從第 一 內(nèi)存控制器與第 一 內(nèi)存模塊之間的第 一 內(nèi)存訪問(wèn)通道獲取第一 內(nèi)存控制器對(duì)第 一 內(nèi)存模塊進(jìn)行訪問(wèn)操作的信息,并對(duì)第二內(nèi)存模塊進(jìn)行相同的訪問(wèn)操作;和/或從第二內(nèi)存控制器與第二內(nèi)存模塊之間的第二內(nèi)存訪問(wèn)通道獲取第二 內(nèi)存控制器對(duì)第二內(nèi)存模塊進(jìn)行訪問(wèn)操作的信息,并對(duì)第一內(nèi)存模塊進(jìn)行相 同的訪問(wèn)操作。
10、 如^f又利要求9所述的方法,其特征在于,所述從第 一 內(nèi)存訪問(wèn)通道獲取第 一 內(nèi)存控制器對(duì)第 一 內(nèi)存模塊進(jìn)行訪 問(wèn)操作的信息是,通過(guò)監(jiān)控所述第一內(nèi)存訪問(wèn)通道獲?。缓?或所述從第二內(nèi)存訪問(wèn)通道獲取第二內(nèi)存控制器對(duì)第二內(nèi)存模塊進(jìn)行訪 問(wèn)操作的信息是,通過(guò)監(jiān)控所述第二內(nèi)存訪問(wèn)通道獲取。
11、 如權(quán)利要求10所述的方法,其特征在于,所述對(duì)第一 內(nèi)存模塊進(jìn)行訪問(wèn)操作包括通過(guò)與第 一 內(nèi)存控制器協(xié)商來(lái) 實(shí)現(xiàn)對(duì)第一內(nèi)存模塊進(jìn)行訪問(wèn)操作;和/或所述對(duì)第二內(nèi)存模塊進(jìn)行訪問(wèn)操作包括通過(guò)與第二內(nèi)存控制器協(xié)商來(lái) 實(shí)現(xiàn)對(duì)第二內(nèi)存模塊進(jìn)行訪問(wèn)操作。
12、 如權(quán)利要求9所述的方法,其特征在于,所述從第 一 內(nèi)存訪問(wèn)通道獲取第 一 內(nèi)存控制器對(duì)第 一 內(nèi)存模塊進(jìn)行訪 問(wèn)操作的信息是,在所述第一內(nèi)存訪問(wèn)通道上進(jìn)行信息攔截來(lái)獲得,還根據(jù) 所獲得的訪問(wèn)操作信息對(duì)第一 內(nèi)存模塊執(zhí)行相應(yīng)的訪問(wèn)操作;和/或所述從第二內(nèi)存訪問(wèn)通道獲取第二內(nèi)存控制器對(duì)第二內(nèi)存模塊進(jìn)行訪 問(wèn)操作的信息是,在所述第二內(nèi)存訪問(wèn)通道上進(jìn)行信息攔截來(lái)獲得,還根據(jù) 所獲得的訪問(wèn)操作信息對(duì)第二內(nèi)存模塊執(zhí)行相應(yīng)的訪問(wèn)操作。
13、 一種內(nèi)存鏡像裝置,包括第一內(nèi)存控制器以及第一內(nèi)存模塊,其 特征在于,該裝置還包括以獨(dú)立于CPU控制的方式將第一內(nèi)存控制器對(duì)第 一內(nèi)存模塊的訪問(wèn)操作鏡像到第二內(nèi)存模塊中的鏡像模塊。
14、 如權(quán)利要求13所述的內(nèi)存鏡像裝置,其特征在于,該裝置還包括 第二內(nèi)存控制器,其中,所述鏡像模塊以獨(dú)立于CPU控制的方式將第二內(nèi) 存控制器對(duì)第二內(nèi)存模塊的訪問(wèn)操作鏡像到所述第 一 內(nèi)存模塊中。
全文摘要
本發(fā)明公開(kāi)了一種內(nèi)存鏡像系統(tǒng)。該系統(tǒng)包括第一內(nèi)存控制器、第一內(nèi)存模塊、第二內(nèi)存控制器、第二內(nèi)存模塊以及鏡像模塊;其中第一內(nèi)存控制器,用于通過(guò)第一內(nèi)存訪問(wèn)通道對(duì)第一內(nèi)存模塊進(jìn)行訪問(wèn)操作;第二內(nèi)存控制器,用于通過(guò)第二內(nèi)存訪問(wèn)通道對(duì)第二內(nèi)存模塊進(jìn)行訪問(wèn)操作;鏡像模塊,用于獲取第一內(nèi)存控制器對(duì)第一內(nèi)存模塊進(jìn)行訪問(wèn)操作的信息,并對(duì)第二內(nèi)存模塊進(jìn)行相同的訪問(wèn)操作;和/或,獲取第二內(nèi)存控制器對(duì)第二內(nèi)存模塊進(jìn)行訪問(wèn)操作的信息,并對(duì)第一內(nèi)存模塊進(jìn)行相同的訪問(wèn)操作。本發(fā)明還公開(kāi)了一種內(nèi)存鏡像方法和一種內(nèi)存鏡像裝置。本發(fā)明的技術(shù)方案能夠提高鏡像效率,并且能夠提高雙主控系統(tǒng)的工作效率。
文檔編號(hào)G06F11/14GK101169750SQ20071017905
公開(kāi)日2008年4月30日 申請(qǐng)日期2007年12月10日 優(yōu)先權(quán)日2007年12月10日
發(fā)明者鄭衛(wèi)紅 申請(qǐng)人:杭州華三通信技術(shù)有限公司