專利名稱:容錯(cuò)計(jì)算機(jī)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種容錯(cuò)(FT)計(jì)算機(jī)系統(tǒng)。具體地,本發(fā)明涉及一種用于控制FT計(jì)算機(jī)系統(tǒng)中的I/O設(shè)備的技術(shù)。
背景技術(shù):
用在如交通控制、金融和股市等重要商務(wù)活動(dòng)中的服務(wù)器負(fù)責(zé)社會(huì)生活的基礎(chǔ)。因此,對(duì)于這些服務(wù)器,高可靠性和容錯(cuò)性是必需的。同樣,在公司的商業(yè)服務(wù)器、使用因特網(wǎng)的主機(jī)服務(wù)器等中,由于故障而引起的服務(wù)器崩潰可能會(huì)導(dǎo)致嚴(yán)重的商業(yè)損失。因此,在較多領(lǐng)域中,對(duì)高可靠性服務(wù)器的需求越來越大。
作為具有高可靠性的計(jì)算機(jī)系統(tǒng),“容錯(cuò)(FT)計(jì)算機(jī)系統(tǒng)”是已知的。在FT計(jì)算機(jī)系統(tǒng)中,系統(tǒng)的硬件模塊(如CPU和存儲(chǔ)器)是雙重的或多重的,并控制各個(gè)模塊,從而與相同的時(shí)鐘同步操作。當(dāng)在系統(tǒng)的特定部分(即,一個(gè)模塊)中發(fā)生故障時(shí),將故障模塊與系統(tǒng)邏輯分離,并由正常操作的模塊繼續(xù)處理。因此,改善了容錯(cuò)性。
圖1是示出了典型FT計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)的概念圖。此FT計(jì)算機(jī)系統(tǒng)100具有雙重硬件模塊和與硬件模塊相連的容錯(cuò)控制器(FT控制器)110。在圖1中,CPU 120(120a、120b)、主存儲(chǔ)器130(130a、130b)和I/O設(shè)備140(140a、140b)是雙重的。一個(gè)CPU 120a(120b)和一個(gè)主存儲(chǔ)器130a(130b)構(gòu)成一個(gè)CPU子系統(tǒng)150。簡(jiǎn)而言之,此FT計(jì)算機(jī)系統(tǒng)100是通過兩個(gè)CPU子系統(tǒng)150雙重化的。控制兩個(gè)CPU子系統(tǒng)150與相同的時(shí)鐘同步操作。而且,雙重I/O設(shè)備(組)140構(gòu)成了IO子系統(tǒng)160。FT控制器110控制CPU子系統(tǒng)150和IO子系統(tǒng)160。具體地,F(xiàn)T控制器110執(zhí)行兩個(gè)CPU子系統(tǒng)150之間的同步操作(兩系統(tǒng)同步操作)的維護(hù)、模塊中故障的檢測(cè)、故障模塊的分離控制等。
通常,將FT計(jì)算機(jī)系統(tǒng)分為以硬件執(zhí)行二重控制的部分和以軟件執(zhí)行二重控制的部分。例如,CPU 120和主存儲(chǔ)器130的CPU子系統(tǒng)150是軟件本身進(jìn)行操作的基礎(chǔ)。因此,需要以硬件對(duì)CPU子系統(tǒng)150進(jìn)行二重控制。當(dāng)在CPU子系統(tǒng)150中發(fā)生故障時(shí),F(xiàn)T控制器110(硬件)立即從系統(tǒng)中分離故障CPU或存儲(chǔ)器。因此,無需停止系統(tǒng),由其余的CPU子系統(tǒng)150b和IO子系統(tǒng)160繼續(xù)處理。另一方面,以軟件對(duì)IO子系統(tǒng)160進(jìn)行二重控制。例如,當(dāng)在I/O設(shè)備140a中發(fā)生故障時(shí),F(xiàn)T控制器110檢測(cè)故障,并執(zhí)行向控制I/O設(shè)備140a的軟件程序(此后,稱為“I/O設(shè)備驅(qū)動(dòng)器”)的錯(cuò)誤報(bào)告。此時(shí),I/O設(shè)備驅(qū)動(dòng)器停止使用故障I/O設(shè)備140a,并使用雙重的不同I/O設(shè)備140b來代替它。按照這種方式,以軟件執(zhí)行IO子系統(tǒng)160中的I/O設(shè)備140間的切換。
為了執(zhí)行上述I/O設(shè)備140的切換控制,需要I/O設(shè)備驅(qū)動(dòng)器具有識(shí)別來自FT控制器110的錯(cuò)誤報(bào)告的功能和執(zhí)行向替代I/O設(shè)備的切換處理的功能。即,用于驅(qū)動(dòng)I/O設(shè)備140的I/O設(shè)備驅(qū)動(dòng)器和用于總體控制驅(qū)動(dòng)器的操作系統(tǒng)(OS)需要適應(yīng)于FT計(jì)算機(jī)系統(tǒng)。
日本未審公開專利申請(qǐng)(JP-A-平成9-16426)公開了一種具有兩端口控制臺(tái)的FT計(jì)算機(jī)中的I/O切換技術(shù)。此傳統(tǒng)技術(shù)的目的是由單一的控制臺(tái)執(zhí)行監(jiān)控和維護(hù),而無需對(duì)電纜的任何連接切換?;诖藗鹘y(tǒng)技術(shù)的FT計(jì)算機(jī)具有兩個(gè)控制臺(tái)輸出系統(tǒng),在發(fā)生故障時(shí),對(duì)其輸入/輸出總線進(jìn)行切換。響應(yīng)來自O(shè)S的命令,執(zhí)行其輸入/輸出總線之間的切換。因此,在此傳統(tǒng)技術(shù)中認(rèn)為需要使用專用的OS。
又及,近年來,使用英特爾兼容CPU(“英特爾”是注冊(cè)商標(biāo))的所謂“開放系統(tǒng)”是服務(wù)器領(lǐng)域的趨勢(shì)。作為主要趨勢(shì),將由獨(dú)立硬件廠商生產(chǎn)的I/O設(shè)備安裝在開放的PC服務(wù)器系統(tǒng)中,并使用由相同廠商生產(chǎn)的I/O設(shè)備驅(qū)動(dòng)器來控制I/O設(shè)備。但是,大多數(shù)這種I/O設(shè)備驅(qū)動(dòng)器并非考慮FT計(jì)算機(jī)系統(tǒng)而生產(chǎn)。在這種I/O設(shè)備驅(qū)動(dòng)器中,根本沒有安裝I/O設(shè)備之間的切換功能。而且,在多數(shù)情況下,由OS直接訪問典型安裝在開放計(jì)算機(jī)系統(tǒng)中的I/O設(shè)備(如視頻適配器(VGA視頻圖形適配器))。但是,實(shí)際上不能將針對(duì)容錯(cuò)計(jì)算機(jī)系統(tǒng)的修改應(yīng)用于主要用在開放計(jì)算機(jī)系統(tǒng)中的OS。
需要與開放硬件和軟件系統(tǒng)相對(duì)應(yīng)的高可靠性服務(wù)器。需要能夠依據(jù)開放OS或I/O設(shè)備驅(qū)動(dòng)器獲得容錯(cuò)計(jì)算機(jī)系統(tǒng)的技術(shù)。具體地,為了改善開放服務(wù)器系統(tǒng)中的容錯(cuò)性和可靠性,需要能夠執(zhí)行針對(duì)I/O設(shè)備的二重控制的技術(shù)。
結(jié)合以上描述,在日本未審公開專利申請(qǐng)(JP-A-平成5-94277)中公開了一種便攜式計(jì)算機(jī)。此傳統(tǒng)示例的便攜式計(jì)算機(jī)具有由單色板和彩色板構(gòu)成的顯示單元、控制單色板的顯示的單色板顯示控制電路和控制彩色板的顯示的彩色板顯示控制電路。設(shè)置部分將選擇數(shù)據(jù)設(shè)置于切換部分,所述切換部分根據(jù)選擇數(shù)據(jù)切換單色板顯示控制電路和彩色板顯示控制電路。
同樣,在日本未審公開專利申請(qǐng)(JP-A-平成11-149457)中公開了一種機(jī)群連接多處理器系統(tǒng)的降級(jí)系統(tǒng)。此傳統(tǒng)示例的多處理器系統(tǒng)具有多個(gè)CPU、用于控制多個(gè)CPU的多個(gè)CPU控制部分、以及由多個(gè)CPU共享的存儲(chǔ)器和I/O控制部分。多個(gè)CPU和多個(gè)CPU控制部分與機(jī)群總線相連,并且多個(gè)CPU控制部分通過系統(tǒng)總線相連。CPU控制部分至少包含用于控制將CPU從機(jī)群總線斷開的控制寄存器(作為凍結(jié)寄存器)和用于指示CPU和機(jī)群總線的連接狀態(tài)的控制寄存器(作為“CPU狀態(tài)寄存器”)。當(dāng)機(jī)群總線上的每個(gè)CPU開始操作時(shí),將標(biāo)記寫入與該CPU對(duì)應(yīng)的CPU狀態(tài)寄存器,以指示機(jī)群連接。然后,開始對(duì)CPU的初始診斷,當(dāng)在一個(gè)CPU中檢測(cè)到故障時(shí),將該事實(shí)寫入凍結(jié)寄存器。將故障CPU與機(jī)群總線邏輯斷開。CPU控制部分完全不響應(yīng)來自故障CPU的請(qǐng)求,并且進(jìn)行控制,將故障CPU與系統(tǒng)分離。
同樣,在日本未審公開專利申請(qǐng)(JP-P2002-77186A)中公開了一種多重設(shè)備的切換單元。在此傳統(tǒng)示例的多重設(shè)備中,將切換單元設(shè)置在連接發(fā)起設(shè)備和多重的、多個(gè)連接目的地設(shè)備之間,以選擇和連接連接目的地設(shè)備之一和連接發(fā)起設(shè)備。在切換單元中,存儲(chǔ)部分存儲(chǔ)連接目的地設(shè)備的連接優(yōu)先級(jí)。第一信號(hào)輸入/輸出部分與連接發(fā)起設(shè)備相連。第二信號(hào)輸入/輸出部分通過通信線路與多個(gè)連接目的地設(shè)備相連,并從和向連接目的地設(shè)備中特定的一個(gè)輸入和輸出數(shù)據(jù)。路由部分直接和間接地連接第一和第二信號(hào)輸入/輸出部分。選擇部分選擇連接目的地設(shè)備中具有最高連接優(yōu)先級(jí)的一個(gè),作為特定的連接目的地設(shè)備。而且,當(dāng)根據(jù)第二輸入部分的監(jiān)控信號(hào),確定在特定的連接目的地設(shè)備中產(chǎn)生連接故障時(shí),選擇部分選擇連接目的地設(shè)備中具有比特定的連接目的地設(shè)備的連接優(yōu)先級(jí)低的連接優(yōu)先級(jí)的一個(gè),以及當(dāng)根據(jù)第二輸入部分的監(jiān)控信號(hào),確定消除了具有較高連接優(yōu)先級(jí)的連接目的地設(shè)備中的連接故障時(shí),選擇連接目的地設(shè)備中具有比特定的連接目的地設(shè)備的連接優(yōu)先級(jí)高的連接優(yōu)先級(jí)的一個(gè)。
同樣,在日本未審公開專利申請(qǐng)(JP-P2004-280732A)中公開了一種容錯(cuò)系統(tǒng)。在此傳統(tǒng)示例的容錯(cuò)系統(tǒng)中,第一和第二北橋是雙重(duplex)的,以及第一和第二輸入/輸出總線橋是雙重的,并將異步接口用作第一和第二北橋與第一和第二輸入/輸出總線橋之間的接口。針對(duì)第一和第二北橋中的每一個(gè),設(shè)置用于同步第一和第二北橋之間、針對(duì)異步接口的數(shù)據(jù)傳輸和接收的部分。
發(fā)明內(nèi)容
因此,本發(fā)明的一個(gè)目的是提供一種容錯(cuò)(FT)計(jì)算機(jī)系統(tǒng),其中使用開放系統(tǒng)硬件和軟件作為基礎(chǔ)。
本發(fā)明的另一目的是提供一種FT計(jì)算機(jī)系統(tǒng),能夠執(zhí)行對(duì)I/O設(shè)備的二重(dual)控制,而無需修改現(xiàn)有OS或I/O設(shè)備驅(qū)動(dòng)器。
本發(fā)明的另一目的是改善開放系統(tǒng)服務(wù)器的容錯(cuò)性和可靠性。
在本發(fā)明的方案中,一種容錯(cuò)(FT)計(jì)算機(jī)系統(tǒng),包括第一系統(tǒng),作為有效系統(tǒng),包括第一I/O設(shè)備;以及第二系統(tǒng),作為待機(jī)系統(tǒng),包括與所述第一I/O設(shè)備相同的第二I/O設(shè)備,所述第二系統(tǒng)通過鏈路部分與所述第一系統(tǒng)相連,并配置為與所述第一系統(tǒng)同步操作。所述第一和第二系統(tǒng)中的每一個(gè)均包括CPU和與所述CPU相連的路由控制器。所述第一系統(tǒng)中的所述路由控制器控制所述第一系統(tǒng)中的所述CPU與所述第一I/O設(shè)備和所述第二I/O設(shè)備之間的路由。當(dāng)在所述第一I/O設(shè)備之一中發(fā)生故障時(shí),所述第一系統(tǒng)中的所述路由控制器將從所述第一系統(tǒng)中的所述CPU接收到的、以所述第一I/O設(shè)備為目的地的請(qǐng)求數(shù)據(jù)路由到與所述I/O設(shè)備相對(duì)應(yīng)的所述第二I/O設(shè)備之一。
這里,所述第一系統(tǒng)中的所述路由控制器可以包括與所述CPU相連的地址轉(zhuǎn)換器;與所述CPU相連的響應(yīng)數(shù)據(jù)轉(zhuǎn)換器;和與所述地址轉(zhuǎn)換器和所述響應(yīng)數(shù)據(jù)轉(zhuǎn)換器相連的路由器。當(dāng)在所述第一I/O設(shè)備中發(fā)生故障時(shí),如果接收到來自所述CPU的所述請(qǐng)求數(shù)據(jù),所述地址轉(zhuǎn)換器可以通過以表示所述第二I/O設(shè)備的設(shè)備數(shù)據(jù)代替表示所述第一I/O設(shè)備的設(shè)備數(shù)據(jù),由所述請(qǐng)求數(shù)據(jù)產(chǎn)生轉(zhuǎn)換后的請(qǐng)求數(shù)據(jù),并可以將所述轉(zhuǎn)換后的請(qǐng)求數(shù)據(jù)轉(zhuǎn)發(fā)給所述路由器。所述路由器可以根據(jù)包含在所述轉(zhuǎn)換后的請(qǐng)求數(shù)據(jù)中的所述設(shè)備數(shù)據(jù),將所述轉(zhuǎn)換后的請(qǐng)求數(shù)據(jù)路由到所述第二I/O設(shè)備。
在這種情況下,所述設(shè)備數(shù)據(jù)可以是PCI層次結(jié)構(gòu)中的PCI總線號(hào)、設(shè)備號(hào)和功能號(hào)。在這種情況下,所述第一系統(tǒng)中的所述路由控制器還可以包括寄存器,由所述地址轉(zhuǎn)換器查閱,并配置用于存儲(chǔ)所述PCI總線號(hào)、所述設(shè)備號(hào)和所述功能號(hào)。
而且,所述設(shè)備數(shù)據(jù)可以是系統(tǒng)存儲(chǔ)器映射空間中的地址。在這種情況下,所述第一系統(tǒng)中的所述路由控制器還可以包括寄存器,由所述地址轉(zhuǎn)換器查閱,并配置用于存儲(chǔ)所述地址。
而且,當(dāng)所述第二I/O設(shè)備以正常狀態(tài)進(jìn)行操作,并且所述響應(yīng)數(shù)據(jù)轉(zhuǎn)換器通過所述路由器接收到來自所述第二I/O設(shè)備的響應(yīng)數(shù)據(jù)時(shí),所述響應(yīng)數(shù)據(jù)轉(zhuǎn)換器可以通過重寫部分所述響應(yīng)數(shù)據(jù),由所述響應(yīng)數(shù)據(jù)產(chǎn)生轉(zhuǎn)換后的響應(yīng)數(shù)據(jù),并可以向所述第一系統(tǒng)中的所述CPU輸出所述轉(zhuǎn)換后的響應(yīng)數(shù)據(jù)。在這種情況下,所述響應(yīng)數(shù)據(jù)轉(zhuǎn)換器可以通過以另一類代碼代替包含在所述響應(yīng)數(shù)據(jù)中的、所述第二I/O設(shè)備的類代碼,產(chǎn)生所述轉(zhuǎn)換后的響應(yīng)數(shù)據(jù)。而且,所述第一系統(tǒng)中的所述路由控制器還可以包括寄存器,由所述響應(yīng)數(shù)據(jù)轉(zhuǎn)換器查閱,并配置用于存儲(chǔ)所述另一類代碼。
而且,所述第一系統(tǒng)包括第一PCI橋,作為與所述第一系統(tǒng)的所述路由控制器和所述第一I/O設(shè)備相連的所述第一I/O設(shè)備之一,以及所述第二系統(tǒng)包括第二PCI橋,作為與所述第二系統(tǒng)的所述路由控制器和所述第二I/O設(shè)備相連的所述第二I/O設(shè)備之一。優(yōu)選地,當(dāng)所述第一I/O設(shè)備和所述第二I/O設(shè)備以正常狀態(tài)進(jìn)行操作時(shí),將所述第一PCI橋的VGA使能位和所述第二PCI橋的VGA使能位均設(shè)置為使能。
在這種情況下,當(dāng)產(chǎn)生對(duì)所述第二PCI橋的所述VGA使能位的訪問時(shí),所述響應(yīng)數(shù)據(jù)轉(zhuǎn)換器可以通過所述路由器接收來自所述第二PCI橋的所述VGA使能位,并可以將接收到的VGA使能位轉(zhuǎn)換為禁用。
而且,所述第一I/O設(shè)備和所述第二I/O設(shè)備可以是開放系統(tǒng)設(shè)備。
而且,所述第一I/O設(shè)備和所述第二I/O設(shè)備可以是VGA設(shè)備。
圖1是示意性地示出了傳統(tǒng)容錯(cuò)(FT)計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)的方框圖;圖2是示出了根據(jù)本發(fā)明的容錯(cuò)(FT)計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)的方框圖;圖3是示出了FT計(jì)算機(jī)系統(tǒng)中的PCI層次結(jié)構(gòu)的概念圖;圖4是示出了本發(fā)明的FT計(jì)算機(jī)系統(tǒng)中的系統(tǒng)存儲(chǔ)器映射的概念圖;圖5A是示出了本發(fā)明的FT計(jì)算機(jī)系統(tǒng)中的PCI配置寄存器的內(nèi)容的概念圖;圖5B是示出了本發(fā)明的FT計(jì)算機(jī)系統(tǒng)中的類代碼寄存器的內(nèi)容的概念圖;圖6是示出了本發(fā)明的FT計(jì)算機(jī)系統(tǒng)中的路由控制器的結(jié)構(gòu)的方框圖;圖7是示出了本發(fā)明的FT計(jì)算機(jī)系統(tǒng)中的路由控制寄存器組的結(jié)構(gòu)的概念圖;圖8是示出了本發(fā)明的FT計(jì)算機(jī)系統(tǒng)的PCI層次結(jié)構(gòu)的示例的概念圖;圖9A是示出了本發(fā)明的FT計(jì)算機(jī)系統(tǒng)中的系統(tǒng)存儲(chǔ)器映射的示例的概念圖;圖9B是示出了本發(fā)明的FT計(jì)算機(jī)系統(tǒng)中的PCI配置映射的示例的概念圖;圖10A到10C是示出了根據(jù)本發(fā)明的FT計(jì)算機(jī)系統(tǒng)的操作的流程圖;圖11是示出了根據(jù)本發(fā)明的FT計(jì)算機(jī)系統(tǒng)的操作示例的示意圖;圖12是示出了根據(jù)本發(fā)明的FT計(jì)算機(jī)系統(tǒng)的操作示例的示意圖;以及圖13是示出了根據(jù)本發(fā)明的FT計(jì)算機(jī)系統(tǒng)的操作示例的示意圖。
具體實(shí)施例方式
下面,將參照附圖,詳細(xì)描述根據(jù)本發(fā)明的容錯(cuò)(FT)計(jì)算機(jī)系統(tǒng)。
圖2是示出了根據(jù)本發(fā)明的FT計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)的方框圖。FT計(jì)算機(jī)系統(tǒng)1具有雙重的主系統(tǒng)1a和次系統(tǒng)1b。
主系統(tǒng)1a具有CPU 2a、主存儲(chǔ)器3a、路由控制器4a、FT控制部分5a(第一FT控制部分)、PCI橋6a、PCI總線7a、VGA設(shè)備8a和I/O設(shè)備9a。次系統(tǒng)1b具有與主系統(tǒng)1a相同的結(jié)構(gòu),具有CPU 2b、主存儲(chǔ)器3b、路由控制器4b、FT控制部分5b(第二FT控制部分)、PCI橋6b、PCI總線7b、VGB設(shè)備8b和I/O設(shè)備9b。在主和次系統(tǒng)中,CPU 2(2a、2b)、主存儲(chǔ)器(3a、3b)、路由控制器4(4a、4b)和FT控制部分5(5a、5b)的一部分的集合構(gòu)成了CPU子系統(tǒng)11(11a、11b)。兩個(gè)系統(tǒng)中的CPU子系統(tǒng)11彼此精確同步地進(jìn)行操作,包括時(shí)鐘。而且,F(xiàn)T控制部分5(5a、5b)、PCI橋6(6a、6b)和雙重I/O設(shè)備組(8a、9a和8b、9b)構(gòu)成了I/O子系統(tǒng)12(12a、12b)。I/O子系統(tǒng)12和一個(gè)CPU子系統(tǒng)11作為一個(gè)計(jì)算機(jī)系統(tǒng)進(jìn)行操作。
路由控制器4與CPU 2、主存儲(chǔ)器3和FT控制部分5相連。路由控制器4也被稱作北橋,并起到將來自CPU 2的請(qǐng)求路由到存儲(chǔ)器或I/O子系統(tǒng)的作用。這里,路由控制器4通過兩個(gè)路徑與FT控制部分5相連。這是因?yàn)镮/O設(shè)備組(8a、9a和8b、9b)是雙重的。簡(jiǎn)而言之,路由控制器4確定應(yīng)該在主系統(tǒng)側(cè)的I/O設(shè)備(8a、9a)上還是在次系統(tǒng)側(cè)的I/O設(shè)備(8b、9b)上執(zhí)行特定的訪問。路由控制器4根據(jù)確定結(jié)果選擇兩個(gè)路徑之一,并執(zhí)行訪問請(qǐng)求的路由。
FT控制部分5比較并檢查兩個(gè)CPU子系統(tǒng)11的操作,并保持主/次CPU子系統(tǒng)11之間的同步。而且,F(xiàn)T控制部分5執(zhí)行基于錯(cuò)誤檢查的模塊故障檢測(cè)、故障模塊的分離控制等。
PCI橋6通過PCI總線7連接各個(gè)I/O設(shè)備8、9和FT控制部分5。根據(jù)本發(fā)明,實(shí)現(xiàn)了I/O設(shè)備的二重控制。作為二重控制的目標(biāo)的I/O設(shè)備,以VGA(視頻圖形適配器)設(shè)備8作為示例。VGA設(shè)備是一種舊版本(legacy)I/O設(shè)備,并在多數(shù)情況下,由在CPU 2上運(yùn)行的OS直接訪問。應(yīng)當(dāng)注意,用在本實(shí)施例中的PCI橋6和I/O設(shè)備8和9已經(jīng)被用在典型的開放系統(tǒng)服務(wù)器中。具有針對(duì)容錯(cuò)性的特殊功能的單元是路由控制器4和FT控制部分5。
同樣,如圖2所示,第一FT控制部分5a和第二FT控制部分5b通過FT鏈路10相連。每個(gè)FT鏈路10用于從一個(gè)CPU子系統(tǒng)11訪問另一個(gè)CPU子系統(tǒng)11的I/O子系統(tǒng)12。簡(jiǎn)而言之,F(xiàn)T鏈路10之一用于從主系統(tǒng)1a的CPU子系統(tǒng)11a訪問次系統(tǒng)1b的I/O設(shè)備8b和9b,而FT鏈路10中的另一個(gè)用于從次系統(tǒng)1b的CPU子系統(tǒng)11b訪問主系統(tǒng)1a的I/O設(shè)備8a和9a。因此,第一FT控制部分5a可以處理從兩個(gè)系統(tǒng)1中的CPU子系統(tǒng)11對(duì)其管理下的PCI橋6a和I/O設(shè)備8a和9a的訪問,以及第二FT控制部分5b可以處理從兩個(gè)系統(tǒng)1中的CPU子系統(tǒng)11對(duì)其管理下的PCI橋6b和I/O設(shè)備8b和9b的訪問。將兩個(gè)系統(tǒng)的同步檢查限制于由FT控制部分5處理的范圍。因此,在此FT計(jì)算機(jī)系統(tǒng)中,分散地執(zhí)行由FT控制部分5執(zhí)行的同步檢查。
同樣,如圖2所示,兩個(gè)VGA設(shè)備8a和8b通過開關(guān)13與顯示器14相連。根據(jù)本實(shí)施例的FT計(jì)算機(jī)系統(tǒng)1最初具有兩個(gè)VGA輸出,因?yàn)閂GA設(shè)備8a和8b是雙重的。但是,由于將顯示器14的數(shù)量限制為一個(gè),此開關(guān)13切換VGA輸出。通常,顯示器14與主系統(tǒng)側(cè)的VGA設(shè)備8的輸出相連。在發(fā)生故障時(shí),根據(jù)FT控制部分5的控制,正確地切換顯示器14和VGA設(shè)備輸出之間的連接。只有一個(gè)VGA設(shè)備8連接在FT計(jì)算機(jī)系統(tǒng)中,作為標(biāo)準(zhǔn)VGA設(shè)備。
圖3是示出了根據(jù)本實(shí)施例的FT計(jì)算機(jī)系統(tǒng)1中的PCI(外設(shè)部件互連)層次結(jié)構(gòu)的概念圖。根據(jù)“PCI總線規(guī)范”,將PCI總線號(hào)、設(shè)備號(hào)和功能號(hào)賦予所有可訪問設(shè)備。因此,獲得了CPU 2用作頂點(diǎn)的層次結(jié)構(gòu)。例如,將“設(shè)備#0”分配給位于路由控制器4中的存儲(chǔ)器控制器設(shè)備21。將“設(shè)備#1”分配給位于FT控制部分5中的FT控制設(shè)備22。將“設(shè)備#2”分配給主系統(tǒng)1a的PCI橋6a(第一PCI橋;PCI橋#1)。將“設(shè)備#3”分配給次系統(tǒng)1b的PCI橋6b(第二PCI橋;PCI橋#2)。存儲(chǔ)器控制器設(shè)備21、FT控制設(shè)備22、第一PCI橋6a和第二PCI橋6b位于CPU 2的下層,并通過分配有“總線#0”的總線與CPU 2相連。
同樣,VGA設(shè)備(視頻設(shè)備#1)8a和I/O設(shè)備(I/O設(shè)備#1)9a位于第一PCI橋6a的管理之下,并且VGA設(shè)備8a和I/O設(shè)備9a通過分配有“總線#1”的總線與第一PCI橋6a相連。將“設(shè)備#0”分配給VGA設(shè)備8a,以及將“設(shè)備#1”分配給I/O設(shè)備9a。同樣,當(dāng)VGA設(shè)備(視頻設(shè)備#2)8b和I/O設(shè)備(I/O設(shè)備#2)9b位于第二PCI橋6b的管理之下時(shí),VGA設(shè)備8b和I/O設(shè)備9b通過分配有“總線#2”的總線與第二PCI橋6b相連。將“設(shè)備#0”分配給VGA設(shè)備8b,以及將“設(shè)備#1”分配給I/O設(shè)備9b。
為了允許包括在運(yùn)行于CPU 2上的OS中的軟件程序訪問VGA設(shè)備8和I/O設(shè)備9,有三種方法(1)PCI配置訪問;(2)IO映射訪問;以及(3)存儲(chǔ)器映射PCI訪問。其中,當(dāng)執(zhí)行“PCI配置訪問”時(shí),通過查閱圖3所示的層次結(jié)構(gòu)來轉(zhuǎn)發(fā)訪問請(qǐng)求。簡(jiǎn)而言之,通過路由控制器4、FT控制部分5和PCI橋6,將訪問請(qǐng)求轉(zhuǎn)發(fā)給具有對(duì)應(yīng)PCI總線號(hào)的總線。最后,訪問請(qǐng)求到達(dá)作為目標(biāo)的VGA設(shè)備8或I/O設(shè)備9。
同樣,圖4是示出了本實(shí)施例的系統(tǒng)存儲(chǔ)器映射的概念圖。為VGA設(shè)備8和I/O設(shè)備9中的每一個(gè)分配地址空間。在通常用在開放系統(tǒng)服務(wù)器中的英特爾兼容系統(tǒng)的情況下,如圖4所示,將VGA設(shè)備8和I/O設(shè)備9映射到4吉字節(jié)或更少的地址的系統(tǒng)存儲(chǔ)器空間中。例如,路由控制器4將對(duì)從“地址A-low”到“地址A-hi”的地址空間的訪問請(qǐng)求轉(zhuǎn)發(fā)給第一PCI橋6a。然后,第一PCI橋6a將其轉(zhuǎn)發(fā)給PCI總線“總線#1”。此時(shí),與“PCI總線#1”相連的每個(gè)設(shè)備查閱在總線上發(fā)布的訪問請(qǐng)求的地址,如果其與自身地址空間匹配,則接收此訪問請(qǐng)求。
而且,在英特爾兼容系統(tǒng)中,將對(duì)地址空間“A0000h到BFFFFh”的訪問處理為標(biāo)準(zhǔn)VGA空間,如圖4所示。將對(duì)此標(biāo)準(zhǔn)VGA空間的訪問請(qǐng)求轉(zhuǎn)發(fā)給FT計(jì)算機(jī)系統(tǒng)中惟一存在的標(biāo)準(zhǔn)VGA設(shè)備。在這種情況下,作為假設(shè)條件,在FT計(jì)算機(jī)系統(tǒng)啟動(dòng)時(shí),由諸如BIOS等系統(tǒng)軟件程序確定標(biāo)準(zhǔn)VGA設(shè)備。然后,在管理或控制標(biāo)準(zhǔn)VGA設(shè)備的PCI橋6的PCI配置寄存器中設(shè)置“VGA使能位”。當(dāng)檢測(cè)到對(duì)地址空間“A0000h到BFFFFh”的訪問請(qǐng)求時(shí),路由控制器4將訪問請(qǐng)求轉(zhuǎn)發(fā)給其中已經(jīng)設(shè)置了VGA使能位的PCI橋6。因此,實(shí)現(xiàn)了對(duì)標(biāo)準(zhǔn)VGA設(shè)備的訪問。當(dāng)執(zhí)行前述“存儲(chǔ)器映射PCI訪問”時(shí),通過查閱如圖4所示的系統(tǒng)存儲(chǔ)器映射來轉(zhuǎn)發(fā)訪問請(qǐng)求。
圖5A概念性地示出了典型I/O設(shè)備的PCI配置寄存器的地址空間的一部分。同樣,圖5B概念性地示出了類代碼寄存器。通常,驅(qū)動(dòng)器和OS訪問系統(tǒng)中所有設(shè)備的空間,并針對(duì)設(shè)備的每個(gè)制造商和每個(gè)種類,執(zhí)行地址空間的映射。例如,將表示I/O設(shè)備的類型的標(biāo)識(shí)符寫入類代碼字段。在VGA設(shè)備8的情況下,類代碼字段的地址是“030000h”,以及在不屬于任何類別的I/O設(shè)備的情況下,類代碼字段的地址是“FF0000h”。這些地址由“PCI總線規(guī)范”所定義。
在“PCI總線規(guī)范”中定義了與上述圖3、4、5A和5B有關(guān)的項(xiàng)目。
根據(jù)本發(fā)明的路由控制器4以硬件實(shí)現(xiàn)對(duì)VGA設(shè)備8的二重控制。圖6是示出了根據(jù)本發(fā)明的路由控制器4的結(jié)構(gòu)的方框圖。路由控制器4對(duì)作為目標(biāo)的VGA設(shè)備8或I/O設(shè)備9的地址進(jìn)行解碼,并執(zhí)行適當(dāng)?shù)穆酚?,從而將來自CPU 2的訪問請(qǐng)求轉(zhuǎn)發(fā)給所述目標(biāo)。如圖6所示,根據(jù)本發(fā)明的路由控制器4包括控制器40、路由控制寄存器41和錯(cuò)誤檢測(cè)器42。而且,控制器40包括地址轉(zhuǎn)換器43、響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44和路由器45。
將用于設(shè)置路由控制器4的多種數(shù)據(jù)(稍后將進(jìn)行描述)存儲(chǔ)在路由控制寄存器41中。
錯(cuò)誤檢測(cè)器42保持在PCI橋6、VGA設(shè)備8和I/O設(shè)備9中檢測(cè)到的錯(cuò)誤數(shù)據(jù),并將錯(cuò)誤檢測(cè)報(bào)告給控制器40。
地址轉(zhuǎn)換器43與CPU 2和路由器45相連。地址轉(zhuǎn)換器43接收來自CPU 2的請(qǐng)求數(shù)據(jù)。此時(shí),地址轉(zhuǎn)換器43根據(jù)路由控制寄存器41的設(shè)置,轉(zhuǎn)換與請(qǐng)求相對(duì)應(yīng)的地址,即請(qǐng)求地址,并產(chǎn)生“轉(zhuǎn)換地址數(shù)據(jù)”。然后,地址轉(zhuǎn)換器43向路由器45輸出包括所產(chǎn)生的轉(zhuǎn)換地址數(shù)據(jù)的“轉(zhuǎn)換請(qǐng)求數(shù)據(jù)”。
路由器45與FT控制部分5a和5b相連,并根據(jù)轉(zhuǎn)換地址數(shù)據(jù)進(jìn)行路由。
響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44與CPU 2和路由器45相連。響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44通過路由器45從I/O設(shè)備9或VGA設(shè)備接收響應(yīng)數(shù)據(jù)。此時(shí),響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44根據(jù)路由控制寄存器41的設(shè)置,重寫所接收到的響應(yīng)數(shù)據(jù)的一部分,并產(chǎn)生“轉(zhuǎn)換響應(yīng)數(shù)據(jù)”。然后,響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44向CPU 2輸出轉(zhuǎn)換響應(yīng)數(shù)據(jù),作為響應(yīng)數(shù)據(jù)。
圖7是示出了根據(jù)本發(fā)明的路由控制寄存器41的結(jié)構(gòu)的概念圖。路由控制寄存器41具有多個(gè)寄存器51到58,下面將對(duì)其進(jìn)行描述。
配置地址路由控制使能寄存器51是用于激活/反激活用于執(zhí)行對(duì)如VGA設(shè)備8等的設(shè)備的二重控制的功能的寄存器。在將寄存器51設(shè)置為“禁用”時(shí),停止硬件的二重控制。在這種情況下,路由控制器4執(zhí)行類似于傳統(tǒng)的典型北橋的操作。在將寄存器51設(shè)置為“使能”時(shí),啟動(dòng)硬件的二重控制。
缺省目標(biāo)設(shè)備寄存器52是用于指定在兩個(gè)VGA設(shè)備8a和8b中實(shí)際使用的“標(biāo)準(zhǔn)VGA設(shè)備”的寄存器。當(dāng)系統(tǒng)啟動(dòng)時(shí),由BIOS在此寄存器52中設(shè)置“主”和“次”中的任意一個(gè)。當(dāng)設(shè)置“主”時(shí),將VGA設(shè)備8a用作標(biāo)準(zhǔn)VGA設(shè)備。當(dāng)設(shè)置“次”時(shí),將VGA設(shè)備8b用作標(biāo)準(zhǔn)VGA設(shè)備。當(dāng)錯(cuò)誤檢測(cè)器42報(bào)告PCI橋6或VGA設(shè)備8的錯(cuò)誤時(shí),路由控制器4查閱此寄存器52,并切換對(duì)VGA設(shè)備8的路由。
主設(shè)備PCI配置號(hào)次設(shè)備PCI配置號(hào)將進(jìn)行二重控制的VGA設(shè)備8a和8b的PCI總線號(hào)、設(shè)備號(hào)和功能號(hào)設(shè)置在寄存器53a和53b中的每一個(gè)中。當(dāng)作為來自CPU 2的訪問請(qǐng)求,接收到“PCI配置訪問”時(shí),路由控制器4將其與存儲(chǔ)在寄存器53a和53b中的數(shù)值進(jìn)行比較。因此,路由控制器4可以識(shí)別對(duì)VGA設(shè)備8的訪問。
主設(shè)備類代碼代替使能次設(shè)備類代碼代替使能寄存器53a和54b中的每一個(gè)是用于激活/反激活用于在訪問類代碼寄存器時(shí)、代替類代碼的功能的寄存器。在將寄存器54設(shè)置為“使能”時(shí),路由控制器4(響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44)使用設(shè)置在下述“代替類代碼”寄存器55中的數(shù)值,并產(chǎn)生“轉(zhuǎn)換響應(yīng)數(shù)據(jù)”。簡(jiǎn)而言之,響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44通過使用設(shè)置在“代替類代碼”寄存器55中的類代碼,轉(zhuǎn)換訪問針對(duì)VGA設(shè)備8a或8b的類代碼寄存器的響應(yīng)數(shù)據(jù)。在將寄存器54設(shè)置為“禁用”時(shí),不執(zhí)行前述替換。
通常,當(dāng)系統(tǒng)中存在兩個(gè)VGA設(shè)備8時(shí),OS將其看作不同的VGA設(shè)備8,并進(jìn)行操作以對(duì)其進(jìn)行獨(dú)立控制。但是,根據(jù)本發(fā)明的系統(tǒng)是容錯(cuò)計(jì)算機(jī)系統(tǒng)。當(dāng)使用一個(gè)VGA設(shè)備8a時(shí),需要使另一VGA設(shè)備8b從OS中隱藏起來。當(dāng)在一個(gè)VGA設(shè)備8a中發(fā)生故障時(shí),需要將另一VGA設(shè)備8b用作替代設(shè)備。這里,當(dāng)隱藏VGA設(shè)備8本身時(shí),設(shè)備本身從OS中不可見。因此,未在系統(tǒng)存儲(chǔ)器空間中登記隱藏VGA設(shè)備8的地址。結(jié)果,不執(zhí)行針對(duì)PCI橋6的地址空間的設(shè)置,從物理上禁用了對(duì)替代VGA設(shè)備的訪問。因此,根據(jù)本發(fā)明,采用了只以不同的數(shù)值代替類代碼的方法。因此,能夠以虛假的方式隱藏未使用的VGA設(shè)備8。
代替類代碼將用在上述代替中的數(shù)值設(shè)置在此寄存器55中。當(dāng)產(chǎn)生針對(duì)作為并未被設(shè)置為“缺省目標(biāo)設(shè)備”的設(shè)備的VGA設(shè)備8的類代碼寄存器的訪問請(qǐng)求時(shí),路由控制器4的響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44以設(shè)置在寄存器55中的數(shù)值代替響應(yīng)數(shù)據(jù)。將VGA設(shè)備8的類代碼定義為“030000h”。但是,根據(jù)本發(fā)明,例如,將表示“其他設(shè)備”的類代碼“FF0000h”設(shè)置在寄存器55中。結(jié)果,OS識(shí)別出并非設(shè)置在“缺省目標(biāo)設(shè)備”中的VGA設(shè)備8,作為典型的I/O設(shè)備。
主VGA使能位隱藏使能次VGA使能位隱藏使能寄存器56a和56b是用于隱藏作為開放系統(tǒng)設(shè)備的PCI橋6的“VGA使能位”的寄存器。如Windows(注冊(cè)商標(biāo))等OS并不保證將多個(gè)PCI橋6的“VGA使能位”設(shè)置為“使能”時(shí)的操作。因此,在傳統(tǒng)的情況下,只針對(duì)PCI橋6a和6b之一,設(shè)置“VGA使能位”。當(dāng)“VGA使能位”未被設(shè)置為“使能”時(shí),PCI橋6不向下層PCI總線轉(zhuǎn)發(fā)對(duì)標(biāo)準(zhǔn)VGA地址空間(A0000h到BFFFFh)的訪問請(qǐng)求。但是,根據(jù)本發(fā)明的系統(tǒng)是FT計(jì)算機(jī)系統(tǒng)。當(dāng)在被設(shè)置為“缺省目標(biāo)設(shè)備”的VGA設(shè)備8中發(fā)生故障時(shí),必須使用替代VGA設(shè)備。因此,需要替代VGA設(shè)備側(cè)的PCI橋6不關(guān)閉對(duì)標(biāo)準(zhǔn)VGA空間的訪問請(qǐng)求。即,必須將兩個(gè)系統(tǒng)的PCI橋6a和6b的“VGA使能位”設(shè)置為“使能”。為了解決將諸如視窗等OS應(yīng)用于此系統(tǒng)時(shí)的矛盾,寄存器56a和56b提供隱藏“VGA使能位”的功能。如果檢測(cè)到對(duì)寄存器56被設(shè)置為“使能”的PCI橋6的“VGA使能位”的訪問,則路由控制器4的響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44代替響應(yīng)數(shù)據(jù),并因而隱藏“VGA使能位”。
主基址次基址主地址大小次地址大小寄存器57a、57b、58a和58b是用于設(shè)置分配給各個(gè)VGA設(shè)備8的基址及其大小的寄存器。VGA設(shè)備8具有存儲(chǔ)器空間。在英特爾兼容系統(tǒng)的情況下,將其映射到其大小小于4吉字節(jié)的系統(tǒng)存儲(chǔ)器空間的一部分上。將映射主/次系統(tǒng)中的VGA設(shè)備8a和8b的地址設(shè)置在寄存器57a和57b中。地址轉(zhuǎn)換器43查閱寄存器57a和57b,以便在設(shè)置在“缺省目標(biāo)設(shè)備”中的VGA設(shè)備8發(fā)生故障時(shí),將來自CPU 2的訪問請(qǐng)求轉(zhuǎn)換為對(duì)替代VGA設(shè)備的訪問請(qǐng)求。簡(jiǎn)而言之,地址轉(zhuǎn)換器43對(duì)地址進(jìn)行轉(zhuǎn)換,以便即使在缺省VGA設(shè)備8中發(fā)生故障時(shí),使OS看來好像繼續(xù)使用相同的VGA設(shè)備8。因此,能夠在對(duì)OS隱藏缺省VGA設(shè)備8的故障的同時(shí),執(zhí)行向?qū)嶋H上不同的替代設(shè)備的訪問路由。
通過上述路由控制器4,能夠在缺省VGA設(shè)備8中發(fā)生故障時(shí),使用硬件進(jìn)行地址轉(zhuǎn)換和切換控制。因此,F(xiàn)T計(jì)算機(jī)系統(tǒng)1能夠繼續(xù)處理。這里,在對(duì)OS隱藏的狀態(tài)下執(zhí)行前述控制。而且,優(yōu)選地,對(duì)OS隱藏VGA設(shè)備8等的錯(cuò)誤。簡(jiǎn)而言之,以虛假的方式,向OS產(chǎn)生總是繼續(xù)使用正常操作的設(shè)備的情形。對(duì)OS可見的VGA設(shè)備8的數(shù)量總是一個(gè)。因此,VGA設(shè)備8的二重控制是可能的,而無需對(duì)OS的任何修改。同樣,即使將開放系統(tǒng)設(shè)備用作I/O設(shè)備8和9以及PCI橋6,二重控制也是可能的。即,即使在包括并非針對(duì)FT計(jì)算機(jī)而生產(chǎn)的現(xiàn)有OS、I/O設(shè)備和I/O設(shè)備驅(qū)動(dòng)器的服務(wù)器中,也能實(shí)現(xiàn)I/O設(shè)備的雙重化。
接下來,將在下面詳細(xì)描述根據(jù)本發(fā)明的FT計(jì)算機(jī)系統(tǒng)1的操作的一個(gè)示例。在如圖2和3所示的FT計(jì)算機(jī)系統(tǒng)1中,假設(shè)主系統(tǒng)側(cè)的I/O設(shè)備組8和9是有效I/O設(shè)備,而假設(shè)次系統(tǒng)側(cè)的I/O設(shè)備組8和9是待機(jī)I/O設(shè)備。有效I/O設(shè)備是用于處理的I/O設(shè)備組,而待機(jī)I/O設(shè)備是用于代替故障有效I/O設(shè)備的I/O設(shè)備組。簡(jiǎn)而言之,主系統(tǒng)1a的VGA設(shè)備8a是通常使用的標(biāo)準(zhǔn)VGA設(shè)備,而次系統(tǒng)1b的VGA設(shè)備8b是待機(jī)VGA設(shè)備或替代VGA設(shè)備。
這里,假設(shè)如下設(shè)置圖7所示的路由控制寄存器41。
配置地址路由控制使能“使能”因此,根據(jù)本發(fā)明的、通過硬件對(duì)I/O設(shè)備的二重控制變?yōu)橛行А?br>
缺省目標(biāo)設(shè)備“主”如上所述,將主系統(tǒng)側(cè)的VGA設(shè)備8a設(shè)置為有效。存在將設(shè)置在寄存器52中的一側(cè)的VGA設(shè)備8(I/O設(shè)備)稱為“缺省”的情況。
主設(shè)備PCI配置號(hào)“總線#1、設(shè)備#0、功能#0”次設(shè)備PCI配置號(hào)“總線#2、設(shè)備#0、功能#0”將圖3所示的PCI層次下的設(shè)備信息設(shè)置在寄存器53中。將主系統(tǒng)側(cè)的VGA設(shè)備8a的設(shè)備信息設(shè)置在寄存器53a中,而將次系統(tǒng)側(cè)的VGA設(shè)備8b的設(shè)備信息設(shè)置在寄存器53b中。
主設(shè)備類代碼代替使能“禁用”次設(shè)備類代碼代替使能“使能”代替類代碼“FF0000h”主系統(tǒng)側(cè)的VGA設(shè)備8a是對(duì)OS可見的VGA設(shè)備。另一方面,次系統(tǒng)側(cè)的VGA設(shè)備8b是對(duì)OS隱藏的VGA設(shè)備,并且需要OS將其識(shí)別為“其他設(shè)備”。因此,執(zhí)行以“FF0000h”代替次系統(tǒng)側(cè)的類代碼的設(shè)置。
主VGA使能位隱藏使能“禁用”次VGA使能位隱藏使能“使能”與有效/待機(jī)狀態(tài)無關(guān),由BIOS將PCI橋6a和6b的“VGA使能位”設(shè)置為“使能”。但是,根據(jù)本實(shí)施例,當(dāng)產(chǎn)生對(duì)待機(jī)側(cè)PCI橋6b的“VGA使能位”的訪問請(qǐng)求時(shí),需要隱藏位信息。因此,將次系統(tǒng)側(cè)的寄存器56b設(shè)置為“使能”。
主基址F00_0000h主地址大小200_0000h次基址F800_0000h次地址大小200_0000h寄存器57a、57b和58a、58b的數(shù)值依賴于VGA設(shè)備8的PCI配置寄存器(參見圖5A)的基址寄存器。這里,假設(shè)暫時(shí)設(shè)置前述數(shù)值。
通過上述設(shè)置,從OS看時(shí)系統(tǒng)的PCI層次具有如圖8所示的結(jié)構(gòu)。有效和待機(jī)側(cè)的PCI橋6a和6b的“VGA使能位(VGA_En)”均被設(shè)置為“使能”。而且,OS將待機(jī)側(cè)的VGA設(shè)備8b識(shí)別為“其他設(shè)備60”。同樣,圖9A示出了系統(tǒng)存儲(chǔ)器映射,以及圖9B示出了PCI配置映射。將有效VGA設(shè)備映射到“FD00_0000h到FFFF_FFFFh”,以及將待機(jī)VGA設(shè)備映射到“F800_0000h到FAFF_FFFFh”。同樣,將地址“A0000h到BFFFFh”看作兼容VGA空間。
為了使CPU 2上、包括OS的軟件能夠訪問VGA設(shè)備8,有至少3種方法(1)PCI配置訪問;(2)存儲(chǔ)器映射PCI訪問;以及(3)IO映射訪問。在下面的描述中,將具體描述對(duì)“PCI配置訪問”的路由和對(duì)“存儲(chǔ)器映射PCI訪問”的路由。應(yīng)當(dāng)注意,“IO映射訪問”實(shí)質(zhì)上與對(duì)“存儲(chǔ)器映射PCI訪問”的路由相同。因此,這里省略對(duì)其的描述。
圖10A到10C是示出了根據(jù)本發(fā)明的FT計(jì)算機(jī)系統(tǒng)1的路由控制器4的操作的流程圖。首先,CPU 2發(fā)出對(duì)特定設(shè)備(目標(biāo))的讀請(qǐng)求。當(dāng)接收到來自CPU 2的讀請(qǐng)求時(shí),地址轉(zhuǎn)換器43檢查訪問的類型(步驟S1)。當(dāng)訪問的類型不是前述三種類型中的任何一個(gè)時(shí),地址轉(zhuǎn)換器43只是向路由器45轉(zhuǎn)發(fā)該請(qǐng)求(步驟S300)。路由器45執(zhí)行向作為目標(biāo)的設(shè)備的路由(步驟S301)。
(1)PCI配置訪問在步驟S1,當(dāng)訪問的類型是“PCI配置訪問”時(shí),執(zhí)行圖10B所示的控制流程。當(dāng)CPU 2發(fā)出對(duì)PCI配置寄存器(參見圖8)的讀請(qǐng)求時(shí),控制器40的地址轉(zhuǎn)換器43從該請(qǐng)求中提取出總線號(hào)、設(shè)備號(hào)、功能號(hào)和寄存器偏移地址。然后,控制器40的地址轉(zhuǎn)換器43將提取出的數(shù)值與針對(duì)“主/次設(shè)備PCI配置號(hào)(寄存器53a、53b)”而設(shè)置的數(shù)值進(jìn)行比較(步驟S101)。例如,如果提取出的數(shù)值與設(shè)置在“次設(shè)備PCI配置號(hào)”中的數(shù)值匹配(步驟S101中的“是”),控制器40的地址轉(zhuǎn)換器43根據(jù)存儲(chǔ)在錯(cuò)誤檢測(cè)器42中的錯(cuò)誤數(shù)據(jù),確定匹配設(shè)備是否處于正常狀態(tài)(步驟S102)。如果匹配設(shè)備處于正常狀態(tài)(步驟S102中的“是”),控制器40的地址轉(zhuǎn)換器43進(jìn)一步檢查寄存器偏移地址,并確定該地址是否在類代碼寄存器的地址范圍(09h到0Bh參見圖5)內(nèi)(步驟S103)。
如果不包括對(duì)類代碼寄存器的訪問(步驟S103中的“否”),執(zhí)行步驟S300。如果包括對(duì)類代碼寄存器的訪問(步驟S103中的“是”),控制器40的地址轉(zhuǎn)換器43確定“次設(shè)備類代碼代替”的設(shè)置(步驟S104)。這里,由于“次設(shè)備類代碼代替”已經(jīng)被設(shè)置為“使能”(步驟S104中的“是”),控制器40指示響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44替換類代碼(步驟S105)。然后,執(zhí)行步驟S300。
隨后,從次VGA設(shè)備8b返回響應(yīng)數(shù)據(jù)。當(dāng)接收到響應(yīng)數(shù)據(jù)時(shí),響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44以設(shè)置在“代替類代碼”中的“FF0000h”代替響應(yīng)數(shù)據(jù)中指示的類代碼。然后,響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44將替換之后的轉(zhuǎn)換響應(yīng)數(shù)據(jù)傳遞給CPU 2。通過上述過程,當(dāng)OS訪問待機(jī)VGA設(shè)備8b的類代碼時(shí),總是返回“FF0000h(其他設(shè)備)”。因此,OS不會(huì)識(shí)別出兩個(gè)VGA設(shè)備8a和8b的存在。
同樣,假設(shè)來自CPU 2的請(qǐng)求是用于查閱次PCI橋6b的“VGA使能位”的讀請(qǐng)求(步驟S101中的“否”;步驟S111中的“是”)。“VGA使能位”由“PCI到PCI橋規(guī)范”定義,并位于橋控制寄存器(偏移地址3Eh)中。如果識(shí)別出對(duì)該位置的訪問(步驟S112中的“是”),控制器40的地址轉(zhuǎn)換器43查閱“次VGA使能位隱藏”(步驟S113)。這里,“次VGA使能位隱藏”被設(shè)置為“使能”(步驟S113中的“是”)。因此,控制器40指示響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44隱藏“VGA使能位”(步驟S114)。然后,執(zhí)行步驟S300。
隨后,次PCI橋6b返回響應(yīng)數(shù)據(jù)。當(dāng)接收到響應(yīng)數(shù)據(jù)時(shí),響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44以“禁用(=0)”代替響應(yīng)數(shù)據(jù)中指示的“VGA使能位”。然后,響應(yīng)數(shù)據(jù)轉(zhuǎn)換器44將替換之后的轉(zhuǎn)換響應(yīng)數(shù)據(jù)轉(zhuǎn)發(fā)給CPU 2。通過上述過程,當(dāng)OS訪問待機(jī)側(cè)的PCI橋6b的“VGA使能位”時(shí),總是返回“禁用”。因此,向OS隱藏待機(jī)側(cè)的PCI橋6b。盡管實(shí)際上在多個(gè)PCI橋6中設(shè)置了“VGA使能位”,但將使OS看來好像已經(jīng)設(shè)置了“VGA使能位”的PCI橋限制于主系統(tǒng)側(cè)的PCI橋6a。因此,對(duì)于OS而言,絕不會(huì)產(chǎn)生失配。
接下來,將描述在有效VGA設(shè)備8a中發(fā)生故障的情況,或者在有效VGA設(shè)備8a中產(chǎn)生任何錯(cuò)誤的情況。由錯(cuò)誤檢測(cè)器42向控制器40報(bào)告與此故障有關(guān)的數(shù)據(jù)。
當(dāng)CPU 2發(fā)出對(duì)有效VGA設(shè)備8a的讀請(qǐng)求時(shí),控制器40的地址轉(zhuǎn)換器43從讀請(qǐng)求中提取總線號(hào)、設(shè)備號(hào)、功能號(hào)和寄存器偏移地址。然后,控制器40的地址轉(zhuǎn)換器43將提取出的數(shù)值與設(shè)置在“主/次設(shè)備PCI配置號(hào)”中的數(shù)值進(jìn)行比較(步驟S101)。這里,假設(shè)提取出的數(shù)值與設(shè)置在“主設(shè)備PCI配置號(hào)”中的數(shù)值匹配(步驟S101中的“是”)。而且,假設(shè)作為訪問目標(biāo)的有效VGA設(shè)備8a處于故障狀態(tài)(步驟S102中的“否”)。此時(shí),控制器40的地址轉(zhuǎn)換器43確定作為訪問目標(biāo)的VGA設(shè)備8a是否與“缺省”匹配(步驟S121)。如果不匹配(步驟S121中的“否”),執(zhí)行步驟S300。在此示例中,訪問目標(biāo)與缺省目標(biāo)匹配(步驟S121中的“是”)。在這種情況下,地址轉(zhuǎn)換器43查閱“次設(shè)備PCI配置號(hào)”,并以非缺省的待機(jī)VGA設(shè)備8b的總線號(hào)、設(shè)備號(hào)和功能號(hào)來代替提取出的數(shù)值(步驟S122)。按照這種方式,產(chǎn)生轉(zhuǎn)換地址數(shù)據(jù)。然后,地址轉(zhuǎn)換器43向路由器45輸出包括所產(chǎn)生的轉(zhuǎn)換地址數(shù)據(jù)的“轉(zhuǎn)換請(qǐng)求數(shù)據(jù)”(步驟S300)。按照這種方式,將對(duì)“總線#1、設(shè)備#0、功能#0”的請(qǐng)求重寫為對(duì)“總線#2、設(shè)備#0、功能#0”的請(qǐng)求。結(jié)果,如圖11所示,將讀請(qǐng)求路由到次VGA設(shè)備8b(60)。如圖14所示,以對(duì)次VGA設(shè)備8b(60)的訪問代替了對(duì)主VGA設(shè)備8a的訪問。因此,可以向OS隱藏主VGA設(shè)備8a的故障,并能夠繼續(xù)進(jìn)行處理。OS看上去好像繼續(xù)訪問主VGA設(shè)備8a。
(2)存儲(chǔ)器映射PCI訪問在步驟S1,當(dāng)訪問的步驟是“存儲(chǔ)器映射PCI訪問”時(shí),執(zhí)行如圖10C所示的控制流程。在這種“存儲(chǔ)器映射PCI訪問”的情況下,查閱圖9A和9B所示的系統(tǒng)存儲(chǔ)器映射。首先,當(dāng)從CPU 2截獲搜到讀請(qǐng)求時(shí),控制器40的地址轉(zhuǎn)換器43檢查其請(qǐng)求地址(步驟S201、步驟S211)。例如,如果從CPU 2發(fā)出對(duì)標(biāo)準(zhǔn)VGA空間(A0000h到BFFFFh)的讀請(qǐng)求(步驟S201中的“否”;步驟S211中的“是”),控制器40的地址轉(zhuǎn)換器43檢查在由“缺省目標(biāo)設(shè)備”指定的缺省設(shè)備中是否發(fā)生了錯(cuò)誤(步驟S212)。如果缺省設(shè)備處于正常狀態(tài)(步驟S212中的“否”),則地址轉(zhuǎn)換器43指示路由器45將讀請(qǐng)求強(qiáng)制路由到缺省側(cè)的PCI橋6a(步驟S213)。因此,將讀請(qǐng)求路由到主系統(tǒng)側(cè)的PCI橋6a,并因而路由到主系統(tǒng)側(cè)的有效VGA設(shè)備8a。
如果在缺省設(shè)備中發(fā)生故障(步驟S212中的“是”),則地址轉(zhuǎn)換器43指示路由器45將讀請(qǐng)求強(qiáng)制路由到非缺省設(shè)備側(cè)(待機(jī)側(cè))的PCI橋6(步驟S230)。因此,將讀請(qǐng)求路由到次系統(tǒng)側(cè)的PCI橋6b,并因而路由到次系統(tǒng)側(cè)的待機(jī)VGA設(shè)備8b。同樣,例如,如果讀地址包括在VGA設(shè)備8的地址空間中(步驟S201中的“是”),則控制器40的地址轉(zhuǎn)換器43確定作為目標(biāo)的VGA設(shè)備8中是否發(fā)生故障(步驟S202)。如果主VGA設(shè)備8a處于正常狀態(tài)(步驟S202中的“否”),執(zhí)行步驟S300。如果在作為目標(biāo)的主VGA設(shè)備8a中發(fā)生了故障(步驟S202中的“是”),控制器40確定目標(biāo)是否與缺省設(shè)備匹配(步驟S221)。在此示例的情況下,主VGA設(shè)備8a是缺省設(shè)備(步驟S221中的“是”)。因此,地址轉(zhuǎn)換器43以非缺省側(cè)的次VGA設(shè)備8b的地址代替請(qǐng)求地址(步驟S222)。在此示例中,如圖13所示,將對(duì)“FE00_0000h”的請(qǐng)求重寫為對(duì)“F900_0000h”的請(qǐng)求。根據(jù)“主/次基址”和“主/次地址大小”計(jì)算這些地址值。因此,如圖11所示,將讀請(qǐng)求路由到VGA設(shè)備8b(60)。因此,可以向OS隱藏主VGA設(shè)備8a的故障,并能夠繼續(xù)極性處理。OS看上去好像繼續(xù)訪問主VGA設(shè)備8a。
應(yīng)當(dāng)注意,在通常的情況下,OS并不直接訪問其功能未知的“其他設(shè)備”(待機(jī)VGA設(shè)備8b)。即使在“其他設(shè)備”中發(fā)生故障,路由控制器4也不向CPU 2報(bào)告故障,類似于隱藏有效設(shè)備中的故障的操作。因此,次設(shè)備故障不會(huì)導(dǎo)致系統(tǒng)崩潰。
如上所述,根據(jù)本發(fā)明的FT計(jì)算機(jī)系統(tǒng)1,實(shí)現(xiàn)了對(duì)有效系統(tǒng)和待機(jī)系統(tǒng)中的兩個(gè)VGA設(shè)備8的二重控制。在發(fā)生故障時(shí),執(zhí)行使用硬件的切換處理,從而允許繼續(xù)通常的處理。這里,以向OS隱藏的方式執(zhí)行二重控制,優(yōu)選地,向OS隱藏VGA設(shè)備8等的錯(cuò)誤。
具體地,在訪問VGA設(shè)備8的“PCI配置寄存器”的情況下,替換類代碼,以及在訪問PCI橋6的情況下,隱藏“VGA使能位”,并在發(fā)生故障時(shí),替換地址。簡(jiǎn)而言之,以虛假的方式向OS產(chǎn)生了總是繼續(xù)使用有效側(cè)的標(biāo)準(zhǔn)VGA設(shè)備的情形。OS可見的VGA設(shè)備8的數(shù)量總是一個(gè)(只是標(biāo)準(zhǔn)VGA設(shè)備)。因此,對(duì)VGA設(shè)備8的二重控制是可能的,而無需對(duì)OS的任何特殊修改。同樣,即使將典型的開放系統(tǒng)設(shè)備用作I/O設(shè)備8和9以及PCI橋6,二重控制也是可能的。即,即使在包括并非針對(duì)FT計(jì)算機(jī)而生產(chǎn)的現(xiàn)有OS、I/O設(shè)備和I/O設(shè)備驅(qū)動(dòng)器的服務(wù)器中,也能實(shí)現(xiàn)I/O設(shè)備的雙重化和故障切換。因此,改善了開放系統(tǒng)服務(wù)器的容錯(cuò)性和可靠性。
應(yīng)當(dāng)注意,在實(shí)施例中,將VGA設(shè)備8表示為I/O設(shè)備的示例。但是,本發(fā)明對(duì)于除VGA設(shè)備8以外的其他設(shè)備也是有效的。簡(jiǎn)而言之,將類似的切換功能和隱藏功能應(yīng)用于除VGA設(shè)備以外的其他設(shè)備。因此,可以通過使用硬件,對(duì)開放系統(tǒng)設(shè)備進(jìn)行二重控制。
根據(jù)本發(fā)明,實(shí)現(xiàn)了將開放系統(tǒng)硬件和軟件用作基礎(chǔ)的FT計(jì)算機(jī)系統(tǒng)。具體地,根據(jù)本發(fā)明的FT計(jì)算機(jī)系統(tǒng),能夠執(zhí)行對(duì)I/O設(shè)備(硬件)的二重控制,而無需修改現(xiàn)有OS或I/O設(shè)備驅(qū)動(dòng)器。因此,改善了開放服務(wù)器的容錯(cuò)性和可靠性。
權(quán)利要求
1.一種容錯(cuò)(FT)計(jì)算機(jī)系統(tǒng),包括第一系統(tǒng),作為有效系統(tǒng),包括第一I/O設(shè)備;以及第二系統(tǒng),作為待機(jī)系統(tǒng),包括與所述第一I/O設(shè)備相同的第二I/O設(shè)備,所述第二系統(tǒng)通過鏈路部分與所述第一系統(tǒng)相連,并配置為與所述第一系統(tǒng)同步地進(jìn)行操作,其中所述第一和第二系統(tǒng)中的每一個(gè)均包括CPU;和與所述CPU相連的路由控制器,所述第一系統(tǒng)中的所述路由控制器控制所述第一系統(tǒng)中的所述CPU與所述第一I/O設(shè)備和所述第二I/O設(shè)備之間的路由,以及當(dāng)在所述第一I/O設(shè)備之一中發(fā)生故障時(shí),所述第一系統(tǒng)中的所述路由控制器將從所述第一系統(tǒng)中的所述CPU接收到的、以所述第一I/O設(shè)備為目的地的請(qǐng)求數(shù)據(jù)路由到與所述I/O設(shè)備相對(duì)應(yīng)的所述第二I/O設(shè)備之一。
2.根據(jù)權(quán)利要求1所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于所述第一系統(tǒng)中的所述路由控制器包括與所述CPU相連的地址轉(zhuǎn)換器;與所述CPU相連的響應(yīng)數(shù)據(jù)轉(zhuǎn)換器;和與所述地址轉(zhuǎn)換器和所述響應(yīng)數(shù)據(jù)轉(zhuǎn)換器相連的路由器,當(dāng)在所述第一I/O設(shè)備中發(fā)生故障時(shí),如果接收到來自所述CPU的所述請(qǐng)求數(shù)據(jù),所述地址轉(zhuǎn)換器通過以表示所述第二I/O設(shè)備的設(shè)備數(shù)據(jù)代替表示所述第一I/O設(shè)備的設(shè)備數(shù)據(jù),由所述請(qǐng)求數(shù)據(jù)產(chǎn)生轉(zhuǎn)換后的請(qǐng)求數(shù)據(jù),并將所述轉(zhuǎn)換后的請(qǐng)求數(shù)據(jù)轉(zhuǎn)發(fā)給所述路由器,以及所述路由器根據(jù)包含在所述轉(zhuǎn)換后的請(qǐng)求數(shù)據(jù)中的所述設(shè)備數(shù)據(jù),將所述轉(zhuǎn)換后的請(qǐng)求數(shù)據(jù)路由到所述第二I/O設(shè)備。
3.根據(jù)權(quán)利要求2所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于所述設(shè)備數(shù)據(jù)是PCI層次結(jié)構(gòu)中的PCI總線號(hào)、設(shè)備號(hào)和功能號(hào)。
4.根據(jù)權(quán)利要求3所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于所述第一系統(tǒng)中的所述路由控制器還包括寄存器,由所述地址轉(zhuǎn)換器查閱,并配置用于存儲(chǔ)所述PCI總線號(hào)、所述設(shè)備號(hào)和所述功能號(hào)。
5.根據(jù)權(quán)利要求2所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于所述設(shè)備數(shù)據(jù)是系統(tǒng)存儲(chǔ)器映射空間中的地址。
6.根據(jù)權(quán)利要求5所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于所述第一系統(tǒng)中的所述路由控制器還包括寄存器,由所述地址轉(zhuǎn)換器查閱,并配置用于存儲(chǔ)所述地址。
7.根據(jù)權(quán)利要求2到6之一所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于當(dāng)所述第二I/O設(shè)備以正常狀態(tài)進(jìn)行操作,并且所述響應(yīng)數(shù)據(jù)轉(zhuǎn)換器通過所述路由器接收到來自所述第二I/O設(shè)備的響應(yīng)數(shù)據(jù)時(shí),所述響應(yīng)數(shù)據(jù)轉(zhuǎn)換器通過重寫部分所述響應(yīng)數(shù)據(jù),由所述響應(yīng)數(shù)據(jù)產(chǎn)生轉(zhuǎn)換后的響應(yīng)數(shù)據(jù),并向所述第一系統(tǒng)中的所述CPU輸出所述轉(zhuǎn)換后的響應(yīng)數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于所述響應(yīng)數(shù)據(jù)轉(zhuǎn)換器通過以另一類代碼代替包含在所述響應(yīng)數(shù)據(jù)中的、所述第二I/O設(shè)備的類代碼,產(chǎn)生所述轉(zhuǎn)換后的響應(yīng)數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于所述第一系統(tǒng)中的所述路由控制器還包括寄存器,由所述響應(yīng)數(shù)據(jù)轉(zhuǎn)換器查閱,并配置用于存儲(chǔ)所述另一類代碼。
10.根據(jù)權(quán)利要求2到6之一所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于所述第一系統(tǒng)包括第一PCI橋,作為與所述第一系統(tǒng)的所述路由控制器和所述第一I/O設(shè)備相連的所述第一I/O設(shè)備之一,以及所述第二系統(tǒng)包括第二PCI橋,作為與所述第二系統(tǒng)的所述路由控制器和所述第二I/O設(shè)備相連的所述第二I/O設(shè)備之一,以及當(dāng)所述第一I/O設(shè)備和所述第二I/O設(shè)備以正常狀態(tài)進(jìn)行操作時(shí),將所述第一PCI橋的VGA使能位和所述第二PCI橋的VGA使能位均設(shè)置為使能。
11.根據(jù)權(quán)利要求10所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于當(dāng)產(chǎn)生對(duì)所述第二PCI橋的所述VGA使能位的訪問時(shí),所述響應(yīng)數(shù)據(jù)轉(zhuǎn)換器通過所述路由器接收來自所述第二PCI橋的所述VGA使能位,并將接收到的VGA使能位轉(zhuǎn)換為禁用。
12.根據(jù)權(quán)利要求10所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于所述第一I/O設(shè)備和所述第二I/O設(shè)備是開放系統(tǒng)設(shè)備。
13.根據(jù)權(quán)利要求2到6之一所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于所述第一I/O設(shè)備和所述第二I/O設(shè)備是VGA設(shè)備。
14.根據(jù)權(quán)利要求1所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于所述第一I/O設(shè)備和所述第二I/O設(shè)備是VGA設(shè)備。
15.一種容錯(cuò)(FT)計(jì)算機(jī)系統(tǒng),包括第一系統(tǒng),包括作為有效I/O設(shè)備的第一I/O設(shè)備;以及第二系統(tǒng),包括與所述第一I/O設(shè)備相同的、作為待機(jī)I/O設(shè)備的第二I/O設(shè)備,所述第二系統(tǒng)通過鏈路部分與所述第一系統(tǒng)相連,并配置為與所述第一系統(tǒng)同步操作,其中所述第一和第二系統(tǒng)中的每一個(gè)均包括CPU;和與所述CPU相連的路由控制器,用于控制所述CPU與所述第一I/O設(shè)備和所述第二I/O設(shè)備之間的路由,以及所述路由控制器包括寄存器組和控制器,以及所述控制器包括與所述CPU相連的地址轉(zhuǎn)換器,用于根據(jù)存儲(chǔ)在所述寄存器組中的第一數(shù)據(jù),有選擇地轉(zhuǎn)換從所述CPU輸出的請(qǐng)求數(shù)據(jù);與所述CPU相連的響應(yīng)數(shù)據(jù)轉(zhuǎn)換器,用于根據(jù)存儲(chǔ)在所述寄存器組中的第二數(shù)據(jù),有選擇地轉(zhuǎn)換要輸出到所述CPU的響應(yīng)數(shù)據(jù);和與所述地址轉(zhuǎn)換器和所述響應(yīng)數(shù)據(jù)轉(zhuǎn)換器相連的路由器,用于路由所述請(qǐng)求數(shù)據(jù)和所述響應(yīng)數(shù)據(jù)。
16.根據(jù)權(quán)利要求15所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于當(dāng)在所述第一I/O設(shè)備中發(fā)生故障時(shí),所述第一系統(tǒng)中的所述路由控制器將從所述第一系統(tǒng)中的所述CPU接收到的、以所述第一I/O設(shè)備為目的地的請(qǐng)求數(shù)據(jù)路由到所述第二I/O設(shè)備。
17.根據(jù)權(quán)利要求15所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于當(dāng)所述第一和第二I/O設(shè)備以正常狀態(tài)進(jìn)行操作時(shí),如果通過所述路由器接收到來自所述第二I/O設(shè)備的所述響應(yīng)數(shù)據(jù),所述第一系統(tǒng)中的所述響應(yīng)數(shù)據(jù)轉(zhuǎn)換器根據(jù)所述第二數(shù)據(jù),轉(zhuǎn)換所述響應(yīng)數(shù)據(jù),并向所述第一系統(tǒng)中的所述CPU輸出所述轉(zhuǎn)換后的響應(yīng)數(shù)據(jù)。
18.根據(jù)權(quán)利要求15所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于所述第一系統(tǒng)包括第一PCI橋,作為與所述第一系統(tǒng)的所述路由控制器和所述第一I/O設(shè)備相連的所述第一I/O設(shè)備之一,以及所述第二系統(tǒng)包括第二PCI橋,作為與所述第二系統(tǒng)的所述路由控制器和所述第二I/O設(shè)備相連的所述第二I/O設(shè)備之一,以及當(dāng)所述第一I/O設(shè)備和所述第二I/O設(shè)備以正常狀態(tài)進(jìn)行操作時(shí),將所述第一PCI橋的VGA使能位和所述第二PCI橋的VGA使能位均設(shè)置為使能。
19.根據(jù)權(quán)利要求15所述的容錯(cuò)計(jì)算機(jī)系統(tǒng),其特征在于所述第一I/O設(shè)備和所述第二I/O設(shè)備是VGA設(shè)備。
全文摘要
一種容錯(cuò)(FT)計(jì)算機(jī)系統(tǒng),包括第一系統(tǒng);以及第二系統(tǒng),配置為與所述第一系統(tǒng)同步操作。所述第一和第二系統(tǒng)中的每一個(gè)均包括CPU;和與所述CPU相連的路由控制器。所述第一系統(tǒng)包括作為有效I/O設(shè)備的第一I/O設(shè)備,以及所述第二系統(tǒng)包括作為待機(jī)I/O設(shè)備的第二I/O設(shè)備。路由控制器控制所述CPU與所述第一I/O設(shè)備和所述第二I/O設(shè)備之間的路由。當(dāng)在所述第一I/O設(shè)備中發(fā)生故障時(shí),所述第一系統(tǒng)中的所述路由控制器將從所述CPU接收到的、以所述第一I/O設(shè)備為目的地的請(qǐng)求數(shù)據(jù)路由到所述第二I/O設(shè)備。
文檔編號(hào)G06F13/38GK1790284SQ20051013169
公開日2006年6月21日 申請(qǐng)日期2005年12月16日 優(yōu)先權(quán)日2004年12月16日
發(fā)明者阿部晉樹 申請(qǐng)人:日本電氣株式會(huì)社