TWI229791B - Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof - Google Patents

Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof Download PDF

Info

Publication number
TWI229791B
TWI229791B TW92117918A TW92117918A TWI229791B TW I229791 B TWI229791 B TW I229791B TW 92117918 A TW92117918 A TW 92117918A TW 92117918 A TW92117918 A TW 92117918A TW I229791 B TWI229791 B TW I229791B
Authority
TW
Taiwan
Prior art keywords
instruction
value
processor
counter
module
Prior art date
Application number
TW92117918A
Other languages
English (en)
Other versions
TW200401186A (en
Inventor
Shigeo Yamazaki
Shigeyuki Aino
Original Assignee
Nec 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 Nec Corp filed Critical Nec Corp
Publication of TW200401186A publication Critical patent/TW200401186A/zh
Application granted granted Critical
Publication of TWI229791B publication Critical patent/TWI229791B/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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1691Temporal synchronisation or re-synchronisation of redundant processing components using a quantum
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1687Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1683Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Description

-^^92117918 曰 鎖步脫離 的因素而 新初始化 的狀態。 系統中, 態之計算 同處理之 作狀態下 一記憶體 算模組。 計算模組; 或根據此必 1229791 五、發明說明(1) 【發明所屬之技術領域】 本發明係有關於一種 腦系統,用以種鎖乂 全相同的方法來貞_ + 口 ^脈 雷腦会Μ Ώ來處相同指令 電細糸統及高速度重 曾楹如议丄 ι又里新R步控 ;拉組發生同步錯帛(鎖步) 【先前技術】 在傳統的鎖步同步容錯 旧扣7串之叶算模組中,舍一 錯誤或外部因素或内部因;, J出時’如下之對策將被採用 杈組同步操作之計算模組將作 的計算模組。 ^更特別的,此方法中斷其 模組,及當根據導致跳出狀態 或當替代不是必要時,實施i 要性以整合計算模組於操作上 在傳統鎖步同步容錯電腦 的日$間上’因為不論在跳出狀 對於與持續操作以再次實施相 同步化的計算模組而言,在操 之所有的記憶體資料被複製至 整之時間,包含於被重整之計 修正 (lock-step)同步容錯電 彼此同步之計算模、级,以完 串。特別是有關於一種容錯 制方法’此方法貫現了當計 時,重新同步處理之速度提 腦糸統中’在複數執行相同 個計算模組被偵測到,因為 具有與其他計算模組不同的 。被偵測到無法與其他計算 為在跳出(step-out)狀態 操作狀態之一計算 取代此 過程 於重整為操作狀態 模組是否被代替, 其他計算模組一起 ’被計算模組持有 ’此記憶體被在重
1229791 督換 M -^ _案號日 鉻不 五、發明說明⑵ ^ ' 贿 ' 傳統鎖步同步容錯電腦系統中,於跳出狀態下執行計 算模組之替代後,即於根據導致跳出的部分之^整處理 後,當再次整合所考慮之計算模組使之處於操作狀態時, 在操作狀態之計异模组被終止一段時間。 ^更特別的,傳統鎖步同步容錯電腦系統具有一問題 是,當在跳出狀態之一計算模組受支配於重整處理,此整 個容錯電腦系統使其操作終止一段時間(一般 5秒, 或是幾分鐘的指令)。 %
當一般計算模組在複製處 複製處理期間一般計算模組之 力,以便複製無法正確地執行 狀態之一计鼻核組暫時地停止 新0 理期間的操作為持續時,於 記憶體内容具有改變的能 。為了防止此情況,在操作 ’以預防其記憶體内容的更 制-1 ϋ現f 2算模組中之記憶以容量達到1 〇9位元組,複 衣元整的纪憶體部將需要一段長時間。 為不ϊ ί ΐ:步容錯電腦系統中’計算模組之跳出狀態因 馬不同的情況而發生。 第U況是產生於計算模組中不變的錯誤。在此情 况中,一具有錯誤之計算模組應 之計算模組為操作系絲,卢Μ /乂且田重組被取代 禾1f糸統# 處於刼作狀態之許笪掇細中所 有的資料需要被複製。 狀Μ之计异杈組中π 1229791 ---案號 五、發明說明(3)
在鎖步同步容錯電腦系钫 為’雖然在-般操作下,在一計算二產”因 造的不同,計算模組於不同的時序下操:之::::之製 射線或其他類似影響所導致 、,或疋因為由α 誤。 己隐體的自動更正週期性錯 在這些情況中,由於不變的料 身,此模組根本不需要取代生於計算模組本 他計算模組之處理再次同步,敫人理與在操作之其 完整容錯電腦系統可以被恢復:u之計算模組。此 【發明内容】 i為身又知作狀態。 有鐘於此,為了解決上述問, 提供一種容錯電腦系統、相關之重新二明主要目的在於 之儲存媒體’用以致能一計算模组,;: =法以及相關 致-不變的錯誤而脫離,以較傳的:疋因為除了導 合為操作狀態,,藉由整 理之系統操作之暫停的時間。 大地減V玉5處 腦系統、相關之 ,以藉由減少前 之改善。 步容錯電腦系 組,具有一處理 步處理相同之指 之該等處理器 ’假使在包括每 本發明之另一目的為提供一種容錯電 重新同步的方法以及相關之重新同步程式 述重整處理之時間以了解此系統可利用性 根據本發明之第一觀點,一種鎖步同 統’包括複數計算模組,且每一該計算镇 w及 5己憶體’並與其他該等計算模級同 令串’其中,當偵測到在每一該計算楔叙 中’對一外部匯流排的存取狀態不一致時
2132-5735-PFl(Nl).ptc 第7頁 1229791 五、發明說明(4) 一該計算模 有該等處理 達到一致之 恢復同步操 更好的 控系統中錯 一匯流 午 理器對該外 一插斷 算模組之每 步缺乏之情 知偵測結果 一内部 用以通知在 組之系統中沒有偵測到 器,以執行使該等計算 延遲調整後,以相關之 作之處理。 關係,容錯電腦系統更 誤之存在或不存在; 排監控器,用以監控在 部匯流排之存取; 控制裝置,在該匯流排 一該處理器對該外部匯 況下,當該偵錯器無偵 之一插斷給每一該處理 系統聯絡控制裝置,輕 母一該計算模組之該等 錯誤,在產生插斷至所 模組中指令執行之狀態 每一該計算模組來執行 包括一偵錯器,用以監 每一該計算模組之該處 態,以及 一同步 一該計算模 恢復所有該 另一更 器,用以計算在該處理器中所執行 理器接收來自該插斷控制裝置裝置 重新同步之一處理器管理模式時, 用; 每一該處理器比較自己擁有 監控器偵測到每一該計 流排之存取狀態中,同 測錯誤時,產生用以通 器; 接於每一該計算模組, 處理器中指令執行之狀 控制裝置,耦接於每一 組中指令執行之狀態達 等計算模組之操作。 好的關係,每一該處理 該叶异模組,在執行每 到一致之延遲調整後, 器包括一指令數計數 的指令數量,當該等處 之一插斷,以及轉換為 讀指令數計數器失去作 1229791 ^ ^ ---i 案色^17918 ’ 五、益^ BB 辨 ϋΠ / r \ __ 月 修正 五、發明說明(5) 其他該等計算模組之每_ 值; 對應之處理器之指令數計數器 m 未包括於所有該等計數器曰 數器之該計算模組,實施執入:不取大值之指令數計 數計數器值與最大之指令數=二延遲調整,直到指令 時,送出通知至包括指示最;且當該值—致 模經’以及包括指示最大值之指令;ϋ數器之該計算 組,等待接收來自所有其他該二管=數态之該計算模 到所有通知後,命令該同步控ί二;:組之通知,且接收 理模組恢復彼此同步之操作一衣置產生導致所有該等處 另一更好的關係,在延=二信號。 數計數器值之該計算模組執二中具有非為最大之指令 、與最大之指令數計數器值一致,曰7直到指令數計數器值 該處理器處於一步驟執行 後,轉換為該處理器管理模、式,以在執行一個指令 驟執行模式之處理,直到指1叙=及該等處理器重複該步 汁數器值一致。 σ十數裔值與最大之指令數 另一更好的關係,接收 =每一該處理器,轉換成為了 =插斷控制裝置之該插斷 官理模式,在該重新同步處理斫同步處理之一該處理器 執行的指令數之指令數計數哭,用以計算在處理器中 程式計數器值; °。失去作用,且保留並儲存— 每一該處理器讀取每—卞 及保留之該程式計數器值,^裡器之指令數計數器值 __ 傳送該等值至所有其他該等 2132-5735-PF2(Nl).ptc 第 頁
計算模組; 每一該處理器 該處理 最大之 計算模組之 未具有 執4于指令之 數計數器值 指示最大值 最大值之指 其他該等計 延遲調 一致, 之指令 令數計 算模組 同步控制裝置產生 操作之一重置信號 比較指 器之指 該指令 整,直 以及當 婁文計數 數器之 之通知 導致所 令數計數 令數計數 數計數器 到指令數 該等值一 器之該計 該計算模 ,且當接 有該等處 器值與接收自其他該等 器值; 值之該計算模組,實施 計數器值與最大之指令 致時’送出通知給包括 算模組,以及包括指示 組’等待接收來自所有 收所有通知時,命令該 理模組恢復彼此同步之 另一更好的關係,在延遲調整中,具有非為最大之指 令數計數器值之該計算模組執行指令,直到指令數計數器 值與最大之指令數計數器值一致, 該處理器處於一中斷點指定執行模式,以在指定指令 串中一特定位置上執行一個指令後,轉換為該處理器管理 模式; 如在指令串中該特定位置,如在指令串中該特定位 置,藉由來自包括指示最大值之指令數計數器之該計算模 組之該程式計數器而指示之指令位置被指定,以及在執行 於指定指令串中該特定位置之指令串後,該處理器轉換為 該處理器管理模式。 另一更好的關係,在讀取程式執行狀態後,包括指示 最大值之指令數計數器之該計算模組,等待來自其他該等
2132-5735-PFl(Nl).ptc 第 10 頁
1229791 案號 921]7?nR 、發明說明(7) 計算模組之該通知; 在執行該延遲調整處理後,不包括 數計數器之所有其他該等計算模組=== 及傳迗程式執行狀態及延遲調整處 :盯' 指示最大值之指令數計數器之該;;且之通= 相夕和^數 十异模組比較所有該等 ^ ^式執行狀態,且當彼此一致時,命令用以恢 才呆作之該重置作梦之甚+ 以 用 —致·^ ΐ 產生 及畲偵測到程式執行 德叶鼻模組,在執行中斷處理及使該計算模 叩7用以恢復同步操作之該重置信號之產生。 另—更好的關係,提供複數對該偵錯器、該匯 二器該插斷控制裝置、該内部系統聯絡控制裝置 同步控制裝置。 又 似/根據本發明之另一觀點,一種用在一鎖步同步 ^系統之重新同步方法,該鎖步同步容錯電腦系統 數計算模組,且每一該計算模組,具有一處理器及 體’並與其他該等計算模組同步處理相同之指令串 、下乂驟 ¥偵測到對分別在每一該計算模組之該 ^中之一外部匯流排所存取之狀態不一致時,如果 每一該計算模組之系統内無偵測到錯誤,產生一插 有該處理器,以及在執行為了達到在該等計算模組 之指令執行狀態之延遲調整後,執行與每一該計算 步之恢復操作之處理。 另 更好的關係,重新同步方法更包括以下步 之指令 態,以 ,包括 括指示 計算模 復同步 模式不 組無效 流排監 以及該 容錯電 具有複 一記憶 ’包括 等處理 &包; 偵
1229791 案號92117918/ 邪.9牟-1月 日 修皂 五、發明說明(8) 測在該系統内之錯誤之存在或不存在; 監控在每一該算模組内之該處理器對該外部匯流排之 存取狀態; 當偵測到對分別在每一該計算模組之該等處理器中之 一外部匯流排所存取之狀態不一致時,如果内無偵測到錯 誤,產生用以通知偵測結果之一插斷至所有該等處理器,曰 以及在執行為了達到在該等計算模組中一致之指令執行狀 態之延遲調整後,產生一重置信號,其中該重置信號係用 以執行所有該等計算模組同步之恢復操作之處理。 另一更好的關係,重新同步方法更包括以下步驟,每 一該處理器接收為了重新同步處理,而用以轉換為一處理 管理模式之該插斷,在重新同步處理中,該處理器之^以 計算所執行之指令數量之一指令數計數器失去作用; 每 ^ 其他該等 未具 執行指令 數計數器 指示最大 最大值之 其他該等 致所有該 另一 令數計數 該處理器 計算模組 有最大之 之延遲調 值一致, 值之指令 指令數計 計算模組 等處理模 更好的關 器值之該 數器值與 令數計數 計算模組 值與最大 送出通知 ,以及包 待接收來 通知時, 之該重置 有非為最 到指令數 采自在 器值; ’實施 之指令 給包括 括指示 自所有 產生導 信號。 大之指 計數器 比較所讀取之指令數計 内之每一該處理器之指 該指令數計數器值之該 整,直到指令數計數器 以及當該等值一致時, 數什數器之該計算模組 數斋之該計鼻模組,等 之通知,且當接收所有 組恢復彼此同步之操作 係,在延遲調整中,具 計算模組執行指令,直 1229791 92117918— 修正 曰 五、發明說^ 值與c數計數器值—致; 後,轉i A t處於一步驟執行模式,以在執行一個士 轉換為该處理器管理 執仃一個指令 驟執行模式之處理,、式,以及該等處理器重複爷| 計數器值一致。 指令數計數器值與最大之指^數 之每—兮::的關係’接收來自該插斷控制轳置 理U;;,轉換成為了重新同步處 執仃的指令數之指令數 f ^汁^在该處理器中所 程式計數器值; σ數為失去作用,且保留並儲存一 及保:之:j: 1讀取每-該主裡器之指令數計數哭值以 計算模組%式計數器冑,並傳送該等值至所有其; 每一該處理器比較指令數 計算模組之,理器之指令;;;; =與接收自其他該等 執行i;::指ί::ϊ器值之該計算模組,實施 數計數器值4:及數計數器值與最大之指令 指示最大值之八致時’$出通知給包括 最大值之产八查:7數:!數益之ΐ計算模組,以及包括指示 等計算模組之通…當接收所有通= 操導致所有該等處理模組恢復彼此… 另一更好的關係’在延遲調整中,具有非為最大之指
I 第13頁 2132-5735-PF2(Nl).ptc
案號 92U7Q1R 1229791 —丰
五、發明說明(10) 令數计數斋值之該計算模|且執行指令, 值與最大之指令數計數器值一致, 到指令數計數器 該處理器處於一中斷點指定執行 串中一特定位置上執行一個指令後,轉ς反以在指定指令 模式; 換為該處理器管理 如在指令串中該特定位置,藉由 之指令數計數器之該計算模組之該程=括指不最大值 令位置被指定,以及在執行於指定指12器而2示之指 指令串後’該處理器轉換為該處理特定位置之 另一更好的關係,在讀取程式執、二 一 最大值之指♦數賴器之該計算模= = 包括指示 算模組之該通知; 待來自其他該等計 在執行該延遲調整處理後,不句 數計數器之所有其他該等計算c示最大值之指令 及傳逆葙々拈> & Ab 、、崎取程式執行狀態,以 及得迗私式執行狀態及延遲調整處 示最大值之指令數計數器之該計k成之通知至, 大值之 > 人私▲ XI 4、、、且’以及包括4日不敢 之程弋^二此ί數15之該計算模組比較所有該等計算模組 當彼此一致時,命令用以恢復同步操 作之a重置信號之產生,以,^ 致之該計算模έ且,太勒—由細Γ 到程式執盯模式 後,命八用uI -在執灯中斷處理及使該計算模組無效 。1: 步操作之該重置信號之產生。 同步程气=明之第二觀點,—種儲存媒體,儲存一重新 處理,ί鎖行一鎖步同步容錯電腦系統之重新同步 該鎖步同步容錯電腦系統具有複數計算模組,且每
1229791 ί| 案號 92117QllS 五、發明說明(11) 曰j月 曰 修正 計^异模組’具有一處理器及一記憶體’並與其他該等 μ 組同?處理相同之指令串,包括以下功能:當偵測 ' 士刀別在每一該計算模組之該等處理器中之一外部匯流 所存取之狀態不一致時,如果在包括每一該計算模組之 μ系統内無偵測到錯誤,產生一插斷至所以該等處理器; =及在執行用以達成在該等計算模組中指令執行狀態一致 ^遲^整後’導致每一該處理器重新開始同步操作。 另一更好的關係,儲存媒體更包括以下功能: 價測在該系統内之錯誤之存在或不存在; 監控在每一該算模組内之該處理器對該外部 存取狀態; 匕机排之 當偵測到對分別在每一該計算模組之該等處理器 一外部匯流排所存取之狀態不一致時,如果内無偵^之 誤,產生用以通知偵測結果之一插斷至每一該&理=到錯 及在執行為了達到在該等計算模組中一致之指令以 之延遲調整後,產生一重置信號,其中該重置信號7狀態 執行所有該等計算模組同步之恢復操作之處理。〜糸用以 另一更好的關係,包括每一該處理器接收為了 步處理,而用以轉換為一處理管理模式之該插斷,重新同 在重新同步處理中,該處理器之用以計算所執行其中, 量之一指令數計數器失去作用; 指令數
每一該處理器比較所讀取之指令數計數器 他該等計算模組内之每一該處理器之指令數 未具有最大之該指令數計數器值之該計算 值與來 計數器 模組, 自在值; 實施
2132-5735-PFl(Nl).ptc 第15頁 1229791 一修正 曰 L 案號 92117918 五、發明說明(12) _ 執行指令之延遲調整,直 數計…-致,以及值;最大之指令 最大值之指令數;計算模組,以及包括指示 其他該等計算模組之^該叶=模組,等待接收來自所有 致所有該等處理模,且恢二且當接收所有通知時,產生導 另-更好的闕:=:匕同步,操作之該重置信號。 之指令數計數器值之諛$延,5周整具有非為最大 數器值與最大之指令數 1;;值且=指令’直到指令數計 該處理器處於—牛職此7 , 後,轉換為該處理器模式,以在執行一個指令 驟執行模式之處理,吉ί式,以及該等處理器重複該步 計數器值一致。 彳私令數計數器值與最大之指令數 另一更好的關倍,— 插斷之每一該處理哭,=接收來自該插斷控制裝置之該 器管理模式,在該^軏η換成為了重新同步處理之一處理 中所執行的指令數之扣二步處理中,用以計算在該處理器 存一程式計數器值;s'數計數器失去作用,且保留並儲 每一該處理器讀 > 及保留之該程式計^ „。母—該主裡器之指令數計數器值以 計算模組; 為值’並傳送該等值至所有其他該等 每一該處理器比 計算模組之該處理哭乂曰令數計數器值與接收自其他該等 未具有最大之數計數器值; ^7數計數器值之該計算模組,實施 2132-5735-PF2(Nl).ptc 第16頁 1229791 案號 五、發明說明(13) 執行指令之延 數計數器值一 指示最大值之 最大值之指令 其他該等計算 同步控制裝置 操作之該重置 另一更好 之指令數計數 數器值與最大 該處理器 串中一特定位 模式; 92117918
遲调整,直到指令數計數器 致,以及當該等值—致時 出1大;指令 指令數計數器之該計算模組 掇組^▲ 、、專待接收來自所有 、二=通知,且當接收所有通知 信號:杌頁該4處理杈組恢復彼此同步之 具有非為最大 直到指令數計 的關係,包括在延遲調整中 斋值之該計算模組執行指令 之指令數計數器值一致, • 一伏a,以在指定指令 置上執行一個指令後,轉換為該處理器管理 處於一中斷點指定執行模式 如在指令串中該特定位置,藉由來自包括指示最大值 ^指令數計數H之該計算模組之該程式計數器而指示之指 二位置被指定,以及在該處理器執行於指定指令串中該特 疋位置之指令串後,轉換該處理器為該處理器管理模式。 另一更好的關係,其中在讀取程式執行狀態後,包括 :不ί大值之指令數計數器之該計算模組等待來自其他該 專計算模組之該通知; 在,行該延遲調整處理後,不包括指示最大值之指令 计數斋之所有其他該等計算模組讀取程式執行狀態,以 及傳送程式執行狀態及延遲調整處理完成之通知至包括指 示最大值之指令數計數器之該計算模組,以及包括指示最
1229791 五、發明說明 案號 (14) 92117918 修正 大值之指令數計數器之該計算模組比較所有該等計瞀 之程式執行狀態,且當彼此一致時,命令用以恢復^二广 作之該重置信號之產生’以及當偵測到程式執行模戈: 致之該計算模組’在執行中斷處理及使該計算模組1效— 後’命令用以恢復同步操作之該重置信號之產生" 【實施方式】 實施例: 本發明之最佳實施例將伴隨圖適於下面做說明。在F 後中之敘述,許多特定的細節為了提供透過本發明的理ς 而設定。然而本發明可能沒有實行特定細節之習知技術是 顯然的。在其他的例子,熟知的結構為了凸顯本發明的^ 要性而不詳細的表示。 ^ 本發明履行之模式根據參考圖示而詳細說明。 第1圖係表示本發明之第一模式之容錯電腦系統之結 構方塊圖。在弟1圖中’谷錯電腦系統包括複數計算模組 100及200,每一計算模組1〇〇及200在彼此同步之時脈中, 處理相同的指令串。此容錯電腦系統比較每一計算模組之 處理結果。當一計算模組發展出錯誤,此處理會藉由維持 計算模組而繼續。 ' 每一計算模組100及2 0 0分別包括複數處理器1〇1及 102、處理器201及2 0 2 ;處理器外部匯流排103及2〇3 ;記 憶體104及2 04 ;以及記憶體控制單元1〇5及2〇5。 此外’計算模組1 〇 〇及2 0 0耦接於週邊裝置控制單元 40 0及5 0 0 ’以透過記憶體控制單元1〇5、2〇5、3〇5而控制
第18頁 案號 92117918 1229791 修正 五、發明說明(15) 週邊裝置。 上述之容錯電腦系統更包括偵錯器7 〇 〇、匯流排監控 杰7 0 1、插斷控制單% 7 0 2、内部系統聯絡控制單元7 〇 3及 同步控制單元704。 偵錯器700監控在包括計算模組1〇〇及2〇〇之整個系統 中,錯誤之存在/不存在。 匯肌排監控裔7 0 1係監控每_計算模组丨〇 〇及2⑽之處 理器對外部匯流排1 〇 3及2 0 3的存取。 在匯流排監控器701偵測到分別在計算模組1〇〇及2〇〇 之每一處理器對外部匯流排之輸出不一致之情況下,當偵 錯器700沒有發現錯誤,插斷控制單元7〇2產生一插斷以通 知此作用給所有的處理器。 内部系統聯絡控制單元70 3分別耦接至對應的計算模 組10 0及2 0 0,用以提供聯絡通道,以檢查分別在計算模組 100及200内處理器的操作不一致的狀況。 同步控制單兀704,耦接於每一計算模組100及2 0 0, 用以產生一重置#號’以根據來自任一處理器之指令來控 制計算模組1 0 0及2 0 0之重新同步。 在此,在每一計算模組1〇〇及2 〇〇之處理器的數量並不 限定於兩個,且每一計算模組可設置一個、三個過是更多 的處理器。 此外,計算模組的數量也不限定於兩個,且三個或是 更多的計算模組可具有與本發明相同的作用 接著’本發明之第一模式之容錯電腦系統,配合第
第19頁 1229791 案號92117918厂 五、發明說明(16) — 1、2及3圖而詳細說明。 摘錯器700監控在包括對應之計算模組1〇〇及2〇〇以及 對應之周邊裝置驅動單元400及50〇的容錯電腦系統中,錯 誤的存在/不存在,並通知結果給插斷控制單元702。 匯流排監控器70Ϊ耦接於計算模組1〇〇及2〇〇之各自處 理器的外部匯流排103及203。此匯流排監控器7〇1比較處 理器101、102、20!及202對外部匯流排的存取狀態,以監 ,對應之處理器101、102、2〇1及2〇2是否在彼此同步的時 士: ’存取處理器外部匯流排1〇3及2〇3。當偵測到在處理 及2〇2的操作缺乏一致時’此匯流排監控 态701通知此作用至插斷控制單元7〇2。 伊使:監/器701通知操作上缺之同步之债測時, ί錯電腦系統内沒有偵測到錯誤,插斷 控制早兀702為了去通知此作用給在每一 古 處理器,則產生插斷。插斷控制單 二、,’’ 後,抑制新的插斷產生,2也在-插斷產生 令。此抑制預防了,由對單元7°4提供-指 產生’而在處理器對外部匯流排;處理所 識缺點,如一般操作的同步缺點。、知作上同步化的辨 接收來自插斷控制單元702之 1。卜2〇1及202藉由重新同步處理匕斷::-處理器1。1、 200操作上的誤差,以恢復相同指計算模組100及 時脈下而執行。 7串係在與其他同步的 此相關的重新同步處理將配 昂/及3圖之流程圖而說 第20頁 2132-5735-PFl(Nl).ptc 1229791 案號 921179M 五、發明說明(17) 曰 修正 明。 依據接收插斷,每一處理器1〇1、102、2〇1及2〇2為了 ,新同步處理,轉換為處理器管理模式,且在處理器管理
模式中’用以计异在處理器執行的指令數的指令數計數器 無法操作(步驟201 ) 。 W 接著,每一處理器1〇1、102、201及202讀取本身指令 數计數器值(步驟2 〇 2 ),以透過記憶體控制單元丨〇 5及 5以及内部系統聯絡控制單元703而傳送指令數計數器的 頃取值給其他計算模組(步驟2 〇 3 )。 母一處理器1 〇 1、1 〇 2、2 0 1及2 0 2也透過内部系統聯絡 控制f TC703以及記憶體控制單元1〇5及205,以讀取在其 ,計算模組内之處理器的指令數計數器值(步驟2 〇 4 )。 每一處理器比較在每一計算模組内對應之處理器之指令數 計數器值是否相同(步驟2〇5 )。 在此,計算模組包括一處理器,其指令數計數器指示 在所有計數器中最大的值(這稱為具有最大值之指令數記 器之計算模組),當其他計算模組執行等於延遲之一指 令’如指令數計數器之比較結果,實施排隊等候執行的處 理(步驟206 )。當在計算模組1〇〇及2〇〇之執行的指令的 數量彼此相符,具有最大值之指令數記器之計算模組,透 過記憶體控制單元105及20 5,命令同步控制覃开7(U,糸 了重新同步處理以產生重置指令給所以計==及二 (步驟207 )。 另一方面,未包括指示最大值之指令數計數器之所有
2132-5735-PFl(Nl).ptc 第21頁
ίΐϊΐ:行指令的延遲步驟調整處理,直到加入相同 1229791 -------案號 92117918 五、發明說明(18) 之』;d巧:;具有最大指令數計數值之計算模組 =:串執订狀悲(步驟208 )。其指令數計數值 令數知延遲步驟調整處理的完成至其指 ,冲數值為最大之計算模組(步驟20 9 ), 新處理的重置指令(步驟210)。 ㈣待重 入根據接收來自其指令數計數值為最大之計算模組的指 了同步控制單元7 0 4產生一重置信號以同時對所有瞀 模組10 0及200恢復同步操作。此外,單元7〇4在同時給插 斷控制單元7〇1 —指令,以允許插斷的產生,因此繼續 步以準備一般的操作。 第3圖係表示第2圖之步驟2〇8之詳細流程圖。 在延遲步驟調整處理(第2圖之步驟208)中,處理器 處於步驟執行模式,此步驟執行模式中,處理器在執行一 個指令後,轉換為處理管理模式(步驟3 〇 1 )。之後,處 理器轉換為標準執行模式(步驟30 2 )。 因此,在執行只有一個指令後(步驟3〇3 ),處理器 轉換為處理管理模式(步驟3〇4)。 處理器圖取本身之指令數計數器之值,以及比較本身 之讀取值與來自具有最大值之計算模組而所接收之指令數 值(步驟306 )。當他們彼此不一致時,處理器再次重複 步驟執行模式的處理(步驟301 ),且當他們彼此一致 時,完成延遲步驟調整處理。 前述之功能致能了,因為不變的錯誤以外之原因而具
2132-5735-PFl(Nl).ptc 第22頁 1229791 -----案號92117918’/ 年 月 日 條正_ 五、發明說明(19) 有鎖步脫離之計算模組之狀態,而與其他計算模組相符 a 。一般,當同步的缺乏首先藉由監控外部匯流排而發 現’既使在跳出狀態,跳出之程度足夠低以致於藉由執行 上述處理的數個步驟,以恢復執行相同指令串之狀態。因 此 其處理時間與傳統系統中’與所有記憶區被複製的狀 況比較下,大大地減少。 第4及5圖係表示在第1圖之重錯電腦系統架構中,重 新同步處理之第二操作之流程圖。
在此第二操作中,接收來自插斷控制單元7〇2之插斷 之處理器101、102、201及2 02,每一個皆執行第4圖說明 之重新同步處理,以校正在計算模組1〇〇及2〇〇中之操作 (跳出)誤差’及恢復相同指令串同步執行的狀態。 根據接收插斷,每一處理器1 〇 1、1 02、201及2 02轉換 為處理器管理模式,以重新同步處理,此重新同步處理 中’處理器内用以計算執行的指令數之指令數計數器失去 操作’且在標準操作下之程式計數器之值被保留且健存 (步驟401 )。
每一處理器101、102、201及2 0 2讀取自己擁有的指令 數汁數器值及指令計數器之保留值(步驟4 〇 2 ),且透過 記憶體控制單元丨05及2〇5以及内部系統聯絡控制單元 70 3,以傳送所讀取的值到其他計算模組(步驟4〇3)。 一 母處理斋1 0 1、1 0 2、2 0 1及2 0 2也透過記憶體控制單 兀1 0 5及2 0 5以及内部系統聯絡控制單元7〇3,讀取其他計 算模組中,處理器之指令數計數器值及指令計數器值(步
1229791 -月日 修不_ 五、發明說明(20) --- 驟4 04 )。每一處理器將自己的指令數計數器值,與在每 一計算模組中之對應之處理器之指令數計數器值做比較 (步驟405 )。 在此,當其他計算模組執行相等於延遲的指令以作為 比較結果時,包括其指令數計數器指示在所有處理器中最 九值之處理器之計算模組,實施排隊等候執行的處理(步 驟40 6 )。當執行的指令數與其他計算模組一致時,具有 最大值之指令計數器之計算模組透過記憶體控制單元〗〇 5 ,20 5命令同步控制單元7〇4,以產生重置指令以對所有計 算模組作重新同步處理(步驟4 〇 7 )。 另一方面。其指令數計數器值非為最大之所有計算模 組執行’執行指令之延遲步驟調整處理,直到與指示最大 值之指令數計數器值之計算模組數量相同之指令被執行 (步驟408 )。不具有最大值之指令數計數器之每一計算 模組’通知延遲步驟調整處理的完成給具有最大值之計算 模組(步驟4 0 9 ),之後等待重新同步處理之指令(步驟 410 )。 第5圖係表示第4圖中步驟4 0 8之詳細流程圖。 在上述之延遲步驟調整處理(第4圖之步驟4 08),處 理斋處於中斷點指定執行模式’此模式係在忙於一指定的 指令串中一特定位置之指令執行後,再次轉換處理器為處 理器管理模式。在此時間,如同指定的指令串中之特定位 置,指令位置被接收自具有最大值之指令數記器之計算模 組之程式計數器值所指示(步驟5 0 1 )。之後,處理器被
2132-5735-PFl(Nl).ptc 第24頁 1229791 曰 修正 ---一案號 92117918 五、發明說明(21) — 轉換為標準執行模式(步驟5 0 2 )。 因此,在執行忙於指定的指令串 後,即忙於在指令串中,盥呈有 特疋位置之指令 計算模組相同之位置後(;驟5 0 3取)大值,指令數計數器之 驟調整處理’以及再次轉換為處理哭^理器完成延遲步 )。 处理态官理模式(步驟504 第6圖係表示根據第一模式之容 作流程圖,其中更表示在第2及第二電腦?'第三操 數器比較處理之後的處理的另一例= ,扣令數計 第4圖之步驟40 5 )。 (弟2圖之步驟2 0 5及 所严示,處理中,具有指令數計數器最大值之 有ί大;”本身程式執行狀態(步驟6〇"後,呈 有取大值之計算模組等待來自其他 ^ 處理完成的通知(步驟602 ) 。 π、、、㈣、延遲步驟調整 另 方面’在藉由以任意上述方法式Η来g / 士 大之所有其他計算模組,讀取其本 , 悲(步驟702 )。每一其他計算模組將程式 ^執订狀 =驟調整處理完成的通知,傳送至其指令 恶哭值延 取大之計算模組(步驟703 ),並且之後等待數同。值為 理之重置指令(步驟7〇4 ) 。 4同ν處 具有指令數計數器最大值且已接收程式執 算模組,則比較所有計算模組之程式執行狀態(步:二叶 )具有指令數計數器最大值之計算模組在偵測到狀能一
2132-5735-PF2(Nl).ptc 第25頁 號 92117918 1229791 ^ 五、發明說明(22) _ 致的情況下,執行立即恢復處理之同 狀態::致之計算模組時,在執行只有Γ:老Γ貞測到其 之计异杈組之處理後(步驟6 0 ,呈右 考慮使之無效 大值之計算模組執行所有其他模缸^令數計數器最 (步驟6 0 5 )。 、、之恢復處理之操作 第6圖之處理内容致能了 ,接受在 可罪之處理器之鎖步同步容錯電腦驟執仃中不一定 行以不需要錯誤的處理钍士、、’ 且致能中斷點執 接著’第7圖係表干、;貫施本發明。 統。 夂式之容錯電腦系 第7圖中,根據本發明 ^ 算模組100、2 0 0及3 00,每一 ,系統,包括複數計 記憶體;複數周邊裝置抑岳卄异权組具有—處理器及一 _及8〇4以分別與周邊;置:= 2〇〇及3 0 0 )在彼此同步之時脈^异模組(100、 較每一計算模組之處理結地相同的指令串且比 錯誤,此處理會藉由維持計算;莫:而-計算模組有 元= ◦◦每邊裝置控制單 7 0 1、插斷控制單元7 〇 2 ,爪排監控器 研役制早兀70 2、内部系統聯絡控 同步控制單元704,更包括週邊雯件連接入市」兀703以及 係用以控制在每一呼管y邊牛連接"面橋接器7〇5, 护制簟开的、*拉汁""核、、且内與每一周邊裝置控制單元之 工早的連接,以及與途徑803及804的連接。 此外,本模式表示提供三個計算模組之結構,以及此
1229791 皇號92117_ 五、發明說明(23) m在本重,同步處理之詳細操作在第8及9圖中說明。第8 1 ’、义=上述第2圖之操作,在包括三個或更多的計瞀 程圖。除了G 糸統的情況下’所產生的操作流 二;數量不同外,處理的内容與第1及2 齡,特,的疋’在第8及9圖中之流程圖’根據接收插 \母:處,器轉換為處理器管理模式以重新同步,此模 1: 2算在處理器中執行的指令數之指令數計數器失 去刼作(步驟801 )。 然後,每一處理器讀取其本身的指令數計數器的值 /驟802),以及透過記憶體控制單元1〇5及2〇5以及週 Ϊ件連ft面橋接器705傳送所讀取的指令數計數器值 至其他計算模組(步驟8 q 3 )。 „„每一處理益也頊取其他計算模組中,透過記憶體控制 =元m及205以及週邊零件連接介面橋接謂5自其他計 ^模組所傳送之指令數計數器值(步驟804 )。每一處理 值(步驟805 )。 之對應之處理器之指令數計數器 在此,當其他計算模組執行相等於延遲的指令,以作 為指令數計數器值之比較結果時,包括其指令數計數器指 示在所有計數器中最大值之處理器之計算模組,實施排隊 等候執行的處理(步驟806 )。當所有計算模組100、200 以及300中執行的指令數彼此一致時,具有最大值之指令 計數器之計算模組透過記憶體控制單元丨05或205以及週邊
1229791 / —ι -- 92117918 '……年 月 日 倏正__ 五、發明說明(24) 零件連接介面橋接器705,命令同步控制單元7〇4,以產生 重置指令以對所有計算模組丨00、2〇〇以及3〇〇作重新同步 處理(步驟807 )。 另一方面。其指令數計數器值非為最大之所有計算模 組執行,執行指令之延遲步驟調整處理,直到與指示最大 值之扣令數计數斋值之計算模組之數量相同之指令被執行 (步驟808 )。不具有最大值之指令數計數器之每一計瞀 模組,通知延遲步驟調整處理的完成給二 ^ (步刪9),之後等待重新同步處理之指令值(之
復同接!指♦,同步控制單元704立即產生用以恢 V刼作之重置信號給所有計算模組100、20 0以及 斷控制里Α 早兀704在同一時間給插 =:早疋7〇2 一指令,以允許插斷的 同步化下準備標準操作。 口 ^隹繼續 圖。第9圖係表示第8圖中延遲步驟調整處理之詳細流程 在上述之延遲步驟調整處理 理器處於步驟執行模式,此模圖之步驟0^),處 理器轉換為處理器管理模式(牛在執仃一扣令後,處
被轉換為俨i袖Γ 式(步騍901)。之後,處理哭 将供马軚準執行模式(步驟902 )。 处毯师 因此’在只有執行一個指令後 轉換為處理器處理模式(步物^(/糊3),處理器 地里态5買取其本身的指令數 4数姦之值(步驟9〇5
1229791 / 修正 曰 i號 92ir^〗RH 五、發明說明(25) )由並且比較已由指示最大值之指令數計數器值之計 :桐啮戶f接收之指令數計數器之讀取值(步驟9 0 6 )。告、 處^ ”。 且*他們彼此一致時,完成延遲步驟調整 把攄=η不ΐ據本發明第三模式之容錯電腦系統。 ^ ^圖,除了資訊藉由匯流排監視器70 1傳送至及拉 收自每一计算模組,本模式的容錯電腦系統與第7圖 式相同,插斷控制單元702也透過週邊零件連接介面柊接 窃705執打,且也獲得與第8及9圖中相同操作之作用 在本發明之容錯電腦系統,用以執行重新同步處 每一單元之功能可以藉由硬體,或是藉由載入執行前= 一单兀功能之同步處理程式1 000至計算處理裝置之 ^母 以控制計算處理裝置而明朗。此同步處理程式1 0 0 0儲=體 磁碟、半導體記憶體或其他紀錄媒介,且自紀錄媒 入至計算處理裝置,以控制算處理裝置之操作,因載 每一上述功能。 錢現 雖然本發明在前面以涉及實施之最佳模式而敘 發明不須限制實施之上述模式,但可在其技術概冬圖本 之不同形式而實現。 心祀固内 無關於計算模組之數量為兩個或是三個或是更夕 發明可透過前述之架構及操作來完全達到相同^作=i本 此外,在每一計算模組之處理器的數量,並沒 。 制,且一個處理器之結構以及三個或是更多處理ς的: 2132-5735-PFl(Nl).ptc 第29頁 1229791 心 厂/ 修正 日 -----^M^J2117918 I、發明說明(26) ------- 構,以完全相同的方法提供。 為處理器公用—外再者,雖然本上述每一模式 既不是複數處理器以三^椤柊^連接至相同匯流排,例如 結構,也不是形成 r rf耦接至記憶體控制單元之 數板士;構造,i影響地放置在之處理器複 元,例:匯算模組及重新同步之相關單 件可提供於週邊裝^ 封这些兀件。另外,這些元 擇-地’用以重新同;或是形成於專用板。二者 匯,排監視器可以透過週邊4=;他對應之單元,如 之糕準介面而連接,:接7丨面及其他如PCI_X 同與上土相同之作用。者措由非標準之專用介面裝置以或 如前面所敘述,太 第一個效果e岛A毛明獲得以下效果。 當由於其他產生^ ^ =在容錯電腦系統之某一 1管 一 王不變的錯謀,二朴、 叶异扠組, 短暫n?内,此計算模組復:步狀態,在非常 理由是,在跳出產斗设原至鎖步狀態。 模組之記憶體依然m期間’當在每一計算 ':-處理器,以優先執:的;致用匯流排監控器產生插斷 串之,務’因此不需複:體丁=制重新同步之指令 第二個效果是改盖:己f思體而重新同步。 :,當脫離鎖步狀態:的可利用性。理由 時間而大大地減少。’、、、暫分訏間可以藉由加速重整 本毛月雖以較佳實施例揭露如上, _____ 、異並非用以限定 2132-5735-PF2(Nl).ptc 第30頁 1229791 案號 92117918 正替換 曰 修正 五、發明說明(27) 本發明的範圍,任何熟習此項技藝者,在不脫離本發明之 精神和範圍内,當可做些許的更動與潤飾,因此本發明之 保護範圍當視後附之申請專利範圍所界定者為準。
2132-5735-PFl(Nl).ptc 第31頁 1229791 案號 92117918 9a 9, 月 曰 修正 圖式簡單說明 為使本發明之上述目的、特徵和優點能更明顯易懂’ 下文特舉一較佳實施例,並配合所附圖式,作詳細說明如 下: 圖示說明: 第1圖表示本發明之第一模式之容錯電腦系統之結構 方塊圖。 第2圖表示根據第一模式之容錯電腦系統中第一操作 之流程圖。 第3圖表示第2圖中步驟2 0 8之詳細流程圖。
第4圖表示容錯電腦系統中第二操作之流程圖。 第5圖表示第4圖中步驟408之詳細流程圖。 第6圖表示容錯電腦系統中之第三操作流程圖。 第7圖表示本發明之第二模式之容錯電腦系統之結構 方塊圖。 第8圖表示根據第二模式之容錯電腦系統之操作流程 圖。 第9圖表示根據第二模式之容錯電腦系統之操作流程 圖。 第1 0圖表示根據第三模式之容錯電腦系統之結構方塊
圖。 符號說明: 1 0 0、2 0 0、3 0 0〜計算模組; 7 0 0〜偵錯器; 1 0 4、2 0 4、3 0 4〜記憶體; 7 0 1〜匯流排監視器; 7 0 3〜内部系統聯絡控制單元;7 0 2〜插斷控制單元;
2132-5735-PFl(Nl).ptc 第32頁 1229791 案號92117918 U 一 1年 月 曰 修正 圖式簡單說明 … 1000〜重新同步處理程式; 704〜同步控制單元 400、500〜週邊裝置控制單元; 705〜週邊零件連接介面橋接器; 105、205、30 5〜記憶體控制單元; 1 0 3、2 0 3、3 0 3〜處理器外部匯流排; 800、801〜週邊零件連接介面匯流排; 101 、102、201 、202、301 、302 〜處理器。
2132-5735-PFl(Nl).ptc 第33頁

Claims (1)

1229791 92117918 六、申請專利範圍
1 · 一種鎖步同步容錯電腦系統,包括複數計算模組, 且每一該計算模組,具有一處理器及一記憶體,並與其他 該等計算模組同步處理相同之指令串,其中 當偵测到在每一該計算模組之該等處理器中,對一外 部匯流排的存取狀態不一致時,假使在包括每一該計算模 組之该系統中沒有偵測到錯誤,在產生插斷至所有該等處 理器執行使該等計算模組中指令執行之狀態達到一致 之延遲調整後,以相關之每一該計算模組來執行恢復同步 操作之處理。 : 2 ·如申請專利範圍第1項所述之容錯電腦系統,更包
括· 一偵錯器,用以監控該系統中錯誤之存在或不存在; 〇匯机排監控器,用以監控在每一該計算模組之該處 理器對該外部匯流排之存取; “ 一插斷控制裝置,在該匯流排監控器偵測到每一該計 :算模組之每一該處理器對該外部匯流排之存取狀態中,同 ^步缺乏之情況下,當該偵錯器無偵測錯誤時,產^用以通 知债測結果之插斷給每一該處理器;
統聯絡控制裝置,叙接於每一該計算模組, ^ °母一該計算模組之該等處理器中指令執行之狀 一,步控制裝置,耦接於每一該計算模袓, 一该计异模組中指令執行之狀態達 恢復所有該等計算模組之操作。 之n周正後
1229791 夏 ------- 92Π7918 ; 六、申請專利範圍 3 ·如申請專利範圍第2項所述之容錯電腦系統,盆 中, ’、 每—該處理器包括一指令數計數器,用以計算在該虛 執行的指令數量,當該等處理器接收來自該插斷 =置之插斷,以及轉換為重新同步之處理器管理模式 % ^令數計數器、失去作用; 、 自其比較自己擁有之!旨令數計數器值與接收 值; 、计异杈組之每一對應之處理器之指令數計數器 算模組^實ί i模組中未具有指令數計數器最大值之該計 與最大指令數斗1丁指令之延遲調整,直到指令數計數器值 指令數計數器2數器值一致,且當指令數計數器值與最大 指令數計數哭 致時,送出通知至包括指示最大值之該 旦古托w之該計算模組,以及 自所有其他兮數器最大值之該計算模組,等待接收來 命令該同步控制ί昇模組之通知,且當接收到所有通知, 同步之操作之一 ^置產生導致所有該等處理模組恢復彼此 4如申咬重置信號。 中, 明專利範圍第3項所述之容錯電腦系統,其 在延遲調整φ Β ^ 計算模組執行指八,,、有非為最大之指令數計數器值之該 計數器值一致,7 ,直到指令數計數器值與最大之.指令數 该處理器處於 一步驟執行模式,以在執行一 個指令
1229791 修正 曰 六、申請專利 / ^ 好^叫~***纪*^一知*·.,〜”丨·丨」 J;為處理器管理模式,以及 計”“1;:;;::==處理’直到指令數 中, 申明專利靶圍第2項所述之容錯電腦系統,其 接收來自該插斷控制 轉換成為了重新间牛♦置插所之母一該處理器, 處理中,用以外二二=理之處理15管理模式,在重新同步 數器失去作用:处理為中所執行的指令數之指令數計 ^ /用’且保留並儲存程式計數器值; 及保留之程2 4二==母一該處理器之指令數計數器值以 算模組;式计數裔值,並傳送該等值至所有其他該等計 -+管^ 一該處理器比較指令數計數器值與接收自其他該等 计π杈^之,處理器之指令數計數器值; t具有最大之該指令數計數器值之該計算模組,實施 1亍心:之延遲調整,直到指令數計數器值與最大之指令 外十^$值一致’以及當指令數計數器值與最大之指令數 f ί器值一致時,送出通知給包括指示最大值之指令數計 數器之該計算模組,以及 y 包括指示最大值之該指令數計數器之該計算模組,等 待接收來自所有其他該等計算模組之通知,且當接收所有 通知%’命令該同步控制骏置產生導致所有該等處理模組 恢復彼此同步之操作之一重置信號。 、 6·如申請專利範圍第5項所述之容錯電腦系統,其 第36頁 2132-5735-PF2(Nl).ptc
1229791 -------_ 案號 92117918 /、、申凊專利範圍 中, 該呼Ϊ延遲調整中,具有非為最大之該指令數計數器值之 ^ σ昇模組執行指令,直到指令數計數器值與最大 数叶數器值一致, 7 邊處理器處於中斷點指定執行模式,以在指定指令串 丁特定位置上執行一個指令後,轉換為該處理器管理模 之扣如在指令串中該特定位置’藉由來自包括指示最大值 9々數计數态之该計算模組之該程式叶數器而指 令位置被指定,以及 之1曰 在執行於指定指令串中該特定位置之指令串後,該處 理器轉換為處理器管理模式。 & 7 ·如申請專利範圍第3項所述之容錯電腦系統,j: 中, '、 、 在具有該指令數計數器最大值之該計算模組讀取其程 式執行狀態後,等待來自其他該等計算模組之通知; 在該指令數計數器非為最大值之所有其他該等計算模 組執行該延遲調整處理後,讀取其程式執行狀態,以=^ 运該等程式執行狀態及延遲調整處理完成之通知至具有於 令數計數器最大值之該計算模組,以及 曰 包括該指令數計數器最大值之該計算模組比較所有誃 荨計算模組之程式執行狀態,且當彼此一致時,命令用= ,^同步操作之該重置信號之產生,以及當偵測到程式執 行模式不一致之該計异模組,在執行中斷處理及使該計管
月一 曰 修」 杈組無效後,命令用以恢復同夕操作之該重置信號之 生。 I 8·如申請專利範圍第2項所述之容錯電腦系統,其 壯提供複數對該偵錯器、該匯流排監控器、該插斷 衣、该内部系統聯絡控制装置以及該同步控制裝置=| 9. 種用在一鎖步同步容错電細糸統之重新同步方 去」,鎖步同步容錯電腦系統具有複數計算模組,且一 ί ^异模組,具有一處理器及〆記憶體,並與其他該等外 异核組同步處理相同之指令串,包括下列步驟·· 冲 當偵測到對分別在每一該計算模組之該等處理器中 :1卜部匯流拂所存取之狀態不,致時,如果在包括每—亥 ί ί模ί ί系統内無偵測到錯誤,產生插斷於所有該等^ &在執打為了達到在該等計算模組中一致之指令執行狀 〜^I遲凋整後,執行與每一該計算模組同步之恢復操作 之處理。 、 φ ^ ·如申明專利範圍第9項所述之用在一鎖步同步容錯 電恥糸統之重新同步方法,更包栝下列步驟: ,測在,系統内之錯誤之存在或不存在; 監控在每〜該算模組内之該處理器對該外部匯流排之 存取狀態; 田偵測到對分別在每一該計算模組之該等處理器中之 一夕部匯流排所存取之狀態不/致時,如果内無偵測到錯
2132-5735-PF2(Nl).ptc 第38買 案號 92117918 曰
丨年I 1229791 六、申請專利範圍 誤,產生用以通知禎測結果之插斷至所有該等處理器,以 及 如 在執行為了達到在該等計算模組中一致之指令執行狀 態之延遲調整後,產生一重置信號,其f該重置信號係用 以執行所有該等計算模組同步之恢復操作之處理。 n.如申請專利範圍第1 〇項所述之用在一鎖步同步容 錯電腦系統之重新同步方法,更包括下列步驟: 每一該處理器接收為了重新同步處理而用以轉換為一 處理官理模式之插斷,在重新同步處理中,該處理哭2 以計算所執行之指令數量之一指令數計數器失去作用· 每一該處理器比較所讀取之指令數計數器值鱼 其他該等計算模組内之每一該處理器之指令數計^器值; ^ t有最大之該指令數計數器值之該計算模組了施 ,仃私々之延遲調整,直到指令數器沪 十數器值…以及當指令數計數器值與最 數器之該計算模組,以及 符相丁取穴值之扣令數計 包括指不隶大值之兮八 待接收來自所有其㈣計數11之該計算模组,等 通知時,產生導致所;:=拉組之通知,且當接收所有 之該重置信號。 Μ寺处理模組恢復彼此同步之操作 1 2·如申請專利範圍第1 1項所、十、m , 錯電腦系統之重新同步方、去,、述之用在一鎖步同步容 在延遲調整中,ί有非為ί二, 与取大之該指令數計數器值之
2132-5735-PF2(Nl).ptc 第39頁 曰 ,、,r睛寻刊範圍 --- f計算模纽執行指令,直到指令數計數器值 數計數器值一致; /、取大之指令 個指令後, 直到指令數 該處理器處於步驟執行模式,以在執行 轉換為該處理器管理模式,以及 ^ ,等處理器重複該步驟執行模式之處理 计數器值與最大之指令數計數器值一致。 一 1 3·如申請專利範圍第丨〇項所述之用在— 錯電腦系統之重新同步方法,其中, 、ν δ步容 接收該插斷之每一該處理器,轉換成為了 理之處理器管理模式,在重新同梦處理中,用步處 處理器中所執行的指令數之一指令數計數哭计弃在該 保留並儲存一程式計數器值; 时失去作用,且 每一該處理器讀取每一該主裡器之指令數 及保留之該程式計數器值,並傳送該等值 裔值以 計算模組; 王所有其他該等 每一該處理器比較指令數計數器值舆 計算模組之該處理器之指令數計數器值; 八該等 未具有最大之該指令數計數器值之該 — 執行指令之延遲調整,直到指令數計數器值= 數計數器值-&,以及當指令數計數器值與最 汁數器值一致時,送出通知給包括指 =7 計數器之該計算模組,以及 取大值之該指令數 待接Ϊ = ίϊ值之該指令數計數器之該計算模組,等 ’接收末自所有其他該等計算模組之通知,且當接收所有
2132-5735-PF2(Nl).ptc 第40頁
1229791 案號 92117918 丨^麟^ ί泰 27 月修正__ — 六、申請專利範圍 通知時,命令談同步控制裝置虞生導致所有該等處理模組 恢復彼此同步之操作之該重置信據。 1 4 ·如申請專利範圍第1 3項所述之用在一鎖步同步容 錯電腦系統之重新同步方法,其中’ 在延遲調整中,具有非為最Λ之該指令數計數器值之 該計算模組執行指令,直到指令數计數器值與最大之指令 數計數器值一致, 該處理器處於一中斷點指定執行模式’以在指定指令 串中一特定位置上執行一個指令後’轉換為處理器管理模 式;
如在指令串中該特定位置,籍由來自包括指示最大值 之指令數計數器之該計算模組之该程式計數器而指示之指 令位置被指定,以及 在執行於指定指令串中該特定位置之指令串後,該處 理器轉換為該處理器管理模式。 1 5 ·如申請專利範圍第11頊戶斤述之用在一鎖步同步容 錯電腦系統之重新同步方法,其中’ 在具有該指令數計數器最Λ值之該計算模組讀取其程 式執行狀態後,等待來自其他該等計异模組之該通知;
在該指令數計數器非為最Λ值之所有其他該等計算模 組執行該延遲調整處理後,讀取其程式執行狀態,以及傳 送該等程式執行狀態及延遲調整處理完成之通知至具有指 令數計數器最大值之該計算模錐,以及 具有該指令數計數器最大值之違汁异模組比較所有該
2132-5735-PF2(Nl).pt 第41貢 92117918
1229791 案 六、申請專利範圍 等計算模組之程式執行狀態,真當彼此〜致時,命令用以 恢復同步操作之該重置信^之康生,以及當偵測到程式執 行模式不一致之該計算模組^,在執行中%處理及使該計算 模組無效後,命令用以恢復同少梯作之礒重置信號之產 生。 1 6. —種儲存媒體,儲存一重新同步程式,用以執行 一鎖步同步容錯電腦系統之重新同少處理,該鎖步同步容 錯電腦系統具有複數計算模組,真每一該計算模組,具有 一處理器及一記憶體,並與其他该等什弄模組同步處理相 同之指令串,包括以下功能: 當偵測到對分別在每一該計算模組之該等處理器中之 一外部匯流排所存取之狀態不/致時,如果在包括每一該 計算模組之該系統内無偵測到鍺誤’產生插斷至所以該等 處理;以及 在執行用以達成在該等計算模組中指令執行狀態一致 之延遲調整後,導致每一該處癦器重新開始同步操作。 1 7.如申請專利範圍第丨6項所述之儲存媒體,更包括 下列功能: 偵測在該系統内之錯誤之存在或不存在; 存取ί ί在每—該算模組内之該處理器對該外部匯流排之 ^貞=到對分別在每一該計算模組之該等處理器中之 $,產+用w、s取狀心不一致枯,如果内無偵測到錯 產生用乂通知偵測結果之插斷至每一該處理器,以及
At 在執行為了達到在該等計算模組中—致之指令執行狀 態之延遲調整後,產生一重置信號,其中該重置信號係用 以執行所有該等計算模組同步之恢復操作之處理。/、 2 ·如申請專利範圍第1 7項所述之儲存媒體,包括·· 每一該處理器接收為了重新同步處理,而用以轉· 一處理管理模式之插斷,其中,在重新同步處理中,兮: 作^之用以計算所執行之指令數量之一指令數計數器失去 每 其他該 未 執行指 數計數 計數器 數器之 包 待接收 通知時 之該重 19 在 該計算 數計數 該 一該處理器比較所讀取之指令數計數器值舆來自在 專u十异模組内之每一該處理器之指令數計數哭值· 具有最大之該指令數計數器值之該計算模組,實施 令之延遲調整,直到指令數計數器值與最大之^ = 器值一致,以及當指令數計數器值與最大之指 值一致時,送出通知給包括指示最大值之指令^ 該計算模組,以及 括指示最大值之該指令數計數器之該計算模組,等 來自所有其他該等計算模組之通知,且當接收所有 產生$致所有該專處理模組恢復彼此同步之操作 置信號。 •如申請專利範圍第1 8項所述之儲存媒體,包括: =遲調整中,具有非為最大之該指令數計數器值之 杈組執行指令,直到指令數計數器值與最大之指八 器值一致; 、 曰7 處理器處於一步驟執行模式,以在執行一個指令
Afe 9211791R 六、申請專利範圍 後,轉換為該處理器營理模式 曰 修正 以及 ,數器重複該步驟執行模式之處理,直到指令數 计數為值與联大之指令數計數器值一致。 如^申請專利範圍第18項所述之儲存媒體,包括: ^彳遠插斷之每—該處理器,轉換成為了重新同步處 之一處理器管理模式,在該重新同步處理中,用 在該處理器中所執行的指令數之指令數計數器失去作用了 且保留並儲存一程式計數器值; 每一該處理器讀取每一該主裡器之指令數計數器值以 及保留之該程式計數器值,並傳送該等值至所有其他該等 計算模組; 八 "
每一該處理器比較指令數計數器值與接收自其他該等 計算模組之該處理器之指令數計數器值; / 未具有最大之該指令數計數器值之該計算模組,實施 執行指令之延遲調整,直到指令數計數器值與最大之^令 數計數器值一致,以及當該等值一致時,送出通知給^括 指示最大值之指令數計數器之該計算模組,以及 包括指示最大值之該指令數計數器之該計算模組,等 待接收來自所有其他該等計算模組之通知,且當接收所有 通知時,命令該同步控制裝置產生導致所有該等處理模組 恢復彼此同步之操作之該重置信號。 、
2 1 ·如申請專利範圍第2 0項所述之儲存媒體,包括·· 在延遲調整中,具有非為最大之指令數計數器值之該 計算模組執行指令,直到指令數計數器值與最大之指令數
2132-5735-PF2(Nl).ptc
1229791—魏 921j^ 六、申請專利範園 獻 申請專利範園 計數器值〆致, 该處理為處於一中斷點私〜 ,+ t ^ ^ 〜 T辦知定執行模式,以在沪A 1 ::了特定位置上執行一個指令後,轉換為該處; 如在指令串中該特定位置 之指令數計數器之該計算模組 令位置被指定’以及 w /|、取X崔 之該程式計數器而指示之拍 之指令串 在該處理器執行於指定指令串中該特定位置 後,轉換該處理器為該處理器管理模式。 2 2 ·如申請專利範圍第2 〇項所述之儲存媒體,其中, 在具有4曰令數計數器最大值之該计鼻核組%取其程式 執行狀態後,等待來自其他該等計算模組之該通知; 在具有該指令數計數器最大值之所有其他該等計算模 組執行該延遲調整處理後,讀取其程式執行狀態,以及傳 送該等程式執行狀態及延遲調整處理完成之通知至具有指 令數計數器最大值之該計算模組,以及 具有指令數計數器最大值之該計算模組比較所有該等 計算模組之程式執行狀態,且當彼此一致時,命令用以恢 復同步操作之該重置信號之產生,以及當偵測到程式執行 模式不一致之該計算模組,在執行中斷處理及使該計算模 組無效後,命令用以恢復同步操作之該重置信號之產生。
2132-5735-PF2(Nl).ptc 第45頁
TW92117918A 2002-07-12 2003-07-01 Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof TWI229791B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002204167A JP2004046599A (ja) 2002-07-12 2002-07-12 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム

Publications (2)

Publication Number Publication Date
TW200401186A TW200401186A (en) 2004-01-16
TWI229791B true TWI229791B (en) 2005-03-21

Family

ID=38834973

Family Applications (1)

Application Number Title Priority Date Filing Date
TW92117918A TWI229791B (en) 2002-07-12 2003-07-01 Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof

Country Status (9)

Country Link
US (1) US7107484B2 (zh)
EP (1) EP1380953B1 (zh)
JP (1) JP2004046599A (zh)
KR (1) KR100566338B1 (zh)
CN (1) CN1521625A (zh)
AU (1) AU2003208129A1 (zh)
DE (1) DE60302184T2 (zh)
ES (1) ES2248686T3 (zh)
TW (1) TWI229791B (zh)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155721B2 (en) * 2002-06-28 2006-12-26 Hewlett-Packard Development Company, L.P. Method and apparatus for communicating information between lock stepped processors
US7085959B2 (en) * 2002-07-03 2006-08-01 Hewlett-Packard Development Company, L.P. Method and apparatus for recovery from loss of lock step
DE102004032405A1 (de) * 2004-07-03 2006-02-09 Diehl Bgt Defence Gmbh & Co. Kg Weltraum-taugliche Rechnerarchitektur
US7669027B2 (en) 2004-08-19 2010-02-23 Micron Technology, Inc. Memory command delay balancing in a daisy-chained memory topology
US7624302B2 (en) * 2004-10-25 2009-11-24 Hewlett-Packard Development Company, L.P. System and method for switching the role of boot processor to a spare processor responsive to detection of loss of lockstep in a boot processor
US7366948B2 (en) * 2004-10-25 2008-04-29 Hewlett-Packard Development Company, L.P. System and method for maintaining in a multi-processor system a spare processor that is in lockstep for use in recovering from loss of lockstep for another processor
US7356733B2 (en) * 2004-10-25 2008-04-08 Hewlett-Packard Development Company, L.P. System and method for system firmware causing an operating system to idle a processor
US7502958B2 (en) * 2004-10-25 2009-03-10 Hewlett-Packard Development Company, L.P. System and method for providing firmware recoverable lockstep protection
ATE420403T1 (de) * 2004-10-25 2009-01-15 Bosch Gmbh Robert Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
US7516359B2 (en) * 2004-10-25 2009-04-07 Hewlett-Packard Development Company, L.P. System and method for using information relating to a detected loss of lockstep for determining a responsive action
US7818614B2 (en) * 2004-10-25 2010-10-19 Hewlett-Packard Development Company, L.P. System and method for reintroducing a processor module to an operating system after lockstep recovery
US20060107116A1 (en) * 2004-10-25 2006-05-18 Michaelis Scott L System and method for reestablishing lockstep for a processor module for which loss of lockstep is detected
US7627781B2 (en) * 2004-10-25 2009-12-01 Hewlett-Packard Development Company, L.P. System and method for establishing a spare processor for recovering from loss of lockstep in a boot processor
US7308566B2 (en) * 2004-10-25 2007-12-11 Hewlett-Packard Development Company, L.P. System and method for configuring lockstep mode of a processor module
JP4182486B2 (ja) * 2004-12-20 2008-11-19 日本電気株式会社 フォールト・トレラント・コンピュータ・リセット方法及びそのシステム
JP4117684B2 (ja) * 2004-12-20 2008-07-16 日本電気株式会社 フォルトトレラント・二重化コンピュータシステムとその制御方法
JP2006178636A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントコンピュータ、およびその制御方法
JP4182948B2 (ja) * 2004-12-21 2008-11-19 日本電気株式会社 フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法
US8826288B2 (en) * 2005-04-19 2014-09-02 Hewlett-Packard Development Company, L.P. Computing with both lock-step and free-step processor modes
US7590885B2 (en) * 2005-04-26 2009-09-15 Hewlett-Packard Development Company, L.P. Method and system of copying memory from a source processor to a target processor by duplicating memory writes
US7549082B2 (en) * 2005-04-28 2009-06-16 Hewlett-Packard Development Company, L.P. Method and system of bringing processors to the same computational point
US8103861B2 (en) * 2005-04-28 2012-01-24 Hewlett-Packard Development Company, L.P. Method and system for presenting an interrupt request to processors executing in lock step
US7426614B2 (en) * 2005-04-28 2008-09-16 Hewlett-Packard Development Company, L.P. Method and system of executing duplicate copies of a program in lock step
US7730350B2 (en) * 2005-04-28 2010-06-01 Hewlett-Packard Development Company, L.P. Method and system of determining the execution point of programs executed in lock step
US7747932B2 (en) * 2005-06-30 2010-06-29 Intel Corporation Reducing the uncorrectable error rate in a lockstepped dual-modular redundancy system
US8527741B2 (en) * 2005-07-05 2013-09-03 Viasat, Inc. System for selectively synchronizing high-assurance software tasks on multiple processors at a software routine level
CA2614330A1 (en) * 2005-07-05 2007-01-11 Viasat, Inc. Synchronized high-assurance circuits
US7802075B2 (en) * 2005-07-05 2010-09-21 Viasat, Inc. Synchronized high-assurance circuits
US8190877B2 (en) * 2005-07-05 2012-05-29 Viasat, Inc. Trusted cryptographic processor
US8701091B1 (en) 2005-12-15 2014-04-15 Nvidia Corporation Method and system for providing a generic console interface for a graphics application
US7496786B2 (en) * 2006-01-10 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining lock step operation
US8452981B1 (en) * 2006-03-01 2013-05-28 Nvidia Corporation Method for author verification and software authorization
US7891012B1 (en) * 2006-03-01 2011-02-15 Nvidia Corporation Method and computer-usable medium for determining the authorization status of software
US8436864B2 (en) * 2006-08-01 2013-05-07 Nvidia Corporation Method and user interface for enhanced graphical operation organization
US8963932B1 (en) 2006-08-01 2015-02-24 Nvidia Corporation Method and apparatus for visualizing component workloads in a unified shader GPU architecture
US8436870B1 (en) 2006-08-01 2013-05-07 Nvidia Corporation User interface and method for graphical processing analysis
US7778800B2 (en) * 2006-08-01 2010-08-17 Nvidia Corporation Method and system for calculating performance parameters for a processor
US8607151B2 (en) * 2006-08-01 2013-12-10 Nvidia Corporation Method and system for debugging a graphics pipeline subunit
JP4822000B2 (ja) * 2006-12-12 2011-11-24 日本電気株式会社 フォールトトレラントコンピュータ
FR2912526B1 (fr) * 2007-02-13 2009-04-17 Thales Sa Procede de maintien du synchronisme d'execution entre plusieurs processeurs asynchrones fonctionnant en parallele de maniere redondante.
WO2008120352A1 (ja) 2007-03-29 2008-10-09 Fujitsu Limited 情報処理装置、エラー処理方法
US7797575B2 (en) * 2007-04-04 2010-09-14 International Business Machines Corporation Triple voting cell processors for single event upset protection
US8296738B1 (en) 2007-08-13 2012-10-23 Nvidia Corporation Methods and systems for in-place shader debugging and performance tuning
US9035957B1 (en) 2007-08-15 2015-05-19 Nvidia Corporation Pipeline debug statistics system and method
US7765500B2 (en) * 2007-11-08 2010-07-27 Nvidia Corporation Automated generation of theoretical performance analysis based upon workload and design configuration
US8004962B2 (en) * 2007-12-24 2011-08-23 At&T Intellectual Property I, L.P. Method and system of addressing a problem associated with a network including a video access ready device
JP5206009B2 (ja) * 2008-02-18 2013-06-12 日本電気株式会社 フォルトトレラントコンピュータ、同期制御方法、及びプログラム
JP5181762B2 (ja) * 2008-03-25 2013-04-10 富士通株式会社 分散処理を実行する演算装置とサーバおよび分散処理方法
US8448002B2 (en) * 2008-04-10 2013-05-21 Nvidia Corporation Clock-gated series-coupled data processing modules
JP5147586B2 (ja) * 2008-07-30 2013-02-20 株式会社日立製作所 ストレージ装置及びその制御方法
JP5347414B2 (ja) * 2008-10-03 2013-11-20 富士通株式会社 同期制御装置,情報処理装置及び同期管理方法
US8090984B2 (en) * 2008-12-10 2012-01-03 Freescale Semiconductor, Inc. Error detection and communication of an error location in multi-processor data processing system having processors operating in Lockstep
US8171328B2 (en) * 2008-12-31 2012-05-01 Intel Corporation State history storage for synchronizing redundant processors
DE102009000045A1 (de) * 2009-01-07 2010-07-08 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Steuergerätes
JP5604799B2 (ja) * 2009-03-06 2014-10-15 日本電気株式会社 フォールトトレラントコンピュータ
WO2010103562A1 (ja) * 2009-03-09 2010-09-16 富士通株式会社 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム
CN101859330B (zh) * 2009-04-09 2012-11-21 辉达公司 验证集成电路效能模型的方法
US7979746B2 (en) * 2009-04-27 2011-07-12 Honeywell International Inc. Dual-dual lockstep processor assemblies and modules
JP4911372B2 (ja) * 2009-10-06 2012-04-04 日本電気株式会社 Cpu再リセットを伴うcpu再初期化時におけるタイムアウト防止方法、その装置及びそのプログラム
JP2011090553A (ja) * 2009-10-23 2011-05-06 Nec System Technologies Ltd 情報処理装置、同期制御方法およびプログラム
JP5174784B2 (ja) * 2009-11-06 2013-04-03 株式会社日立製作所 処理装置、処理制御システム、およびその制御方法
US8392750B2 (en) * 2010-02-16 2013-03-05 Hewlett-Packard Development Company, L.P. Method and apparatus for crash recovery and resynchronization
CN102822807B (zh) 2010-03-23 2015-09-02 大陆-特韦斯贸易合伙股份公司及两合公司 控制计算机系统及其控制方法和使用
EP2550598A1 (de) 2010-03-23 2013-01-30 Continental Teves AG & Co. oHG Redundante zwei-prozessor-steuerung und steuerungsverfahren
US8499193B2 (en) * 2010-07-30 2013-07-30 Honeywell International Inc. Integrated dissimilar high integrity processing
CN102231125B (zh) * 2011-05-16 2013-02-27 铁道部运输局 临时限速服务器的安全通信机平台
JP5699057B2 (ja) * 2011-08-24 2015-04-08 株式会社日立製作所 プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス
JP6098778B2 (ja) * 2012-03-29 2017-03-22 日本電気株式会社 冗長化システム、冗長化方法、冗長化システムの可用性向上方法、及びプログラム
US9323315B2 (en) 2012-08-15 2016-04-26 Nvidia Corporation Method and system for automatic clock-gating of a clock grid at a clock source
JP6069951B2 (ja) * 2012-08-23 2017-02-01 日本電気株式会社 フォールトトレラントコンピュータシステム、フォールトトレラントコンピュータシステムの起動方法およびフォールトトレラントコンピュータシステムの起動プログラム
US8850371B2 (en) 2012-09-14 2014-09-30 Nvidia Corporation Enhanced clock gating in retimed modules
US9342358B2 (en) * 2012-09-14 2016-05-17 General Electric Company System and method for synchronizing processor instruction execution
JP5700009B2 (ja) 2012-09-18 2015-04-15 横河電機株式会社 フォールトトレラントシステム
US9519568B2 (en) 2012-12-31 2016-12-13 Nvidia Corporation System and method for debugging an executing general-purpose computing on graphics processing units (GPGPU) application
US9471456B2 (en) 2013-05-15 2016-10-18 Nvidia Corporation Interleaved instruction debugger
JP6337676B2 (ja) 2014-07-29 2018-06-06 富士通株式会社 情報処理システム及び方法
CN104484299B (zh) * 2014-12-05 2017-12-22 中国航空工业集团公司第六三一研究所 一种松耦合的Lockstep处理器系统
WO2016132432A1 (ja) * 2015-02-16 2016-08-25 三菱電機株式会社 プロセッサ及びマイクロコンピュータ
TWI571712B (zh) * 2015-10-29 2017-02-21 行政院原子能委員會核能研究所 多重容錯控制系統及其同步方法
JP6853162B2 (ja) * 2017-11-20 2021-03-31 ルネサスエレクトロニクス株式会社 半導体装置
FR3108993A1 (fr) * 2020-04-07 2021-10-08 Airbus Operations Procédé et système de synchronisation d’unités de calcul d’un aéronef.
CN112291029B (zh) * 2020-11-02 2024-05-28 温州大学 一种系统同步方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3235762A1 (de) 1982-09-28 1984-03-29 Fried. Krupp Gmbh, 4300 Essen Verfahren und vorrichtung zur synchronisation von datenverarbeitungsanlagen
US5020024A (en) 1987-01-16 1991-05-28 Stratus Computer, Inc. Method and apparatus for detecting selected absence of digital logic synchronism
AU616213B2 (en) 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
JPH04247531A (ja) 1991-02-04 1992-09-03 Fujitsu Ltd 障害検出方式
DE4104114C2 (de) 1991-02-11 2000-06-08 Siemens Ag Redundantes Datenverarbeitungssystem
DE69435090T2 (de) 1993-12-01 2009-06-10 Marathon Technologies Corp., Stow Rechnersystem mit Steuereinheiten und Rechnerelementen
US5915082A (en) * 1996-06-07 1999-06-22 Lockheed Martin Corporation Error detection and fault isolation for lockstep processor systems
JPH10326199A (ja) 1997-05-27 1998-12-08 Yaskawa Electric Corp デュアルシステムにおける割込同期装置
US5896523A (en) 1997-06-04 1999-04-20 Marathon Technologies Corporation Loosely-coupled, synchronized execution
US6289022B1 (en) * 1997-10-21 2001-09-11 The Foxboro Company Methods and systems for fault-tolerant data transmission
EP1029267B1 (en) * 1997-11-14 2002-03-27 Marathon Technologies Corporation Method for maintaining the synchronized execution in fault resilient/fault tolerant computer systems
US6256753B1 (en) * 1998-06-30 2001-07-03 Sun Microsystems, Inc. Bus error handling in a computer system
US6980617B1 (en) * 2000-11-15 2005-12-27 Advantest Corporation Reception data synchronizing apparatus and method, and recording medium with recorded reception data synchronizing program
US6779128B1 (en) * 2000-02-18 2004-08-17 Invensys Systems, Inc. Fault-tolerant data transfer
IES20010397A2 (en) * 2000-07-06 2002-02-06 Richmount Computers Ltd Performance monitoring in a storage enclosure
JP2002049501A (ja) 2000-08-04 2002-02-15 Nippon Telegr & Teleph Corp <Ntt> 耐故障性システム及びその故障切り分け方法
US20030163769A1 (en) * 2002-02-27 2003-08-28 Sun Microsystems, Inc. Memory module including an error detection mechanism for address and control signals
US6931568B2 (en) * 2002-03-29 2005-08-16 International Business Machines Corporation Fail-over control in a computer system having redundant service processors
US6948091B2 (en) * 2002-05-02 2005-09-20 Honeywell International Inc. High integrity recovery from multi-bit data failures
JP2004046455A (ja) * 2002-07-10 2004-02-12 Nec Corp 情報処理装置

Also Published As

Publication number Publication date
DE60302184D1 (de) 2005-12-15
TW200401186A (en) 2004-01-16
KR100566338B1 (ko) 2006-03-31
JP2004046599A (ja) 2004-02-12
EP1380953A1 (en) 2004-01-14
US20040153857A1 (en) 2004-08-05
ES2248686T3 (es) 2006-03-16
KR20040007338A (ko) 2004-01-24
US7107484B2 (en) 2006-09-12
DE60302184T2 (de) 2006-08-03
AU2003208129A1 (en) 2004-01-29
CN1521625A (zh) 2004-08-18
EP1380953B1 (en) 2005-11-09

Similar Documents

Publication Publication Date Title
TWI229791B (en) Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof
TWI226983B (en) Fault-tolerant computer system, re-synchronization method thereof and storage medium storing re-synchronization program thereof
US9563655B2 (en) Zero and near-zero data loss database backup and recovery
US9575849B2 (en) Synchronized backup and recovery of database systems
US5398331A (en) Shared storage controller for dual copy shared data
US7278049B2 (en) Method, system, and program for recovery from a failure in an asynchronous data copying system
US8635492B2 (en) State recovery and lockstep execution restart in a system with multiprocessor pairing
Lamport et al. Synchronizing clocks in the presence of faults
US4497059A (en) Multi-channel redundant processing systems
EP1029267B1 (en) Method for maintaining the synchronized execution in fault resilient/fault tolerant computer systems
US7797575B2 (en) Triple voting cell processors for single event upset protection
KR101109980B1 (ko) 조정된 타이밍 네트워크 내의 서버 동기화 촉진
JPH0833874B2 (ja) 複数のプロセッサを同期する装置
RU2577465C2 (ru) Система, способ и устройство для коррекции ошибки в мультипроцессорных системах
US20140348182A1 (en) Time synchronization between nodes of a switched interconnect fabric
US9280296B2 (en) Recovery from failure of primary storage volumes by using mirrored data maintained with host timestamps
WO2021253596A1 (zh) 一种基于双通道安全plc的同步控制及数据表决方法
TW201030611A (en) State history storage for synchronizing redundant processors
TW200540614A (en) Method, system, and article of manufacture for remote copying of data
TW200538940A (en) Method and system of exchanging information between processors
TW200402622A (en) Information processing apparatus (一)
TW200401198A (en) A digital system having a multiplicity of self-calibrating interfaces
TW320701B (zh)
US10769038B2 (en) Counter circuitry and methods including a master counter providing initialization data and fault detection data and wherein a threshold count difference of a fault detection count is dependent upon the fault detection data
RU2333529C1 (ru) Трехканальная управляющая система

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees