TWI355585B - Method, data processing system, and computer progr - Google Patents
Method, data processing system, and computer progr Download PDFInfo
- Publication number
- TWI355585B TWI355585B TW094126217A TW94126217A TWI355585B TW I355585 B TWI355585 B TW I355585B TW 094126217 A TW094126217 A TW 094126217A TW 94126217 A TW94126217 A TW 94126217A TW I355585 B TWI355585 B TW I355585B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- processing system
- data
- data processing
- partition
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3636—Debugging of software by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Description
1355585 , 九、發明說明: 【發明所屬之技術領域】 本發明關於一種改良的資料處理系統,尤其有關於 -種用於^理資料的方法與設備。更制是,本發明有關 於種在資料處理系統當機後用於分析資料的方法、設 備、及電腦指令。 ° 【先前技術】 在測試資料處理系統的應用程式與其他組件時,在 測試及除錯階段期間,常會發生系統當機。當出現作業系 ϊίί復原的故障或錯誤時’即發生系統當機。軟體或硬 =會造成系統當機。系,统當機意即資·理系統停止運 ’可力^:目為硬體轉或嚴重的軟體錯誤或程式錯誤 韻樹域爾理系統或軟 在系統當機後,通常會收集資料以在另—丰 析’或在重新啟動後,在目前的系統的上分析刀 通常在另-資料處理系統上進行系統t機後的資料 ^。通常經由0S傾印(dump)將此t機㈣料收集至磁 外部服務處理器或經由其他^型的 :亍产分析有若干好處。例 分;在生產環境中收集當機的㈣ 4IBM/05079TW ; AUS9-2004-0593(JL) 5 1355585 然而,還是會有些限制。儲存及還原追縱資料的一 個限制是追蹤資料的大小。追蹤資料是利用硬體監控程式 (hardware monitors)或軟體監控程式(s〇ftware m〇nit〇rs)所
收集的資料。這些監控程式記錄一連串事件或資料,以形 成追蹤資料。例如,監控程式記錄程式流程的追蹤,或監 控程式記錄由程式所處理之資料的序列或在資料處理系 統組件間傳送之資料的序列。通常由於可用的資源,如磁 帶或磁碟的容量、或服務元件中可能的儲存裝置、或其卸 載=力,必須限制收集之追蹤資料的大小。此外,卸g追 縱貝料的咖和追蹤的大小與城介面賴寬成比例。 服務兀件和其所維護的資料處理系統相比,通常是 if 域寬的支援處理11。此外,服務處理器必 f相對較間單且自動初始化。此類處理n的大小設定為且 ί力L初始化f料處理系統及在執行時間監控資i ίΐίϋ料處理純中的所有組件也—樣,因考慮成 本僅就,、主要初始化與監控工作設定其大小。
源:處理與儲存資 作業系統 時。外㈣㈣統紐的追縱資料 大之大小的Ιί 干十億位,_gabytes)或更 貝料、、告果,將此數量的追縱資料傳輸至 4BM/05079TW ; AUS9-2〇〇4,〇593(儿) · 6 ^硬碟或其他儲存裝置的媒體,以在另—f 變=常而===’致使測試與除錯程序的速度 更適合分析追蹤資料 作業環境比收細資料的ί業環Ξ 機都行得通,只是速if,。此方法對於各種當 主系統記憶體的資料^法^服務處理器將 方式是比較快的替代方牵存入”本地記憶體。此 服旄;丛禾缺L督代方案’但部需要大量可運作的系統, u也必須有儲存或卸载資料的資源。’ 固百萬位元組(卿_之資料的 〒會師選貝枓以減少收集的資, 部分來分析。這些解決方案 ^成分析中可用^資 方法因ί備料統當機後分析資料的改良 【發明内容】 的方ί 祕分析㈣處理祕當機之資料 =忿=。在資料處理系統中,保留』 體中,以適於分析ϋ處理系統的當機。在其餘的記憶 週於刀析战體之保㈣分中追蹤龍的環境, 4IBM/05079TW : AUS9-2〇〇4-〇593(JL) 使資料處理系統重新啟動。 【實施方式】 m包含:系統單元102、視訊顯示終端機 欠么艿上广儲存裝置戦包含軟碟機及其他類型的 ί 式儲存媒體)、及滑鼠110。個人電腦刚可包 】央*輸入裝置’ *:搖桿、觸控板、觸控螢幕、軌跡 ΐΐΛί風、及其類似物。電腦100可以使用任何合適的 甘,,實施’如:IBM eServer電腦或㈣腿ati〇n電腦, =為設於域州亞芒克市(Armcmk, New Μ)之萬國商業 機,公司(International Business Machines c〇卬〇rati〇n)的 。雖然描繪的圖式顯示電腦,但本發明的其他具體實 鉍例可以其他類型的資料處理系統(如網路電腦)來實 施。電腦1〇〇較佳是也包含圖形使用者介面(graphicaluser interface,GUI) ’其可藉由常駐於操作於電腦1〇〇内之電 腦可讀取媒體的系統軟體來實施。 現在參考圖2’其中顯示實施本發明之資料處理系統 的方塊圖。資料處理系統200為電腦的範例,如圖1中的 電腦100,實施本發明之程序的程式碼或指令係位在其 中。負料處理糸統200採用週邊組件互連(peripheral component interconnect,PCI)本地匯流排架構。雖然描繪的 範例採用PCI匯流排,但也可以使用其他匯流排架構,如 加速圖形埠(Accelerated Graphics Port, AGP)與工業標準 架構(Industry Standard Architecture,ISA)。處理器 202 與 4旧M/05079TW ; AUS9-2004-0593(JL) 8 主記憶體204係透過PCI橋接器208而連接至pci本地 匯流排206。PCI橋接器208還包含用於處理器202的整 合s己憶體控制器與快取記憶體。透過直接組件互連或透過 附加連接器可進行PCI本地匯流排206的附加連接。在描 繪的範例中,區域網路(LAN)轉接器210、小型電腦系統 介面(scsi)主機匯流排轉接器212、及擴充匯流排介面214 係藉由直接組件連接而連接至PCI本地匯流排2〇6。相對 地’音訊轉,器216、圖形轉接器218、及音訊/視訊轉接 器219係藉由插入擴充插槽的附加介面卡而連接至pci 本地匯流排206。擴充匯流排介面214提供用於鍵盤與滑 鼠轉接器220、數據機222、及附加記憶體224的連接。 scsi主機匯流排轉接器212提供用於硬碟機226、磁帶 機228、及光碟機230的連接。典型的PCI本地匯流排實 施可支援三個或四個PCI擴充插槽或附加連接器。 作業系統在處理器202上執行,可用來協調及控制 圖2中資料處理系統2〇〇内的各種組件。作業系統是可在 市場上購得的作業系統,如Wind〇ws χρ,可自微軟公司 (MicmsoftCorporation)購得。物件導向程式設計系統,如 Java ’可結合作業系統一起執行,並可從java程式或在資 ,處理系統200上執行的應用程式叫用作業系統。「知抑」 是昇陽電腦公司(Sun Microsystems,Inc.)的商標。作業^ 統的指令、物件導向程式設計系統、及應用程式或程^;系 位於儲存裝置上’如硬碟機226,並可載入主記憶體2〇4 由處理器202執行。 熟習此項技術者應明白,圖2中的硬體隨著實施而 4IBM/05079TW ; AUS9-2004-0593(JL) 9 。其他内部硬體或猶裝置,如 性記憶體、或光碟機及其:二 於或取代圖2中描繪的硬體。還有,可將本發 月的鞋序應用於多處理器資料處理系統。 =如=料處理系、統·,在視需要設定為網 含scsi主機匯流排轉接器212、硬碟細、 雷m t光碟機230。此時,應正確稱為「用戶端 ^巧」的電腦包含某個類型的網路通訊介面,*lan ίϋ fι〇:數據機222、或其類似物。而作為其他範例, 理系統2GG可岐經設定不用靠某個類型的網路 面即可啟動的獨立系統,無論資料處理系統珊 ”某個麵的麟通齡面與否。而更進—步的範例, 資料處理系統200可以是個人數位助理(pDA),其經設定 ίί ^⑽及/或快閃R〇M ’以提供非揮發性記i體i儲 存作業系統檔案及/或使用者產生的資料。 圖2中私繪的範例及上述範例並無意表示結構限 制。例如,除了採取PDA的形式外,資料處理系統2⑻ 也可以是筆記型電腦或手持電腦。資料處理系統2〇〇也可 以是資訊站(kiosk)或資訊家電(web appliance)。本發明的 程序可由處理器202使用電腦實施的指令來執行,這些指 々係位於5己憶體(如’主§己憶體204、記憶體224)戍一或 多個週邊裝置226-230中。 / 〆 圖3為描繪貫施本發明之另一資料處理系統的方塊 圖。資料處理系、统300可以是對稱多處理器(symmetnc 4IBM/05079TW ; AUS9-2004-0593(JL) 10 13555.85 multiprocessor,SMP)系統,其中.包含複數個連接至系統匯 流排306的處理器3(Π、302、303、及304。例如,、資料 處理系統300可以是ΒΒΜ eServer ’其為紐約州亞芒克市 之IBM的產品,並可實施為網路中的伺服器。或者,也 可採用單一處理器系統。也連接至系統匯流排3〇6的是記 憶體控制器/快取308,其提供與複數個本地記憶體 360-363的介面。I/O匯流排橋接器31〇係連接至系^匯 'oil排306 ’並k供至I/O匯流排312的介面。記情體批制 器/快取308與I/O匯流排橋接 31〇如圖所示己:3 的。 負料處理糸統300在此範例中為邏輯分區(lpar)資 料處理系統。因此,資料處理系統3〇〇可具有多個同時執 行的異質(heterogeneous)作業系統(或單一作業系 個例項)〇這些多個作業系統中每一個都具有j壬何數量的 軟體程式執行於其中。資料處理系統3⑻在邏輯上分區使 不同的PCI I/O轉接器320_321、328_329、及336、圖形 轉接器348、及硬螺轉接器349被指派於不同的邏輯分 • 區。在此例中’圖形轉接器348提供顯示裝置(未顯示)的 連接,及硬碟轉接器349提供控制硬碟35〇的連接。 因此,例如,假設將資料處理系統3⑻分成三個邏 輯为區 P卜 P2、及 P3。PCI I/O 轉接器 320-321、328-329、 及336中的母一個、圖形轉接器348、硬碟轉接器、 主機處理器301-304中的每一個、及本地記憶體36〇_363 的§己憶體係指派給三個分區中每一個。在這些範例中,記 憶體360-363可採取雙行記憶體模組(㈣化彻麵㈣ 4IBM/05079TW ; AlJS9-2004-0593(JL) 11 13555.85 modules, DIMMs)的形式。一般並不逐一將DIMMs指派 給分區。而是分區會取得平台所見之總記憶體的一部分。 例如’處理器301、本地記憶體360-363之記憶體的某個 部分、以及I/O轉接器320、328、及329被指派給邏輯分 區P1 ;處理器302-303、本地記憶體360-363之記憶體的 某個部分、以及PCII/0轉接器321與336被指派給分區 P2 ;及處理器304、本地記憶體360-363之記憶體的某個 部分、圖形轉接器348、及硬碟轉接器349被指派給邏輯 分區P3。 在資料處理系統300内執行的各作業系統被指派給 不同的邏輯分區。因此,在資料處理系統30〇内執行的各 作業系統只能存取那些在其邏輯分區内的I/O單元。因 此’例如,高級交談執行程序(Advanced Interactive Executive,AIX)作業系統的一個例項可在分區P1内執 行,AIX作業系統的第二例項(映像)可在分區P2内執行, 及Limix或〇3/400作業系統可在邏輯分區!》3内操作。 連接至I/O匯流排312的週邊組件互連(PQ)主機橋 接器314提供至PCI本地匯流排315的介面。透過pCI 至PCI橋接器316、PCI匯流排318、PCI匯流排319、1/〇 巧槽370、及I/O插槽371,可將若干pci輸入/輸出轉接 器320-321連接至PCI匯流排315〇PCI至PCI橋接器316 知:供至PCI匯流排318與PCI匯流排319的介面。PCI I/O 轉接器320與321係分別置入i/o插槽370與371中。典 型的PCI匯流排實施可支援於四個及八個轉接器 (即’用於附加連接器的擴充插槽)之間。各Pd y〇轉接 4IBM/05079TW ; AUS9-2004-0593(JL) 1355585 _ «· 器320-321在資料處理系統300與輸入/輸出裝置(如,其 他網路電腦,其為資料處理系統300的用戶端)之間提供 介面。 附加PCI主機橋接器322提供附加PCI匯流排323 的介面。PCI匯流排323係連接至複數個PCI I/O轉接器 328-329。透過PCI至PCI橋接器324、PCI匯流排326、 PCI匯流排327、I/O插槽372、及I/O插槽373,可將PCI I/O轉接器328-329連接至PCI匯流排323。PCI至PCI 橋接器324提供至PCI匯流排326與PCI匯流排327的 介面。PCI I/O轉接器328與329係分別置入I/O插槽372 與373中。依此方式,透過PCI I/O轉接器328-129中每 一個,即可支援附加的I/O裝置,如:數據機或網路轉接 器。依此方式’資料處理系統300即可連接至多個網路電 腦。 透過PCI匯流排344、PCI至PCI橋接器342、PCI 匯流排341、及PCI主機橋接器340,可將插入I/O插槽 374之已對應記憶體的圖形轉接器348連接至I/O匯流排 312。可將硬碟轉接器349置入連接至pci匯流排345的 I/O插槽375。依次地’可將此匯流排連接至pci至pci 橋接器342,後者係由PCI匯流排341連接至PCI主機橋 接器340。 PCI主機橋接器330提供PCI匯流排331 —介面以 連接至I/O匯流排312。PCI I/O轉接器336係連接至I/O 插槽376 ’ I/O插槽376則藉由PCI匯流排333而連接至 4旧M/05079TW ; AUS9-2004-0593(儿) 13 13555,85 · PCI至PCI橋接器332。pCI至Ρα橋接器332係連接至 PCI匯流排331。此PCI匯流排亦將PCI主機橋接器33〇 連接至服務處理ϋ信箱介面與ISA匯流排存取傳遞邏輯 394與PCI至PCI橋接器332。服務處理器信箱介面與ISA 匯流排存取傳遞邏輯394可轉送該指定至pcLasA橋接器 393的PCI #取。NVRAM儲存裝置392係連接至ISA匯 流排396。服務處理器335係透過其本地Ρα匯流排395 ,合至服務處理n信箱介面與ISA匯流排存取傳遞邏 輯394。服碱理器335亦經由複數個JTAG/I2C匯流排 W 334 *連接至處理器301-304。JTAG/I2C匯流排334是 JTAG/scan匯流排(見IEEE 1149⑽phmips此匯流排的 ,合。然而’供選擇地,JTAG/ic匯流排334可以僅Phillips 1C匯々IL排或僅JTAG/scan匯流排來取代。主機處理器 301、302、303、及304的所有SP_ATTN信號係一起連^ 至服務處理器的中斷輸入信號。服務處理器335有其自己 的本地記憶體391 ’且可存取硬體〇p_面板39〇。 在初始啟動 > 料處理糸統3〇〇後,服務處理335 • 使用】彻攸匯流排说詢問系則主^理3^ 301_304、記憶體控制器/快取308、及I/O匯流排橋接器 310。元成此步驟後,服矛务處理器335即可瞭解資料處理 系統300的詳細目錄與拓樸。服務處理器335亦在因詢問 主機處理器301-304、記憶體控制器/快取3〇8、及1/〇匯 流排橋接器310所發現的所有元件上,執行内建自我測試 (BuiMn-Self-Tests,BISTs)、基本保證測試(Basic Tests,BATs)、及記憶體測試。服務處理器335將在·Τδ、 BATs、及圮憶體測試期間,收集及報告所偵測之失敗的 4IBM/05079TW ; AUS9-2004-0593(JL) 14 任何錯誤資訊。 如果在取出在BIST、BAT、及記憶體測試期間發現 故障,f件後,系統資源的有意義/有效組態仍然可行, 則允許資料處理系統3〇〇繼續進行,以將可執行的程式碼 載入本地(主機)記憶體360-363。服務處理器335接著釋 放主機處理器301-304,以執行載入本地記憶體36〇_363 的私式碼。當主機處理器301-304在資料處理系統3〇〇内 執行個別之作業系統的程式碼時,服務處理器335進入監 控及報告錯誤的模式。由服務處理器335監控的項目類型 包含如:冷卻風扇速度與運作、熱感應器、電源供應調節 器、及由處理器101-104、本地記憶體360-363、及I/O匯 流排橋接器310報告之可復原與不可復原的錯誤。 服務處理器335負責儲存及報告有關資料處理系統 3〇〇中所有受監控項目的錯誤資訊。服務處理器335亦根 據錯誤類型與定義的臨限值來採取行動。例如,服務處理 器335可記下處理器快取記憶體上的過多可復原錯誤,然 後決定這是硬體失敗的預兆。根據此決定,服務處理^ 335標記該資源,以在目前執行工作階段及未來初始程式 載入(Initial Program Loads,IPLs)期間解除組態。ipLs 有時 又稱為「啟動」(boot或bootstrap)。 資料處理系統300可使用各種可在市場上購得的電 腦系統來實施。例如’可使用可從IBM購得的IBM eServet· iSeries Model 840系統來實施資料處理系統300。此類系 統可支援使用OS/400作業系統(亦可從;©Μ購得)的邏^ 4IBM/05079TW ; AUS9-2004-0593(JL) 分區。 同。:===== 輪體。她㈣的範= 法、言·姆環境的方 中執4析的=;寬 ==供資料處· 統可用來執彳^分析以、。發^機的該資料處理系 ^發明的機構藉由使用資料處理系統中的記 ==,謝的_“;留 俨八2 ΐ °P i。然後以適於使用資料處理系統中1餘呓 的環境’使資料處理系統重新啟動依 構,處理功率與頻寬資源。使用此機 巧〇 GB以上之追縱資料的互動查詢只 非數小時。此機構在收集及/或預選追縱資料要八供 的部分期間,不用嚴格篩選追縱資料。、 父刀析 得用於mno从、,丄料之,、且件的圖式。作業系統4〇0 段。追师料侧係於程式樣 將在資料。如果資料處理系統發生當機, ^處系統重新啟動時,保留記億體中的追縱資料 4IBM/05079TW ; AUS9-20〇4-〇593(JL) 16 B55585 ι * 在這些解說的範例中’將追蹤資料所在的記憶體置 於自我計時更新狀態。更明確地說,將動態隨機存取記憶 體(DRAM)置於DRAM負責保留其内容而不用記憶體控 制器之明確命令的狀態。以作業系統406取代作業系統 400 ’使資料處理系統重新啟動。使用作業系統.以提 供更適於分析程式408分析追蹤資料的環境。
Linux為可用於分析之作業系統的範例。或者,可使 用任何應用程式’只要該應用程式適合所要處理之除錯的 需要。此外’對於要使用的完整作業系統(〇s)並沒有^何 需求。可使用任何除錯環境或專門程式碼。可設計除錯公 用程式以使用多個處理器搜尋及篩選此記憶體,以針^選 定的模式平行搜尋不同範圍的追蹤資料。 接著參考® 5,其巾根據本發明的較健體實施 描繪顯示追蹤龍之保留_式。在此範财,追縱資米 =0係位在記憶體502 0。如果發生當機,將
料,,在的部分置於自我計時更新狀態體則 Ι ’利用啟動程序5〇4將記麵
Hi it t可透過服務控制器將記憶體5〇: = t,記憶體502可保留追蹤資料500 c 506 (Joint Test Action Group, JTAG)^® , 4旧M/05079TW ; AUS9-2004-0593(儿) 17 L3555.85 ^施於#料處理綠巾’如圖2的資料處理祕2〇〇。明 確地說,可將此程序置於啟動程序中,如圖5的啟動程序 程序始於識別含有追縱資料的記憶體(步驟6〇〇)。可 在將追縱資料儲存於記髓巾之前進行此識別,然後將追 =資料儲存於記憶體中的識別位置。依此方式,可將由效 能程式或程序產生的追蹤資料儲存於記憶體中。其後,初 始化及清除不含追蹤資料的記憶體(步驟6〇2)。載入分析 追縱資料的作業系統(步驟604)。然後起始追縱資料 析(步驟606),其後終止程序。 接著參考圖7,其根據本發明的較佳具體實施例,描 繪提供分析追輔料之魏之程序⑽程圖。圖7所示程 序可實施广資料處理系統中,如圖3的資料處理系統 3〇〇。此資料處理系統可執行如圖5之啟動程序5〇4的 動程序。 程序始於偵測需要分析追蹤資料的事件(步驟冗 為回應偵測此事件’從建立追蹤資料的原始分區中移除含 有追蹤資料的記憶體(步驟702)。從原始分區的清單中移 除含有追縱資制位址’即可移除此記憶體。將此記憶體 指派給新的分區(步驟704)。將含有追蹤資料的位址範圍 新增至新的分區,即可將記憶體指派給新的分區。其後, 在新分區之中,起始追蹤資料的分析(步驟7〇6),其後終 止程序。 八'' 4IBM/05079TW ; AUS9-2004-0593(JL) 18 13555,85· 接著參考圖8,其根據本發明的較佳具體實施例,描 繪設定記憶體以保留追蹤資料之程序的流程圖。圖8所示 程序可實施於各種組件中,如服務控制器或啟動碼。在啟 動碼中實施的步驟可實施於圖5的啟動程序504中。 程序始於初始化記憶體控制器(步驟8〇〇)。然後初始 化DRAM(步驟802)。初始化DRAM以啟動包含設定 SDRAM模式暫存器及設定快取列大小。此外,在啟動 DRAM的此步驟中,按照特定的固定間隔進行儲存區預 充電及起始記憶體更新《然後清除及初始化記憶體(步驟 804)。然後執行診斷記憶體測試(步驟8〇6)。在這些範例 中’此步驟為選擇性步驟。步驟8〇〇至8〇8可藉由服務控 制器或啟動碼來執行。服務控制器係如可在資料處理系^ 外部的服務處理器。 接著’初始化I/O子系統(步驟8〇8)。然後,載入作 業系統(步驟810)。然後’開始執行作業系統(步驟812)。 然後’取得及初始化資源清單(步驟814)。此資源清單包 魏财效記顏細。此外,本發明的機構 早’如在執行程式期間保存追蹤資料之記 的心定°其後,哞叫子常式_.tine)以在 記憶體中指定保存魏資料的緩衝 二μ。二i(t〇〇ks)以在此缓衝區中儲存可能的相關 8貝 16)。接菩式呼叫來啟動這些攔截程序(步驟 ^16)接者,程序偵測事件(步驟818) ^決定此 否 ϊϊίΓ,ίίί統重新啟動的有關錯誤(步驟820卜此 、疋Λ—或硬體債測的錯誤。如果未債測錯誤’則 4IBM/05079TW ; AUS9-2004-0593(JL) 19 步驟818。否則,將識別為含有追縱資料的記憶 _ ;自我計時更新模式(步驟822),其後終止程序。 ,驟808至812由啟動碼執行。在這些範例中,步 Ιίθ 822由作業系統執行。此追蹤程序可用來根據所 、、資源指定緩衝區及啟動如子常式呼叫的攔截程 =儲存可能相關的資料。此程序可用來儲存記憶體在 Λ生系統當機時所保留之部分中的資料。 &么現在參考圖9 ’其根據本發明的較佳具體實施例,描 =系機後使龍處⑽、統韻啟動之程序的流程 ^虽系統在發生相關事件(如硬體或軟體偵測的錯誤)後 ^啟動時,會將含有追輔料的記㈣更新模式, ί的步驟822 ^這是造成SDRAM視需要起始更新週 我計時更賴式,轉持其狀態而非等待錢的更 a、其後’以保留的記憶體功率重設系統(步驟漏)。然. 已經在更新模式之指定的儲存區重新初始化記憶體 ,1器(轉902)。按正常方式初始化其餘的記憶體儲存 驟9〇4) °執行診斷記憶體測試(步驟9〇6)。此步驟在 例巾純擇性。紐,將所有記髓置於正常更新 狀Μ步驟908)。記憶體控制器指示自我計時更新模式中 的記憶體儲存區退出此模式並返回正常更新狀態。初始化 I/J)子系統(步驟910)及載入除錯環境(步驟912)。此除錯 環境在這些範例中為替代的作業系統。 4IBM/05079TW ; AUS9-2004-0593(JL) 20 丄切585· t ♦ 可載入任何除錯程式碼,以形成用於分析追蹤資料 的環境。例如,可使用獨立的搜尋程式搜尋特定事件的追 縱資料及列印其發現。
然後,初始化環境而不覆寫追蹤資料(步驟914)。使 用包含儲存追蹤資料之位址的資源清單,即可執行此步 2 °含有追蹤資料的記憶體將視為保留的記憶體。覆寫及 清除記憶體的其他部分。然後,開始執行除錯環境(步驟 91Q。然後,初始化除錯分析(步驟918),其後終止程序。 y.步驟900至906可藉由服務控制器或啟動碼來執 仃。步驟908由記憶體控制器透過啟動碼的指令來執行。 夕驟910至916由啟動碼執行,步驟914與918透過啟動 碼或作業系統來初始化。 _ 根據實施而定,並不像圖8的步驟814,在清單中顯 =用於追蹤資料的記憶體,而是將記憶體控制器連接至^ 定儲存系統活動的專用硬體。使用此類實施,服務控制^ 可起始及停止追蹤資料收集硬體及指示記憶體控^器^ SDRAM置於自我計時更新。依此方式,可使系統重^啟 動,及將含追蹤資料的記憶體控制器對應至系統位址 在除錯作業系統中並不被列為正常記憶體。 ~ 因此,本發明提供一種用於可啟動之當機後分析严 境的改良方法、設備、及電腦指令。本發明的機構保留2 生當機之資料處理系統之記憶體中的追縱資料。然後,^ 不同的環境’如更適於分析追蹤資料的作業系統,使資g 4旧M/05079TW ; AUS9-2004-0593(JL) 21 1355585 處理系統重新啟動。織,使料統資源分析追縱 依此方式’比較大量的頻寬與處理功率可供用於處理 資料,以減少分析此資料所需的時間。 請注意,雖然在完全作用之資料處理系統的上 中說明本發明,但熟習此項技術者應明白,可以電 取媒體指令的形式與各種形式分配本發明的程序,且鹿^ 白,無論實際用於執行分配的信號載負媒體的特定類^, 本發明皆一樣適用。電腦可讀取媒體的範例包含:可纪 型媒體’如:軟碟、硬碟機、RAM、CD_RC)IJs、' DVD-ROMs ;及傳輸型媒體,如:使用如射頻與光波 輸之傳輸形式的數位與類比通訊鏈路、有線或盔線通 路。電腦可讀取媒體可採用解碼以實際用於特^資料 系統之編碼格式的形式。 、 本發明的說明係為解說與說明的目的而提出,其意 不在详盡說明或以所揭露的形式限制於本發明。對於熟習 此項技術者而言,顯然可以進行許多修改及變化。具體實 施例的選擇與說明係為了對本發明的原理、實際應用提出 最好的解說’並讓熟習本技術者瞭解本發明的各種具體實 施例具有同樣適於所想特定使用的各種修改。 4IBM/05079TW ; AUS9-2004-0593(JL) 22 【圖式簡單說明】 視為本發明之特性的新穎特色如隨附的中請專利範 ,所,。然而’要完全_本㈣本奴其雛使用模 =八他目的及優點’請參考以下解說性具體實施例的詳 細說明並結合附圖來研讀,其中: 一圖1為根據本發明較佳具體實施例來實施本發明之 貢料處理系統的圖式; 圖2為實施本發明之資料處理系統的方塊圖; 圖3為實施本發明之另一資料處理系統的方塊圖; 圖4根據本發明的較佳具體實施例,為顯示用於分 析追蹤資料之組件的圖式; 圖5根據本發明的較佳具體實施例,為顯示保留追 蹤資料的圖式; 圖6根據本發明的較佳具體實施例,為提供當機後 分析環境之程序的流程圖; 圖7根據本發明的較佳具體實施例,為提供分析追 蹤資料之環境之程序的流程圖; 圖8根據本發明的較佳具體實施例,為設定記憶體 以保留追蹤資料之程序的流程圖; 圖9根據本發明的較佳具體實施例,為儲存追縱資 料之程序的流程圖。 4IBM/05079TW ; AUS9-2004-0593(JL) 23 1355585 ,·
【主要元件符號說明】 100 電腦 102 系統單元 104 視訊顯示終端機 106 鍵盤 108 儲存裝置 110 滑鼠 200'300 貢料處理糸統 202、301 - 304 處理器 204 主記憶體 206 PCI本地匯流排 208 PCI橋接器 210 區域網路(LAN)轉接器 212 小型電腦系統介面(SCSI)主 機匯流排轉接器 214 擴充匯流排介面 216 音訊轉接器 218 、 348 圖形轉接器 219 音訊/視訊轉接器 220 鍵盤與滑鼠轉接器 222 數據機 224 附加記憶體 226、350 硬碟機 228 磁帶機 230 光碟機 4旧M/05079TW ; AUS9-2004-0593(JL) 1355585 .♦ 301 -304 主機處理器 糸統匯流排 記憶體控制器/快取 I/O匯流排橋接器 I/O匯流排 314、322、330、340 PCI 主機橋接器 315、318、319、323、326、
327、331、333、341、344、PCI 匯流排 345、395 316、324、332、342 PCI 至 PCI 橋接器 320 - 32卜 328-329、336 PCII/0 轉接器 334 JTAG/I2C 匯流排 335 服務處理器 349 硬碟轉接器 360-363 本地記憶體 370 - 376 I/O 插槽
306 308 310 312 390 OP面板 391 > 502 記憶體 392 393 394 396 400、406 402 NVRAM儲存敦置 PCI/ISA橋接器 服務處理器信箱介面與 匯流排存取傳遞邏輯 ISA匯流排 作業系統 程式 4IBM/05079TW ; AUS9-2004-0593(JL) 1355585 * » 404、500 408 504 506 追縱貢料 分析程式 啟動程序 記憶體控制器 4IBM/05079TW ; AUS9-2004-0593(JL) 26
Claims (1)
1355585
十、申請專利範圍:
在該當機之前且當職該資料處理系統正在執行 的一程 1.一 關之 式時: 收集追蹤資料;以及 儲存該追蹤資料於一記憶體的一 記憶體控制器連接; 回應當測試該程式時所發生之該當機 部分’該記憶體與— 該記憶體的該部分; ’保留該追縱資料於 以適於分析該追蹤資料的一環境,使該資料處理系統重新 啟動,其中該追蹤資料在該重新啟動期間停留在該記憶體的哕 部分; μ 以一啟動程序將該記憶體的該部分置於自我計時更新模 式(self-timer refresh mode); 當在自我計時更新模式時以該記憶體的該部分保持 (maintaining)該追蹤資料,而不需要求來自該記憶體控制器 的一更新命令(command);以及 保持電源供給至該記憶體之該部分。 2.如請求項1之方法,其進一步包含: 在該資料處理系統已經重新啟動之後,使用該記憶體的一 剩餘部份分析該追蹤資料。 3·如請求項1之方法,更包含: 該記憶體控制器藉由一系統匯流排與一處理器通訊,其 27 1355585 案號:94丨26217 - i00年09月曰修正_替換頁 中該系統匯流排係與該記憶體控制器以及該處理器連接。 4.如請求項〗之方法,其中該資料處理系統係為具有複數個分 區的一邏輯分區資料處理系統,以及其_該保留步驟包含: 從該複數個分區的一第一分區令移除該記憶體的該部 分,以形成移除的記憶體;以及 將該移除的記憶體指派給該複數個分區中的—第二分 - 區,其申s亥第二分區含有適於追蹐資料分析的一環境。 5.如請求項1之方法,其中該重新啟動步驟包含·· 將一除錯環境載入該資料處理系統以及 初始化該除錯環境中的資源而不覆寫該記憶體的該部分。 6.如請求項5之方法,其中該初 部分視為保留之記憶體的—資憶體之该 部分。 貝尽'月早避免覆寫该記憶體的該 7.如請求们之方法,其中該環境係為—作業系統。 處理系統’該統之-當機箱關之資料的資 式時在該•之前且當輯該資料處_統正在執行的一 收,構件,收集追縱資料;以及 儲存構件,儲存該追 記憶體與—記憶體控制器連接':、體的-部分, 28 1355585 ιηη * ηο α 案號:94126217 丨⑻年09月G8日修正·替換頁 該記is;程式時所發生之該當機’保留該追縱資料於 重新啟動構件,以適於分析該追縱資料的_ 式;-啟触序將觀紐賴部分置於-自我計時更新模 當在自,計時更新模式時該記憶體的該部分 的:r;i)(=!d= 不需要求來自該記憶體咖 保持構件,用於保持電職給記賴之該部分。 9.如請求項8之資料處理系統,其進—步包含: ====重新啟動之後使用該記憶體 .如"月求項8之資料處理系統,更包含. 該系流排與-處理器通訊,其中 排係與該魏體控彻以及該處理器連接。 複資料處理系統係為具有 包含: 貞概理线,以及其巾祕留構件 體的該部f件以’個分區的-第-分區中移除該記憶 刀以形成移除的記憶體;以及 曰派構件’以將該移除的記憶體指派給該複數個分區中的 29 I » 案號:94丨262J7 H)0年09月08日修正-替換頁 &第二分區,其中該第二分區含有適於追蹤資料分析的一環 境。 12’如請求項8之#料處理系統’其中該重新啟動構件包含: 载入構件,用於將一除錯環境裁入該資料處理系統t; 及
初始化餅,祕柯寫該記憶體的該料而初 錯%境中的資源。 % 求項12之:祕處理_,射該秘倾件藉由齡 視為保留之記憶體的-資源清單,避免覆寫i 14. 如請求項8之資料處理系統,其中該環境係為-作業系統。 15. 種電細程式產品,儲存於一 與該資料處理系統之-當機相關5: 3用於分析 當測試該龍處_紅在執㈣—程式時: 用於收集追縱資料的指令組;以及 組,記憶體之一部分的指令 屺憶體控制器連接; 組 以回 p測縱資料於該記憶體之該部分的指令 新啟動的指令組,公中貝二的」w兄而使5亥貧料處理系統重 記憶體的該部分;权_在射新啟動_停留在該 30 案號:94126217 100年〇9月〇8曰修正·替換頁 模式程序將該記憶體的該部分置於-自我計時更新 令組;以及 4刀保持遠追縱資料的指 用於保持電源供給至該記憶體之該部分的指令組。 16.如請求項15之電腦程式產品,其進一步包含: 之該=料^=餘部分而分析該記憶體之該部分内 17. 如請求項15之電腦程式產品更包含: 該記憶體控制器藉由一系統匯流排與 該系統匯流猶與該記憶體㈣器以及該處理器其中 18. 如請求項15之電腦程式產品,其中該 有複數個分區的-邏輯分區資料處理系統,以及中該用、^早 留的指令組更包含: 、11用於保 從該複數個分區的—第―分區巾移除觀 八 以形成移除之記憶體的指令組;以及 〜 邛刀 將該移除的記憶體指派給該複數個分區中八 的指令組,其巾該第二分區含㈣於分析追蹤龍的_^竟°。° 項15之電腦程式產品,其令該用於重新啟動的 組更巴含· 以及 用於將-除錯環境載八該資料處理系統中的指令組; 31 n ^ 案號:94126217 用於不 J00年09月〇8日修正_替換頁 資源的指令^寫該記憶體的該部分而初始化該除錯環境中的 20.如請求項 藉由將記倩體^電腦程式產品’其中該用於初始化的指令組 覆寫該記i體的視為保留之記憶體的—資源清單,避免 作業系統。 21.如請求項15之電腦程式產品,其中該環境係為一 32
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/912,503 US7346809B2 (en) | 2004-08-05 | 2004-08-05 | Bootable post crash analysis environment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW200627153A TW200627153A (en) | 2006-08-01 |
| TWI355585B true TWI355585B (en) | 2012-01-01 |
Family
ID=35758905
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW094126217A TWI355585B (en) | 2004-08-05 | 2005-08-02 | Method, data processing system, and computer progr |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US7346809B2 (zh) |
| CN (1) | CN100388231C (zh) |
| TW (1) | TWI355585B (zh) |
Families Citing this family (37)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7346809B2 (en) * | 2004-08-05 | 2008-03-18 | International Business Machines Corporation | Bootable post crash analysis environment |
| US7533254B2 (en) * | 2004-10-29 | 2009-05-12 | Finisar Corporation | Volatile memory persistence during warm reboot in an optical transceiver |
| US7555677B1 (en) * | 2005-04-22 | 2009-06-30 | Sun Microsystems, Inc. | System and method for diagnostic test innovation |
| US20060256726A1 (en) * | 2005-05-10 | 2006-11-16 | Jennings Lynn M | Systems and methods for viewing data in a trace buffer |
| TWI297433B (en) * | 2006-01-12 | 2008-06-01 | Quanta Comp Inc | Pci-e debug card |
| US7818616B2 (en) * | 2007-07-25 | 2010-10-19 | Cisco Technology, Inc. | Warm reboot enabled kernel dumper |
| GB2455537A (en) * | 2007-12-12 | 2009-06-17 | Symbian Software Ltd | Recording information relevant to exceptions |
| US7818622B2 (en) * | 2008-04-29 | 2010-10-19 | International Business Machines Corporation | Method for recovering data processing system failures |
| KR101658485B1 (ko) * | 2009-06-18 | 2016-09-22 | 삼성전자주식회사 | 휴대용 단말기에서 디버깅을 위한 부팅 방법 및 장치 |
| US8738937B2 (en) * | 2010-07-13 | 2014-05-27 | Intel Corporation | Method and apparatus to limit memory power |
| CN102306119A (zh) * | 2011-06-30 | 2012-01-04 | 北京新媒传信科技有限公司 | 捕获全局异常的系统及方法 |
| US8954546B2 (en) | 2013-01-25 | 2015-02-10 | Concurix Corporation | Tracing with a workload distributor |
| US9256969B2 (en) | 2013-02-01 | 2016-02-09 | Microsoft Technology Licensing, Llc | Transformation function insertion for dynamically displayed tracer data |
| US9323863B2 (en) | 2013-02-01 | 2016-04-26 | Microsoft Technology Licensing, Llc | Highlighting of time series data on force directed graph |
| US8997063B2 (en) | 2013-02-12 | 2015-03-31 | Concurix Corporation | Periodicity optimization in an automated tracing system |
| US20130283281A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deploying Trace Objectives using Cost Analyses |
| US8924941B2 (en) | 2013-02-12 | 2014-12-30 | Concurix Corporation | Optimization analysis using similar frequencies |
| US9021447B2 (en) * | 2013-02-12 | 2015-04-28 | Concurix Corporation | Application tracing by distributed objectives |
| US8843901B2 (en) | 2013-02-12 | 2014-09-23 | Concurix Corporation | Cost analysis for selecting trace objectives |
| US9665474B2 (en) | 2013-03-15 | 2017-05-30 | Microsoft Technology Licensing, Llc | Relationships derived from trace data |
| US9575874B2 (en) | 2013-04-20 | 2017-02-21 | Microsoft Technology Licensing, Llc | Error list and bug report analysis for configuring an application tracer |
| US8990777B2 (en) | 2013-05-21 | 2015-03-24 | Concurix Corporation | Interactive graph for navigating and monitoring execution of application code |
| US9734040B2 (en) | 2013-05-21 | 2017-08-15 | Microsoft Technology Licensing, Llc | Animated highlights in a graph representing an application |
| US9280841B2 (en) | 2013-07-24 | 2016-03-08 | Microsoft Technology Licensing, Llc | Event chain visualization of performance data |
| US9292415B2 (en) | 2013-09-04 | 2016-03-22 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
| WO2015071777A1 (en) | 2013-11-13 | 2015-05-21 | Concurix Corporation | Software component recommendation based on multiple trace runs |
| US9772927B2 (en) | 2013-11-13 | 2017-09-26 | Microsoft Technology Licensing, Llc | User interface for selecting tracing origins for aggregating classes of trace data |
| US9262274B2 (en) * | 2013-12-24 | 2016-02-16 | International Business Machines Corporation | Persistent data across reboots |
| US10146657B2 (en) * | 2014-03-26 | 2018-12-04 | Intel Corporation | Initialization trace of a computing device |
| US9852172B2 (en) | 2014-09-17 | 2017-12-26 | Oracle International Corporation | Facilitating handling of crashes in concurrent execution environments of server systems while processing user queries for data retrieval |
| CN106294108B (zh) * | 2015-05-27 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 应用程序测试方法及装置 |
| GB2541454B (en) * | 2015-08-21 | 2021-10-13 | Siemens Ind Software Inc | Tracing interconnect circuitry |
| CN107729170B (zh) * | 2017-09-29 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种hba卡生成转存文件的方法及装置 |
| US12099739B2 (en) * | 2020-07-28 | 2024-09-24 | International Business Machines Corporation | Trace data protection |
| TWI798680B (zh) * | 2021-04-14 | 2023-04-11 | 群聯電子股份有限公司 | 主機記憶體緩衝區管理方法、記憶體儲存裝置與記憶體控制電路單元 |
| CN112965670B (zh) * | 2021-04-22 | 2023-08-01 | 群联电子股份有限公司 | 主机存储器缓冲区管理方法、存储装置与控制电路单元 |
| US20240192847A1 (en) * | 2022-12-09 | 2024-06-13 | Dell Products L.P. | Data storage placement system |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4521847A (en) * | 1982-09-21 | 1985-06-04 | Xerox Corporation | Control system job recovery after a malfunction |
| IN169637B (zh) * | 1987-07-01 | 1991-11-23 | Digital Equipment Corp | |
| US6035420A (en) * | 1997-10-01 | 2000-03-07 | Micron Electronics, Inc. | Method of performing an extensive diagnostic test in conjunction with a bios test routine |
| US6314532B1 (en) * | 1998-12-04 | 2001-11-06 | Lucent Technologies Inc. | Method and system for recovering from a software failure |
| US6543010B1 (en) * | 1999-02-24 | 2003-04-01 | Hewlett-Packard Development Company, L.P. | Method and apparatus for accelerating a memory dump |
| US6493837B1 (en) * | 1999-07-16 | 2002-12-10 | Microsoft Corporation | Using log buffers to trace an event in a computer system |
| US6728907B1 (en) * | 2000-04-14 | 2004-04-27 | Microsoft Corporation | System and method for self-diagnosing system crashes |
| US6738928B1 (en) * | 2000-06-19 | 2004-05-18 | Hewlett-Packard Development Company, L.P. | Method and expert system for analysis of crash dumps |
| US6910160B2 (en) * | 2002-01-10 | 2005-06-21 | International Business Machines Corporation | System, method, and computer program product for preserving trace data after partition crash in logically partitioned systems |
| US7346809B2 (en) * | 2004-08-05 | 2008-03-18 | International Business Machines Corporation | Bootable post crash analysis environment |
-
2004
- 2004-08-05 US US10/912,503 patent/US7346809B2/en not_active Expired - Fee Related
-
2005
- 2005-06-15 CN CNB2005100771005A patent/CN100388231C/zh not_active Expired - Fee Related
- 2005-08-02 TW TW094126217A patent/TWI355585B/zh not_active IP Right Cessation
-
2008
- 2008-01-02 US US11/968,274 patent/US7805636B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| TW200627153A (en) | 2006-08-01 |
| CN100388231C (zh) | 2008-05-14 |
| US20060031717A1 (en) | 2006-02-09 |
| US7805636B2 (en) | 2010-09-28 |
| US7346809B2 (en) | 2008-03-18 |
| CN1731368A (zh) | 2006-02-08 |
| US20080104451A1 (en) | 2008-05-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI355585B (en) | Method, data processing system, and computer progr | |
| JP6530774B2 (ja) | ハードウェア障害回復システム | |
| US8135985B2 (en) | High availability support for virtual machines | |
| AU2017290267B2 (en) | Performance variability reduction using an opportunistic hypervisor | |
| US6934879B2 (en) | Method and apparatus for backing up and restoring data from nonvolatile memory | |
| JP5212360B2 (ja) | 制御プログラム、制御システムおよび制御方法 | |
| TWI632462B (zh) | 開關裝置及偵測積體電路匯流排之方法 | |
| EP1634168A1 (en) | Booting from non-volatile memory | |
| JP2005339561A (ja) | 関連アプリケーションに対するトラック・データ・クロスリファレンスを保存する方法及び装置 | |
| JP4678396B2 (ja) | 仮想マシンモニタをモニタするコンピュータとその方法、および仮想マシンモニタモニタプログラム | |
| CN106569904A (zh) | 一种信息存储方法和装置、及服务器 | |
| EP3739446B1 (en) | Method and system for communication channels to management controller | |
| US20070038891A1 (en) | Hardware checkpointing system | |
| CN112634977A (zh) | 具有除错存储器接口的芯片及其除错方法 | |
| TW201142608A (en) | Multiple processors based system and method for controlling PCI-E slots | |
| JP2004302731A (ja) | 情報処理装置および障害診断方法 | |
| US7302690B2 (en) | Method and apparatus for transparently sharing an exception vector between firmware and an operating system | |
| TW200307200A (en) | Multiple fault location in a series of devices | |
| Russinovich | Inside windows server 2008 kernel changes | |
| TWI875600B (zh) | 超執行緒處於不同狀態下之運行信息收集系統及方法 | |
| TW202546636A (zh) | 超執行緒處於不同狀態下之運行信息收集系統及方法 | |
| JP2001051854A (ja) | 情報管理システム | |
| JPH1153214A (ja) | パーソナルコンピュータのブート不良検出システム | |
| JP2016076152A (ja) | エラー検出システム、エラー検出方法およびエラー検出プログラム | |
| TW201216156A (en) | Computer system booting method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |