專利名稱:在多個(gè)系統(tǒng)處理器之間進(jìn)行切換的方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及總線結(jié)構(gòu)。
一個(gè)傳統(tǒng)的計(jì)算機(jī)系統(tǒng)利用一個(gè)總線在計(jì)算機(jī)系統(tǒng)的部件之間傳送數(shù)據(jù)。一個(gè)通用的總線結(jié)構(gòu)是PCI(外圍部件互聯(lián))總線結(jié)構(gòu),這個(gè)PCI總線結(jié)構(gòu)包括該領(lǐng)域內(nèi)眾所周知的各種理想的特性。PCI總線結(jié)構(gòu)被描述在例如,在Oregon Hillsborough,5300 N.E.Elam YoungParkway的PCI特殊興趣組出版的PCI局部總線規(guī)范。最近開發(fā)的CompactPCI總線結(jié)構(gòu)是針對工業(yè)和/或者嵌入式應(yīng)用設(shè)計(jì)的PCI技術(shù)的一個(gè)實(shí)現(xiàn)方式。CompactPCI總線結(jié)構(gòu)被描述在MassachusettsWakefield,301 Edgewater Place Suite 220的PCI工業(yè)計(jì)算機(jī)制造商組(PCIMG)出版的CompactPCI規(guī)范中。CompactPCI和PCIMG是PCI工業(yè)計(jì)算機(jī)制造商組的注冊商標(biāo)。
在能夠運(yùn)行重要應(yīng)用,例如電話交換系統(tǒng)或者數(shù)據(jù)庫服務(wù)器的一個(gè)高可用性或者高抗故障的系統(tǒng)中,提供CompactPCI總線結(jié)構(gòu)是有利的,而不會(huì)使應(yīng)用發(fā)生一個(gè)系統(tǒng)故障的危險(xiǎn)。一個(gè)系統(tǒng)處理器發(fā)生故障可以導(dǎo)致這樣一個(gè)系統(tǒng)故障。所以,在一個(gè)CompactPCI總線結(jié)構(gòu)上提供一個(gè)高度可用性和高抗故障的系統(tǒng)是所希望的,這個(gè)系統(tǒng)能夠容忍一個(gè)系統(tǒng)處理器故障,而不會(huì)中斷系統(tǒng)的操作。
圖1是根據(jù)本發(fā)明的優(yōu)選實(shí)施方式的多結(jié)構(gòu)背板的一個(gè)電路圖;圖2是多結(jié)構(gòu)背板的一個(gè)雙路結(jié)構(gòu)的一個(gè)電路圖;圖3是多結(jié)構(gòu)背板的一個(gè)擴(kuò)展結(jié)構(gòu)的一個(gè)電路圖;圖4是在一個(gè)激活/備份模式中的多結(jié)構(gòu)背板的一個(gè)激活/備份結(jié)構(gòu)的一個(gè)電路圖;圖5是在一個(gè)激活/激活模式中的多結(jié)構(gòu)背板的一個(gè)激活/備份結(jié)構(gòu)的一個(gè)電路圖;圖6是在一個(gè)激活/備份結(jié)構(gòu)中交換主機(jī)板的過程的一個(gè)流圖7是在一個(gè)激活/激活結(jié)構(gòu)中交換主機(jī)板的過程的一個(gè)流圖;圖8是系統(tǒng)主機(jī)的一個(gè)電路圖;圖9是在系統(tǒng)主機(jī)之間進(jìn)行切換的過程的一個(gè)流圖;和圖10是在系統(tǒng)處理器之間進(jìn)行切換的過程的一個(gè)流圖。
在本發(fā)明的一個(gè)優(yōu)選實(shí)施方式中,提供了一個(gè)方法來在一個(gè)CompactPCI總線上的多個(gè)系統(tǒng)處理器之間進(jìn)行切換。當(dāng)一個(gè)備份系統(tǒng)處理器判斷出影響在CompactPCI總線上的一個(gè)激活系統(tǒng)處理器的一個(gè)故障時(shí),這個(gè)備份系統(tǒng)處理器將一個(gè)專用仲裁器設(shè)置在單主控模式。然后,這個(gè)備份處理器判斷在CompactPCI總線上的每一個(gè)裝置是否處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中,例如,這是通過判斷是否使能了對裝置的中斷,這個(gè)裝置是否具有對激活系統(tǒng)處理器進(jìn)行一個(gè)直接存儲(chǔ)器訪問能力,和/或者這個(gè)裝置是否在一個(gè)發(fā)生了故障的板子上來完成的。如果這個(gè)被備份系統(tǒng)處理器判斷一個(gè)裝置處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中,這個(gè)備份系統(tǒng)處理器通過,例如將這個(gè)裝置編程為停頓操作或者改變這個(gè)裝置正在寫入的一個(gè)地址來停頓這個(gè)裝置。然后,這個(gè)備份系統(tǒng)處理器將這個(gè)專用仲裁器設(shè)置在多主控模式下。
多結(jié)構(gòu)背板圖1是根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施方式的多結(jié)構(gòu)背板的一個(gè)電路圖。在圖1中,一個(gè)背板100具有一個(gè)CompactPCI總線[1]110和一個(gè)CompactPCI總線[2]120。與CompactPCI總線[1]110連接的是一個(gè)系統(tǒng)處理器槽[1]112,一個(gè)橋接槽[1]114和輸入/輸出槽[1]116。輸入/輸出槽[1]116中插入輸入/輸出板[1]118,以實(shí)現(xiàn)相應(yīng)的裝置。與CompactPCI總線[2]120連接的是一個(gè)系統(tǒng)處理器槽[2]122,一個(gè)橋接槽[2]124和輸入/輸出槽[2]126。輸入/輸出槽[2]126中插入輸入/輸出板[2]128,以實(shí)現(xiàn)相應(yīng)的裝置。一個(gè)交叉連接[1]130將系統(tǒng)處理器槽[1]112連接到橋接槽[2]124。一個(gè)交叉連接[2]140將系統(tǒng)處理器槽[2]122連接到橋接槽[1]114。優(yōu)選地,交叉連接[1]130是一第一局部外圍部件互聯(lián)(PCI)總線,交叉連接[2]140是一第二局部PCI總線。
圖1也顯示了連接到背板100以定義整個(gè)計(jì)算機(jī)系統(tǒng)的系統(tǒng)處理器板和橋接板。如上面所提到的,背板100提供了計(jì)算機(jī)系統(tǒng)的多個(gè)可能結(jié)構(gòu)。根據(jù)背板100的被選擇結(jié)構(gòu),圖1中所顯示的系統(tǒng)處理器板和橋接板的某些組合可以出現(xiàn)和/或者激活。一個(gè)系統(tǒng)處理器板[1]150具有一個(gè)系統(tǒng)處理器[1]152和一個(gè)系統(tǒng)主機(jī)[1S]154,并且被插入到系統(tǒng)處理器槽[1]112。具有一個(gè)系統(tǒng)主機(jī)[1B]164和一個(gè)熱切換控制器[1]166的一個(gè)橋接板[1]160被可選地插入到橋接槽[1]114。一個(gè)系統(tǒng)處理器板[2]170具有一個(gè)系統(tǒng)處理器[2]172和一個(gè)系統(tǒng)主機(jī)[2S]174,并且被插入到系統(tǒng)處理器槽[2]122。具有一個(gè)系統(tǒng)主機(jī)[2B]184和一個(gè)熱切換控制器[2]186的一個(gè)橋接板[2]180被可選地插入到橋接槽[2]124。例如,系統(tǒng)處理器是Motorola MPC750處理器系統(tǒng)。
圖2是多結(jié)構(gòu)背板的一個(gè)雙路結(jié)構(gòu)的一個(gè)電路圖。在這個(gè)雙路結(jié)構(gòu)中,一第一和第二子系統(tǒng)的功能是相互無關(guān)的。在圖2中,系統(tǒng)處理器板[1]150被插入到系統(tǒng)處理器槽[1]112中,系統(tǒng)處理器板[2]170被插入到系統(tǒng)處理器槽[2]122中。系統(tǒng)處理器[1]152控制在CompactPCI總線[1]110上的輸入/輸出板[1]118,以控制在一第一子系統(tǒng)中實(shí)現(xiàn)的這些器件。系統(tǒng)主機(jī)[1S]154控制CompactPCI總線[1]110功能。系統(tǒng)處理器[2]172控制在CompactPCI總線[2]120上的輸入/輸出板[2]128,以控制在一第二子系統(tǒng)中實(shí)現(xiàn)的這些器件。系統(tǒng)主機(jī)[2S]174控制CompactPCI總線[2]120功能。其中,既不使用交叉連接[1]130,也不使用交叉連接[2]140。
圖3是多結(jié)構(gòu)背板的一個(gè)擴(kuò)展結(jié)構(gòu)的一個(gè)電路圖。在這個(gè)擴(kuò)展結(jié)構(gòu)中,一單個(gè)系統(tǒng)處理器控制在這兩個(gè)總線上被實(shí)現(xiàn)的裝置。在圖3中,系統(tǒng)處理器板[1]150被插入到系統(tǒng)處理器槽[1]112中,橋接板[2]180被插入到橋接槽[2]124中。系統(tǒng)處理器[1]152控制在CompactPCI總線[1]110上的輸入/輸出板[1]118,以控制在其中實(shí)現(xiàn)的這些器件。系統(tǒng)處理器[1]152也經(jīng)過交叉連接[1]130來控制在CompactPCI總線[2]120上的輸入/輸出板[2]128,以控制在其中實(shí)現(xiàn)的這些器件。系統(tǒng)主機(jī)[2B]184控制CompactPCI總線[2]120功能。交叉連接[2]140沒有被使用。
圖4是一個(gè)激活模式下,多結(jié)構(gòu)背板的一個(gè)激活/備份結(jié)構(gòu)的一個(gè)電路圖。在這個(gè)激活/備份系統(tǒng)中,一單個(gè)激活系統(tǒng)處理器控制在一個(gè)激活模式下的兩個(gè)總線上被實(shí)現(xiàn)的器件。如果在激活系統(tǒng)處理器上發(fā)生了一個(gè)故障,一個(gè)備份處理器就控制處于一個(gè)備份模式下的器件。在圖4中,系統(tǒng)處理器板[1]150被插入到系統(tǒng)處理器槽[1]112中,系統(tǒng)處理器板[2]170被插入到系統(tǒng)處理器槽[2]122中。橋接板[1]160被插入到橋接槽[1]114中,并且橋接板[2]180被插入到橋接槽[2]124中。在一個(gè)激活模式下,系統(tǒng)處理器板[1]150和橋接板[2]180被用作一個(gè)合作板。系統(tǒng)處理器[1]152控制在CompactPCI總線[1]110上的輸入/輸出板[1]118,也經(jīng)過交叉連接[1]130來控制在CompactPCI總線[2]120上的輸入/輸出板[2]128。系統(tǒng)主機(jī)[1S]154控制CompactPCI總線[1]110功能,并且系統(tǒng)主機(jī)[2B]184控制CompactPCI總線[2]120功能。交叉連接[2]140沒有被使用。
圖5是一個(gè)備份模式下,多結(jié)構(gòu)背板的一個(gè)激活/備份結(jié)構(gòu)的一個(gè)電路圖。在這個(gè)備份模式下,系統(tǒng)處理器板[2]170和橋接板[1]160被用作一個(gè)合作板。系統(tǒng)處理器[2]172控制在CompactPCI總線[1]110上的輸入/輸出板[2]128,也經(jīng)過交叉連接[2]140來控制在CompactPCI總線[2]120上的輸入/輸出板[1]118。系統(tǒng)主機(jī)[1B]164控制CompactPCI總線[1]110功能,并且系統(tǒng)主機(jī)[2S]174控制CompactPCI總線[2]120功能。交叉連接[1]130沒有被使用。
在一個(gè)激活/激活結(jié)構(gòu)中,兩個(gè)系統(tǒng)處理器板和兩個(gè)橋接板均被如圖1所顯示的插入。系統(tǒng)處理器板[1]150被插入到系統(tǒng)處理器槽[1]112中,系統(tǒng)處理器板[2]170被插入到系統(tǒng)處理器槽[2]122中。橋接板[1]160被插入到橋接槽[1]114中,并且橋接板[2]180被插入到橋接槽[2]124中。在一個(gè)雙路模式下,一第一和第二系統(tǒng)功能是相互無關(guān)的,如上面所模式的雙路結(jié)構(gòu)類似。系統(tǒng)處理器[1]152控制在CompactPCI總線[1]110上的輸入/輸出板[1]118,以控制在一第一系統(tǒng)中使用它們而實(shí)現(xiàn)的這些器件。系統(tǒng)處理器[2]172控制在CompactPCI總線[2]120上的輸入/輸出板[2]128,以控制在一第二系統(tǒng)中使用它們而實(shí)現(xiàn)的這些器件。系統(tǒng)主機(jī)[1S]154控制CompactPCI總線[1]110功能,并且系統(tǒng)主機(jī)[2S]174控制CompactPCI總線[2]120功能。交叉連接[2]140沒有被使用,交叉連接[1]130也沒有被使用。
在一個(gè)激活/激活結(jié)構(gòu)中,如果在CompactPCI總線[2]120上的系統(tǒng)處理器發(fā)生了一個(gè)故障,在一第一共享模式下,處理負(fù)擔(dān)就轉(zhuǎn)移到系統(tǒng)處理器[1]152。這第一共享模式的操作與上面所討論的和圖4所顯示的激活/備份結(jié)構(gòu)的激活模式完全一致。如果在CompactPCI總線[1]110上的系統(tǒng)處理器發(fā)生了一個(gè)故障,在一第二共享模式下,處理負(fù)擔(dān)就轉(zhuǎn)移到系統(tǒng)處理器[2]172。這第二共享模式的操作與上面所討論的和圖5所顯示的激活/備份結(jié)構(gòu)的備份模式完全一致。
主機(jī)板切換如上面所顯示的,在每一個(gè)總線上均提供了多個(gè)系統(tǒng)主機(jī)。系統(tǒng)處理器板[1]150,橋接板[1]160,系統(tǒng)處理器板[2]170和橋接板[2]180中的每一個(gè)均是其上駐留了一個(gè)系統(tǒng)主機(jī)的一個(gè)“主機(jī)板”。其結(jié)果是,在激活主機(jī)板上發(fā)生了一個(gè)故障時(shí),對任何一個(gè)總線的總線功能控制均可以從一個(gè)激活系統(tǒng)主機(jī)切換到一個(gè)備份系統(tǒng)主機(jī)上。傳統(tǒng)的CompactPCI總線結(jié)構(gòu)允許在一個(gè)CompactPCI總線上的一個(gè)非主機(jī)板,例如輸入/輸出板[1]118中的一個(gè)或者輸入/輸出板[2]128中的一個(gè),可以被進(jìn)行“熱切換”。即,板子可以被拿出,或者被替代,而不會(huì)通過重新設(shè)置這些裝置而中斷計(jì)算機(jī)系統(tǒng)的操作。這在例如Massachusetts Wakefield,301 Edgewater Place Suite 220的PCI工業(yè)計(jì)算機(jī)制造商組出版的CompactPCI熱切換規(guī)范中被描述。所以,通過在每一個(gè)CompactPCI總線上提供多個(gè)系統(tǒng)主機(jī),本發(fā)明的優(yōu)選實(shí)施方式提供了對主機(jī)板進(jìn)行熱切換的能力,并且允許發(fā)生了故障的一個(gè)主機(jī)板可以被替代,而允許操作繼續(xù)進(jìn)行。結(jié)果,CompactPCI總線結(jié)構(gòu)的優(yōu)點(diǎn)可以用于一個(gè)高可用性或者高抗故障的應(yīng)用中。
圖6是優(yōu)選實(shí)施方式的計(jì)算機(jī)系統(tǒng)所執(zhí)行的、用于切換在一個(gè)激活/備份結(jié)構(gòu)中的主機(jī)板的過程的一個(gè)流圖。在圖6中被描述的基本功能被系統(tǒng)處理器152或者172,系統(tǒng)主機(jī)154,164,174或者184和熱切換控制器166或者186一起組合執(zhí)行,并且將在說明書的后面進(jìn)一步詳細(xì)說明。該領(lǐng)域的一個(gè)普通技術(shù)人員將認(rèn)識到如何以最適合于手頭的應(yīng)用,但是是根據(jù)這里所進(jìn)行的描述,的方式來實(shí)現(xiàn)這些功能。在步驟605中,如果在主機(jī)板中檢測到了一個(gè)故障,控制就轉(zhuǎn)移到步驟610。在步驟610中,利用交叉連接[2]140,而不是利用交叉連接[1]130。在步驟615中,系統(tǒng)處理被從系統(tǒng)處理器[1]152轉(zhuǎn)移到系統(tǒng)處理器[2]172。步驟615將在后面被詳細(xì)解釋。在步驟620中,CompactPCI總線[1]110功能的控制被從系統(tǒng)主機(jī)[1S]154轉(zhuǎn)移到系統(tǒng)主機(jī)[1B]164。在步驟625中,CompactPCI總線[2]120功能的控制被從系統(tǒng)主機(jī)[2B]184轉(zhuǎn)移到系統(tǒng)主機(jī)[2S]174。后面將參考圖8和圖9來詳細(xì)解釋系統(tǒng)主機(jī)轉(zhuǎn)移。在步驟630中,發(fā)生故障的主機(jī)板被進(jìn)行熱切換,并且可以糾正主機(jī)板的故障而不會(huì)中斷系統(tǒng)的操作。
圖7是用于切換在一個(gè)激活/激活結(jié)構(gòu)中的主機(jī)板的過程的一個(gè)流圖。如在圖6中所顯示的,在圖7中被描述的基本功能被系統(tǒng)處理器152或者172,系統(tǒng)主機(jī)154,164,174或者184和熱切換控制器166或者186一起組合執(zhí)行,并且將在說明書的后面進(jìn)一步詳細(xì)說明。該領(lǐng)域的一個(gè)普通技術(shù)人員將認(rèn)識到如何以最適合于手頭的應(yīng)用,但是是根據(jù)這里所進(jìn)行的描述,的方式來實(shí)現(xiàn)這些功能。在步驟705中,如果在主機(jī)板中檢測到了一個(gè)故障,控制就轉(zhuǎn)移到步驟710。在步驟710中,利用交叉連接[2]140。系統(tǒng)處理器[2]172繼續(xù)控制在CompactPCI總線[2]120上的處理,如步驟715所提到的。在步驟720中,對CompactPCI總線[2]120上裝置的處理控制被轉(zhuǎn)移到系統(tǒng)處理器[2]172。將在后面參考圖10詳細(xì)解釋系統(tǒng)處理器的轉(zhuǎn)移。系統(tǒng)主機(jī)[2S]174繼續(xù)控制CompactPCI總線[2]120功能,如步驟725所提到的。在步驟730中,CompactPCI總線[1]110功能的控制被從系統(tǒng)主機(jī)[1S]154轉(zhuǎn)移到系統(tǒng)主機(jī)[1B]164。在步驟735中,發(fā)生故障的主機(jī)板被進(jìn)行熱切換,并且可以糾正主機(jī)板的故障而不會(huì)中斷系統(tǒng)的操作。
如上面所提到的,傳統(tǒng)的CompactPCI標(biāo)準(zhǔn)提供了熱切換的能力。如這樣,在橋接板[1]160上的熱切換控制器[1]166和在橋接板[2]180上的熱切換控制器[2]186是基于傳統(tǒng)的、如在上面所提到的CompactPCI熱切換規(guī)范中所描述的CompactPCI熱切換的。該領(lǐng)域的一個(gè)普通技術(shù)人員,可以根據(jù)這里所提供的描述,根據(jù)CompactPCI熱切換規(guī)范,并且根據(jù)設(shè)計(jì)偏好和對手頭應(yīng)用的合適性,輕易地實(shí)現(xiàn)熱切換控制器。但是,對主機(jī)板進(jìn)行熱切換需要對傳統(tǒng)的CompactPCI系統(tǒng)主機(jī)進(jìn)行某些修改,以確??偩€控制功能不會(huì)被在一個(gè)總線上的兩個(gè)系統(tǒng)主機(jī)的存在所破壞。
圖8是具有這樣一個(gè)修改的一個(gè)系統(tǒng)主機(jī)的一個(gè)電路圖。在圖8中的系統(tǒng)主機(jī)800與系統(tǒng)主機(jī)[1S]154,系統(tǒng)主機(jī)[1B]164,系統(tǒng)主機(jī)[2S]174或者系統(tǒng)主機(jī)[2B]184相應(yīng)。系統(tǒng)主機(jī)800包括一個(gè)傳統(tǒng)的PCI-PCI橋810,這個(gè)PCI-PCI橋810將CompactPC總線連接到主機(jī)板上的一個(gè)局部PCI總線上。例如,橋810是一個(gè)DEC 21154 PCI橋仲裁器820。這個(gè)系統(tǒng)主機(jī)800進(jìn)一步包括一個(gè)專用仲裁器820。這個(gè)專用仲裁器820替代被禁止的、被包括在橋810中的傳統(tǒng)總線仲裁器的功能。這個(gè)專用仲裁器820與傳統(tǒng)的PCI總線仲裁器相同,除了提供了允許系統(tǒng)主機(jī)進(jìn)行切換的幾個(gè)特征外。下面參考圖9來解釋這些特征。
圖9是對系統(tǒng)主機(jī)進(jìn)行切換的過程的一個(gè)流圖。這個(gè)過程被在系統(tǒng)主機(jī)[1S]154或者系統(tǒng)主機(jī)[1B]164中的專用仲裁器820和熱切換控制器166所執(zhí)行,以在CompactPCI總線[1]110上的系統(tǒng)主機(jī)[1S]154和系統(tǒng)主機(jī)[1B]164之間進(jìn)行切換,或者被系統(tǒng)主機(jī)[2S]174或者系統(tǒng)主機(jī)[2B]184專用仲裁器820和熱切換控制器186所執(zhí)行,以在CompactPCI總線[2]120上的系統(tǒng)主機(jī)[2S]174和系統(tǒng)主機(jī)[2B]184之間進(jìn)行切換,如在上面所描述的各種情形下。在步驟905中,熱切換控制器使總線停頓。更具體地,這個(gè)熱切換控制器向?qū)S弥俨闷?20提供一個(gè)高優(yōu)先級請求信號,僅當(dāng)總線是空閑時(shí)專用仲裁器820才允許這個(gè)高優(yōu)先級請求信號。在專用仲裁器820中,為用于這個(gè)目的的熱切換控制器提供一個(gè)特殊的請求/允許線對。
在步驟910中,計(jì)算機(jī)系統(tǒng)禁止被激活系統(tǒng)主機(jī)所提供的系統(tǒng)主機(jī)信號。具體地,熱切換控制器向?qū)S弥俨闷?20提供一個(gè)浮動(dòng)信號,這個(gè)浮動(dòng)信號促使專用仲裁器820禁止當(dāng)處于激活時(shí)它所提供的系統(tǒng)主機(jī)信號。對用于這個(gè)目的的熱切換控制器,一個(gè)特殊的浮動(dòng)線被添加到專用仲裁器820。被這個(gè)浮動(dòng)信號所禁止的的系統(tǒng)主機(jī)信號包括用于允許對總線上裝置的總線訪問的允許信號,用于重新設(shè)置總線上裝置的重新設(shè)置信號,和時(shí)鐘信號,和被提供到總線上裝置的中斷。專用仲裁器820定義其允許信號,重新設(shè)置信號和時(shí)鐘信號為3態(tài)信號,其中一高阻抗?fàn)顟B(tài)被添加作為一第三狀態(tài)。浮動(dòng)信號促使專用仲裁器820將3態(tài)允許信號,重新設(shè)置信號,和時(shí)鐘信號設(shè)置為第三狀態(tài),并且禁止中斷。在步驟915中,熱切換控制器將控制從發(fā)生故障的激活系統(tǒng)主機(jī)轉(zhuǎn)移到備份系統(tǒng)主機(jī)。盡管為了簡單按照所顯示的順序來進(jìn)行描述,本發(fā)明的優(yōu)選實(shí)施方式在重新設(shè)置信號和時(shí)鐘信號被激活系統(tǒng)主機(jī)禁止以前,將它們傳送到備份系統(tǒng)主機(jī),以使重新設(shè)置信號和時(shí)鐘信號不會(huì)成為一個(gè)中間狀態(tài),在這個(gè)中間狀態(tài)中,一個(gè)不希望有的信號將被發(fā)送到任何一個(gè)裝置。另外,優(yōu)選地,時(shí)鐘信號在結(jié)束的邊緣被放置在第三狀態(tài),以避免短周期。
系統(tǒng)處理器板的切換系統(tǒng)處理器板的切換需要系統(tǒng)處理器控制的切換。例如,在有影響系統(tǒng)處理器板[1]150的一個(gè)故障的情形下,控制被從系統(tǒng)處理器[1]152轉(zhuǎn)移到系統(tǒng)處理器[2]172,或者在有影響系統(tǒng)處理器板[2]170的一個(gè)故障的情形下,控制被從系統(tǒng)處理器[2]172轉(zhuǎn)移到系統(tǒng)處理器[1]152。高度可用或者高度抗故障應(yīng)用需要能夠?qū)崿F(xiàn)系統(tǒng)處理器的切換而不需要重新設(shè)置系統(tǒng)的裝置或者不需要中斷系統(tǒng)的操作。但是,因?yàn)橄到y(tǒng)處理器[1]152和系統(tǒng)處理器[2]172的操作是無關(guān)的,所以這樣一個(gè)切換使系統(tǒng)變得危險(xiǎn)。例如,在進(jìn)行切換期間,在CompactPC總線上的這個(gè)裝置可能正在執(zhí)行對激活系統(tǒng)處理器的存儲(chǔ)器進(jìn)的一個(gè)直接存儲(chǔ)器訪問操作。但是,這個(gè)備份系統(tǒng)處理器可能沒有利用相同的尋址方法,所以當(dāng)這個(gè)裝置寫到開始所希望的地址時(shí)可能會(huì)破壞重要的數(shù)據(jù)。本發(fā)明的優(yōu)選實(shí)施方式通過備份系統(tǒng)處理器提供了系統(tǒng)處理器的一個(gè)無縫切換,以避免這樣的一個(gè)數(shù)據(jù)破壞。
圖10是系統(tǒng)處理器的無縫切換的一個(gè)流圖。圖10的功能被備份系統(tǒng)處理器執(zhí)行,以從激活系統(tǒng)處理器切換到備份系統(tǒng)處理器。在步驟1005中,備份系統(tǒng)處理器判斷是否有影響激活系統(tǒng)處理器的一個(gè)故障,例如在激活系統(tǒng)處理器板上的一個(gè)故障或者在一個(gè)合作橋板上的一個(gè)故障,這個(gè)故障需要從激活系統(tǒng)處理器切換到備份系統(tǒng)處理器,如上面所描述的。在步驟1010中,備份系統(tǒng)處理器將這個(gè)專用仲裁器800設(shè)置為單主控模式,以使所以它將不向任何裝置,除了備份系統(tǒng)處理器外,提供一個(gè)總線允許。在步驟1015中,備份系統(tǒng)處理器檢查在總線上的一個(gè)裝置,并且在步驟1020中判斷這個(gè)裝置是否有在執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)。例如,備份系統(tǒng)處理器訪問關(guān)于這個(gè)裝置的狀態(tài)信息,并且判斷是否使能對這個(gè)裝置的中斷,判斷這個(gè)裝置是否有能力執(zhí)行對激活系統(tǒng)處理器的一個(gè)直接存儲(chǔ)器訪問操作,和/或者判斷這個(gè)裝置是否是在一個(gè)發(fā)生故障的板子上,例如在激活系統(tǒng)處理器板或者合作板上的一個(gè)故障。
在步驟1025中,如果在步驟1020中,備份系統(tǒng)處理器判斷這個(gè)裝置有在執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn),然后備份系統(tǒng)處理器就停頓這個(gè)裝置。例如,備份系統(tǒng)處理器對這個(gè)裝置進(jìn)行編程以停頓操作,或者改變這個(gè)裝置正在進(jìn)行寫入的一個(gè)地址。只要在步驟1030中檢測到有多個(gè)裝置,備份系統(tǒng)處理器就重復(fù)步驟1015到1030。最后,在步驟1035中,所有有在執(zhí)行一個(gè)破壞性動(dòng)作危險(xiǎn)的裝置均被停頓,并且備份系統(tǒng)處理器將專用仲裁器800設(shè)置在多主控模式,這將允許它能夠向除了備份系統(tǒng)處理器外的其它裝置提供總線允許。
應(yīng)理解,這里所描述的本發(fā)明提供了在一個(gè)總線上的多個(gè)系統(tǒng)處理器之間進(jìn)行切換的優(yōu)點(diǎn)。本發(fā)明在上面已經(jīng)被參考優(yōu)選實(shí)施方式進(jìn)行描述。但是,該領(lǐng)域內(nèi)的技術(shù)人員將認(rèn)識到,可以對這些優(yōu)選實(shí)施方式進(jìn)行改變和修改,而不會(huì)偏離本發(fā)明的范圍。
權(quán)利要求
1.用于在一個(gè)CompactPCI總線上的多個(gè)系統(tǒng)處理器之間進(jìn)行切換的一個(gè)方法,這個(gè)方法是被一個(gè)備份系統(tǒng)處理器所執(zhí)行的,并且包括步驟判斷出影響在CompactPCI總線上的一個(gè)激活系統(tǒng)處理器的一個(gè)故障;將一個(gè)專用仲裁器設(shè)置在單主控模式;判斷在CompactPCI總線上的一個(gè)裝置是否處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中;如果判斷這個(gè)裝置處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中,停頓這個(gè)裝置;和將這個(gè)專用仲裁器設(shè)置在多主控模式下。
2.如權(quán)利要求1的這個(gè)方法,進(jìn)一步包括對在CompactPCI總線上的每一個(gè)裝置重復(fù)步驟判斷在CompactPCI總線上的一個(gè)裝置是否處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中,并且如果判斷這個(gè)裝置處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中,停頓這個(gè)裝置。
3.如權(quán)利要求1的這個(gè)方法,包括對在多個(gè)CompactPCI總線上的每一個(gè)裝置重復(fù)步驟判斷在CompactPCI總線上的一個(gè)裝置是否處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中,并且如果判斷這個(gè)裝置處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中,停頓這個(gè)裝置。
4.如權(quán)利要求1的這個(gè)方法,其中判斷在CompactPCI總線上的一個(gè)裝置是否處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中的步驟包括判斷是否使能了對該裝置的中斷。
5.如權(quán)利要求1的這個(gè)方法,其中判斷在CompactPCI總線上的一個(gè)裝置是否處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中的步驟包括判斷這個(gè)裝置是否具有對激活系統(tǒng)處理器進(jìn)行一個(gè)直接存儲(chǔ)器訪問能力。
6.如權(quán)利要求1的這個(gè)方法,其中判斷在CompactPCI總線上的一個(gè)裝置是否處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中的步驟包括判斷這個(gè)裝置是否在一個(gè)發(fā)生了故障的板子上。
7.如權(quán)利要求1的這個(gè)方法,其中停頓這個(gè)裝置的步驟包括將這個(gè)裝置編程為停頓操作。
8.如權(quán)利要求1的這個(gè)方法,其中停頓這個(gè)裝置的步驟包括改變這個(gè)裝置正在寫入的一個(gè)地址。
9.用于在一個(gè)總線上的多個(gè)系統(tǒng)處理器之間進(jìn)行切換的一個(gè)方法,這個(gè)方法是被一個(gè)備份系統(tǒng)處理器所執(zhí)行的,并且包括步驟判斷出影響在總線上的一個(gè)激活系統(tǒng)處理器的一個(gè)故障;將一個(gè)專用仲裁器設(shè)置在單主控模式;判斷在總線上的一個(gè)裝置是否處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中;如果判斷這個(gè)裝置處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中,停頓這個(gè)裝置;和將這個(gè)專用仲裁器設(shè)置在多主控模式下。
10.如權(quán)利要求9的這個(gè)方法,進(jìn)一步包括對在總線上的每一個(gè)裝置重復(fù)步驟判斷在總線上的一個(gè)裝置是否處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中,并且如果判斷這個(gè)裝置處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中,停頓這個(gè)裝置。
11.如權(quán)利要求9的這個(gè)方法,包括對在多個(gè)總線上的每一個(gè)裝置重復(fù)步驟判斷在總線上的一個(gè)裝置是否處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中,并且如果判斷這個(gè)裝置處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中,停頓這個(gè)裝置。
12.如權(quán)利要求9的這個(gè)方法,其中判斷在總線上的一個(gè)裝置是否處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中的步驟包括判斷是否使能了對該裝置的中斷。
13.如權(quán)利要求9的這個(gè)方法,其中判斷在總線上的一個(gè)裝置是否處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中的步驟包括判斷這個(gè)裝置是否具有對激活系統(tǒng)處理器進(jìn)行一個(gè)直接存儲(chǔ)器訪問能力。
14.如權(quán)利要求9的這個(gè)方法,其中判斷在總線上的一個(gè)裝置是否處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中的步驟包括判斷這個(gè)裝置是否在一個(gè)發(fā)生了故障的板子上。
15.如權(quán)利要求9的這個(gè)方法,其中停頓這個(gè)裝置的步驟包括將這個(gè)裝置編程為停頓操作。
16.如權(quán)利要求9的這個(gè)方法,其中停頓這個(gè)裝置的步驟包括改變這個(gè)裝置正在寫入的一個(gè)地址。
全文摘要
在用于在一個(gè)CompactPCI總線(110,120)上的多個(gè)系統(tǒng)處理器(152,172)之間進(jìn)行切換的一個(gè)方法,當(dāng)一個(gè)備份系統(tǒng)處理器(152,172)判斷出影響在CompactPCI總線(110,120)上的一個(gè)激活系統(tǒng)處理器(152,172)的一個(gè)故障時(shí),這個(gè)備份系統(tǒng)處理器(152,172)將一個(gè)專用仲裁器(820)設(shè)置在單主控模式。如果這個(gè)備份系統(tǒng)處理器(152,172)判斷一個(gè)裝置處于執(zhí)行一個(gè)破壞性動(dòng)作的危險(xiǎn)中,這個(gè)備份系統(tǒng)處理器(152,172)停頓這個(gè)裝置。然后,這個(gè)備份系統(tǒng)處理器(152,172)將這個(gè)專用仲裁器(820)設(shè)置在多主控模式下。
文檔編號G06F15/16GK1300394SQ99806000
公開日2001年6月20日 申請日期1999年5月7日 優(yōu)先權(quán)日1998年5月14日
發(fā)明者布倫特·邁克凱伊, 布魯斯·羅森克蘭茨, 馬克·拉努斯 申請人:摩托羅拉公司