TWI322356B - Apparatus, system, and method for adapter fastload - Google Patents

Apparatus, system, and method for adapter fastload Download PDF

Info

Publication number
TWI322356B
TWI322356B TW093134971A TW93134971A TWI322356B TW I322356 B TWI322356 B TW I322356B TW 093134971 A TW093134971 A TW 093134971A TW 93134971 A TW93134971 A TW 93134971A TW I322356 B TWI322356 B TW I322356B
Authority
TW
Taiwan
Prior art keywords
code image
image
module
old
new
Prior art date
Application number
TW093134971A
Other languages
English (en)
Other versions
TW200528991A (en
Inventor
James Chien-Chiung Chen
Brian Jeffrey Corcoran
Matthew Joseph Kalos
Ricardo Sedillos Padilla
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of TW200528991A publication Critical patent/TW200528991A/zh
Application granted granted Critical
Publication of TWI322356B publication Critical patent/TWI322356B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Description

1322356 九、發明說明: 【發明所屬之技術領域】 本發明係關於一種諸如微碼之嵌入碼,且更具體言之 係關於通訊配接卡上之碼映像更新的裝置、系統及方法 【先前技術】 ~ 使用者不斷要求電腦㈣及電腦子以具有高度可用性 。期望可在時脈周圍利用Web伺月艮器、冑料庫飼服器、應 用飼服器及其類似物。此等系統之維護及更新應最小化系 統離線時間。 電腦系統或子系統包括一組用於執行操作之基本指令。 此組基本指令包含與-操作系統相似的—組基本電腦指令 ,其界定電腦系統或子系統如何運行。大體而言,此组基 =指令被稱為碼映像、微碼、嵌人式碼或其類似物。碼映 =常包括經最佳化以用於特殊微處理器及/或硬體組的 匯編碼指令或原始機器語言二進位碼指令。 本輸人輸出系統(脚s) ^碼映像載入揮發性RAM。或者,將媽映像儲存於非 或其它形式之記憶體中。—旦適當初始化電腦 糸統,即開始執行碼映像中之指令。 =性地,必彡貞錢碼映“提料良之魏性,解決 二=誤,且/或支援新硬體。需要當用新碼映像更新 斷。此外雷對㈣執行舊碼映像之電腦系統造成最小中 H外’需要新碼映像與舊碼映像大致儲存於記憶體中 置。特定而言,新碼映像可大於或小於舊碼映像 96900.doc 要至少部分地儲存於舊碼映像上。碼映像更新應需 夕日·严曰1,包含具有最小複雜性之操作且一旦更新完成 即重新開始正常操作,提供最小延遲。 習知地,由被稱為啟動碼的舊碼映像之區段來執行碼映 像更新。啟動碼係回應—向碼映像更新操作發出訊號之中 ,訊號而加以執行。大體而言,啟動碼自諸如-磁碟驅動 :之來源將新碼映像直接複製到由舊碼映像所佔據之相同 3中複裝操作用新碼映像部分地或全部地覆寫舊碼映 像。此程序被稱為碼覆蓋。 典型碼覆蓋程序要求受影響之硬體設備離線達—段相對 較長之時間。在諸如主匯流排配接卡的◦配接卡之情形中 ’需花若干分鐘來完成該㈣,在此„,主機可判定配 接卡出現故障且轉變至替代路徑。在不存在替代路徑之情 形下’在此較長過程中可暫停整個系統。不管在該逾時及 故障期間系統是否暫停’或不管在碼覆蓋程序期間系統是 否完全離線,中斷1/0路徑及使用者對系統之可用性可具有 代價昂貴之影響。 因此,需要一種最小化可在碼覆蓋程序期間出現之I/C)中 斷里的裝置、系統及方法。該裝置、系統及方法可有利地 克服對夕路徑之需要,且將中斷時間減少至一可容許極限 内,以防止逾時、故障及必要恢復時間。 【發明内容】 本發明係回應此項技術之現狀,且具體言之,係回應此 項技術中仍未由當前可用通訊配接卡及系統完全解決的問 96900.doc 1322356 題及需求而開發的。因此,本發明經開發以提供一種一通 訊配接卡上之快速載入碼映像更新的裝置、系統及方法, 其克服此項技術中的上文所討論之許多或全部缺陷。 用於一通訊配接卡上之快速載入碼映像更新的裝置具有 一邏輯單元’其含有複數個經組態以功能地執行一通訊配 接卡上之快速載入碼映像的必要步驟之模組。所描述之實 施例中之此等模組包括一查詢模組、一映像載入模組、一 映像橋接模組一記憶體初始化模組、—映像覆蓋模組、 一快速載入密鑰模組、一標準配接卡初始化模組及一快速 載入配接卡初始化模組。 在一實施例中,查詢模組經組態以識別舊碼映像之特徵 且判定舊碼映像與新碼映像間之差異或不相容性。映像載 入模組經組態以將新碼映像複本載入諸如主機上之主匯流 排配接卡的通訊配接卡上之記憶體卜映像橋接模組經組 態以協調舊碼映像與新碼映像間之不相容性。 在另一實制列+,記憶體初始化模組經组態以調用新碼 映像以執行記憶體初始化操作。映像覆蓋模組經組態以用 新碼映像覆蓋舊瑪映像。快速載人密賴組經組態以產生 並健存快速載人密餘進而指示通訊配接卡上之快速載入碼 映像更新。標準配接卡初始化模組經組態以藉由回應一故 障而使用標準初始化序列存取-快速載人密錄來初始化通 配接卡或者,快速載入配接卡初始化模組經組態以藉 回應肖速載人碼映像更新而使用—快速載人初始化序 列且在調用該快速載入初始化序列之前成功存取-快速載 96900.doc 1322356 入岔錄來初始化通訊配接卡。在另—實施例中,快逮載入 初始化序列之一或多個部分可與標準初始化方法之步驟交 錯或可將其替代,藉此僅需要單—初始化路徑,其對快速 載入密鑰之存在動態地作出反應。 亦存在一儲存系統,其用於促進一通訊配接卡上之快速 載入碼映像更新。在一實施例中,所描述之系統為一儲存 伺服器且包括一來源輸入設備、—儲存系統處理器及—儲 存系統通訊配接卡。來源輸入設備經組態以接收儲存一新 碼映像之來源電子儲存媒體設備。儲存系統處理器經組態 以起始快速载入碼映像更新且向主通訊配接卡通知快速載 入碼映像更新。儲存系統通訊配接卡經組態以將新碼映像 發送至主通訊配接卡。 本發明之方法亦為一通訊配接卡上之快速載入碼映像更 新而提出。所揭示之實施例中之方法大體上包括需用於執 行上文中關於所描述之裝置及系統之操作而提出的功能之 步驟。特定言之,所描述之方法的一實施例包括將一新碼 映像複本載人通訊配接卡上之記憶體中;調用新碼映像以 執行記憶體初始化操作;及用新碼映像覆蓋舊碼映像。該 方法亦可包括如本文所述之額外步驟。 本發明之-實施例有利地最小化諸如主匯流排配接卡之 通訊配接卡在碼映像更新期間離線之時間。另一實施例有 利地減少通訊配接卡之離線時間量,使得主機可避免命令 逾時、錯誤埠指定、路徑移除、所需恢復序列等等。此外 ,在-實施例中,本發明消除或至少大體上減少對自一單 96900.doc -9- 1322356 主機至一儲存系統之多路徑連接的現有需求。 ^另一實施例中,本發明有利地允許舊碼更新繼續處理 I/O睛求,同時將新碼載入或升級至通訊配接卡上。此外, 本發明之一實施例允許舊碼映像繼續處理I/O請求,同時新 碼映像(或至少其一啟動模組)執行一或多個啟動操作,包括 預備碼映像更新功能。 貫穿本說明書的關於特徵、優勢或相似語言之指示並不 意謂著可由本發明實現之所有特徵及優勢應在或已在本發 明之任何單個實施例中。相反,指示特徵及優勢的語言應理 解為是指連同一實施例而描述之特定特性、優勢或特徵包括 於本發明之至少一實施例中。因此,貫穿本說明書的特徵、 優勢及相似語言之討論可(但不必需)指示相同實施例。 此外,在一或多個實施例中可以任何適當方式組合所描 述的本發明之特性、優勢及特徵。熟習相關技術者將認識 到可在不具備一特定實施例之一或多個具體特徵或優勢之 情況下實踐本發明。在其它實例中’某些實施例中可認可 額外特性及優勢,而該等額外特性及優勢可不存在於本發 明之所有實施例中。 本發明之此等特性及優勢將自如下描述及隨附申請專利 範圍變得更顯而易見’或可由如下所述的本發明之實踐來 加以瞭解。 【實施方式】 本說明書中所描述之許多功能單元被標示為模組以更具 體地強調其實施獨立性。舉例而言,一模組可作為下列物 96900.doc • 10· 1322356 加以實施:一包含常規VLSI電路或閘極陣列之硬體電路, 諸如邏輯晶片、電晶體之現有半導體或其它離散組件。一 模組亦可在諸如現場可程式化閘極陣列、可程式化陣列邏 輯、可程式化邏輯設備或其類似物之可程式化硬體設備中 加以實施。 模組亦可在軟體中實施以用於由多種類型之處理器加以 執灯。舉例而言,可執行碼之經識別模組可包含一或多個物 理或邏輯電腦指令區塊,其可(例如)被組織為一目標、程序 或功能。然而,經識別模組之可執行碼不必物理上靠近,但 可包含儲存於不同位置中的全異指彳,當邏輯上結合在一起 夺°亥等王異扎令組成模組並達成模組之上述目的。 實際上’可執行碼之模組可為—單—指令,或許多指令 :且甚至可分佈於若干不同碼段,於不同程式間,且跨越 己隐體叹備。相似地,本文可在模組内識別且說明操 作資料’且其可以任何適當形式體現並組織於任何 =資料結構内。操作資料可被收集為一單一資料組、或 可刀佈於不同位置’包括分佈於不同儲存設備,且可至少 P刀地僅作為-系統或網路上之電子訊號而存在。 本說明書的對,·一實施例"、"實施例” 所描述之具體特性、結構或特性包括 現之用語實Hi中。因此,在本說明書全文中出 ㈣需)二實T、"在實施例中、 4才曰不相同實施例。 此外’在—或多個實施例中可以任何適t方式組合本發 96900.doc =Γ、結構或特性。在如τ描述中,提供許多具 程式設計、軟體模組、使用者選擇、網路異 詢、資料庫結構、硬體模組、硬體電路、硬 例,以提供本發明之實施例的全面理解。鈇 :r=相關技術者將認識到,可在不具備-或多個具體 P月况下或用其它方法、組件、材料等來實踐本發明 ,。在其它實例中,為避免模糊本發明之態樣,未展示或描 述所熟知的結構、材料或操作。
“圖1描U知碼映像更新方法_。用於執行-習知媽覆 盍及重新載人—Ι/0配接卡之標準技術藉由使主機匯流排配 接卡(騰)離線且藉此停止1/01()4來開㈣2。習知碼映像 更新方法1GG接著將新碼映像載人主機匯流排配接卡上並覆 蓋舊碼映像106。習知地,碼覆蓋由—啟動碼(例如儲存於舊 碼或閃速映像中)來執行。此外,新碼映像如需要燒錄任何 快閃s己憶體1 〇8,且運轉一開機自我測試(p〇ST)丨丨〇。
新碼映像接著初始化任何碼結構丨12且將主機匯流排配 接卡返回至在線114,此允許I/O重新開始。所描繪之習知 碼映像更新方法100接著結束116。儘管本描述為一習知碼 映像更新方法100之精確表示,但是所說明之步驟被執行之 次序以及額外步驟在每一實施例中不盡相同。 在主機匯流排配接卡離線期間(例如’達大約2分鐘咬更多 之時間),主機(主機匯流排配接卡位於其中)可重試傳送1/〇 。若主機在重試臨限期間不可傳送I/O,則命令可逾時一段 時間’舉例而言,通常為30至60秒。上述離線及逾時期間為 96900.doc 用組態而改變。逾時之後,主機 不起作用,將埠標示為"壞,· 大概的且可視具體硬體或應 可假定主機匯流排配接卡 ’且將路徑自路徑群巾移除。主機可能必須執行恢復序列 从再次建立路徑。因此,習知碼映像更新方法⑽可導致主 機停機超過2分鐘或更久。
圖2描繪適用於實施本發明的通訊系統2〇〇之一實施例。 所說明之通訊系統200包括三個連接至—儲存系統2〇8之主 機202、204、2〇6。在一實施例中,儲存系統2()8為一經組 態以儲存資料之儲存伺服器。第一及第二主機2〇2、2〇4經 由開關21 〇冗餘地連接至該儲存系統208。或者,第三主 機206直接連接至該儲存系統2〇8。為簡明起見,省略其它 連接性裝備。 儘管在所描繪之實施例中展示了三個主機2〇2、204、206 ’但通訊系統200可以更少或更多主機202、204、206及儲 存系統208操作。此外,主機2〇2、204、206可以改變冗餘 度及直接度之替代組態而連接至儲存系統208。此外,所說 籲 明之境線連接可包含光纖通道、Enterprjse System Connection®(ESCON)、光纖連接(FICON)通道、小型電腦 系統介面(SCSI)及其類似物。 每一所描繪之主機202、204、206均包括一或多個主機匯 流排配接卡(HBA)212、214、216。每一 HBA 212、214、216 經組態以管理大多數需用於在相應主機202、204、206及儲 存系統208之間轉移資料的1/〇操作。具體而言,每一主機 匯流排配接卡212、214、216經最佳化以極快地在主機202 96900-doc 13 1322356 、204、206較少參與或不參與之情況下實施許多1/0操作, 此可最小化主機202、204、206之工作量。 所描繪之儲存系統208包括多個、冗餘主機配接卡218、 220及群集器222、224。主機配接卡218、220與上述主機匯 流排配接卡212、214、216大體上相似。每一群集器222、 224均可包括一或多個多處理器226、228且連接至若干邏輯 單元號(LUN)230、232、234、236。在一具體實施例中,一 群集器222可主要存取偶數LUN 230、234,而另一群集器 224主要存取奇數LUN 232、236。主機配接卡218、220與 籲 群集器222、224間以及多處理器226、228與LUN 230、232 、234、236間之冗餘路徑允許在諸如硬體故障之故障情況 下進行資料儲存及存取。此外,儲存系統2〇8可採用獨立磁 碟陣列之几餘陣列(RAID) ’其可能反映並剝離所儲存之資 料’以及計算並儲存奇偶資料。 對所說明的主機202、204、206之一者的任何指示應被理 解為是指任何或所有主機202、204、206,除非另有明確說 明。同樣地,對所描繪的主機匯流排配接卡212、2i4、鲁 之一者的任何指示應被理解為是指任何或所有主機匯流排 配接卡212、214、216或主機配接卡218、220,除非另有明 確說明。再次,對經冗餘地說明的群集器、224、多處 理器226、228或LUN23G、232、234、咖之—者的指示應 被理解為分別是指一單個相應設備,除非另有明確說明。. 在本說明書全篇中,為簡潔明瞭地描述本發明之目的, . 本發明之多種實施例關於特定用於主機匯流排配接卡Η〗、 96900.doc 14 1322356 214、216及主機配接卡218、220之處理器及記憶體而加以描 述。本文所描述之實施例是代表性實例且不欲限制由申請專 利範圍所界定的本發明之範疇。熟習此項技術者將瞭解可在 包括諸如微處理器之處理器、專用積體電路(ASIC)或其類似 物之任何電腦或電氣系統中實施本發明,其中諸如微處理器 之處理器、專用積體電路(ASIC)或其類似物執行碼映像且允 許藉由使用碼覆蓋來進行碼映像更新。 圖3描繪主機匯流排配接卡(HBA)300之一實施例,其與 圖2之主機配接卡218、220大體相似。所說明之主機配接卡 300包括一處理器(CPU)3〇2、一或多個快閃記憶體設備3〇4 、一或多個可程式化邏輯陣列(PLA)306、一 I/O埠308、一 本地記憶體設備310、及一同時碼載入裝置312。現存碼映 像314儲存於本地記憶體設備31〇上。現存碼映像314是指舊 碼映像314,因為其可由新碼映像316替換或相反地加以廢 除。新碼映像316可載入並儲存於本地記憶體設備3丨〇上。 CPU202經組態以執行舊碼映像314中之操作指令。在一 實施例中,舊碼映像314經組態以允許主機配接卡3〇〇執行 高速1/0操作(諸如在主機202與儲存系統208之間)。快閃記 憶體設備304及PLA 306與CPU 302交互作用以適當執行1/〇 操作。此外,I/O埠3〇8允許主機配接卡3〇〇與諸如主機2〇2 之其它設備互通資料且控制資訊。 在一實施例中,新碼映像316儲存於本地記憶體設備31〇 之臨時位置中。較佳地,臨時記憶體位置經組態使得CPU 302可執行儲存於臨時記憶體位置中之指令。在一實施例中 96900.doc 1322356 ,臨時記憶體位置為記憶體310内之緩衝器。較佳地,包括 臨時記憶體位置之本地記憶體設備31〇為高速主記憶體,諸 如隨機存取記憶體(RAM)、非揮發性隨機存取記憶體 (NVRAM)或其類似物。 在一實施例中,舊碼映像314及新碼映像316儲存於本地 記憶體設備310内之相鄰區塊中。或者,舊碼映像314及新 碼映像316可儲存於本地記憶體設備31〇内之獨立區塊中或 全異記憶體設備中。此外,本地記憶體設備31〇可經組態以 儲存一或多個與舊碼映像314及新碼映像316分離之資料結 構3 0 6 〇 〜 所說明之同時碼載入裝置3 12包括一查詢模組318,一映 像載入模組320、一映像橋接模組322、一記憶體初始化模 ’’且324映像覆蓋模組326、一快速載入密錄模組328、一 標準配接卡初純模組及-快速載城接卡初始化模 組332。儘管該同時碼載入裝置312被描繪成位於該主機配 接卡300内,但該同時碼載入裝置312或一或多個模組可儲 存於该儲存系統208内之處理器226上或另一設備上。 在一實施例中,查詢模組318經組態以識別舊碼映像314 之特徵且判定舊碼映像3 14與新碼映像316之間是否存在 差/、或不相令性。為判定舊碼映像3丨4與新碼映像3 16之間 疋否存在不相容性,查詢模組318可判定舊碼映像314之版 本與新碼映像316之版本是否不同。或者,查詢模組318可 判定舊喝映像314與新碼映像316在尺寸、位置、或其它特 徵上是否不同。 96900.doc -16- 1322356 在一實施例中’映像載入模組320經組態以將新碼映像 3 16之複本載入本地記憶體設備310或另一相似記憶體設備 中。在另一實施例中’映像載入模組320可將新碼映像3 i 6 載入本地記憶體設備3 10中未被舊碼映像3 14之部分佔據之 位置中。可自諸如磁碟或光碟之來源媒體載入新碼映像316 ,且在一實施例中’新碼映像316被載入儲存系統2〇8且被 傳輸至主機配接卡218。或者,新碼映像316可被載入主機 202上’以在主機匯流排配接卡212上更新舊碼映像3 14。 在一實施例中’映像橋接模組322經組態以協調舊碼映像 3 14與新碼映像3 16間之不相容性。可經執行用於協調不相 容性之精確指令可視經協調之不相容性類型而定。在一實 例協調不相容性可包含改變储存暫存器、記憶體或硬 體设備之初始化次序。在另一實例中,協調不相容性可包 含轉換資料結構形式,以使新碼映像316使用該資料結構。 其它類型之操作可經執行以協調其它類型之不相容性。 在一實施例中,記憶體初始化模組324經組態以初始化本 地記憶體設備310,或其一部分,以為用新碼映像316覆蓋 舊碼映像314作準備。記憶體初始化模組324可進一步經組 態以初始化本地記憶體設備310,或其一部分,使得可自臨 時記憶體位置執行新碼映像316内之可執行部分。在另一實 粑例中,§己憶體初始化模組3 24可經組態以初始化快閃記憶 體設備304及PL A 306。 在貝知例中’映像覆蓋模組326經組態以用新碼映像 3 16覆蓋舊碼映像3 14。該覆蓋可在所有或部分舊碼映像3 14 96900.doc 1322356 上複製新碼映像316。此外,該覆蓋可將新碼映像3丨6之部 分複製到舊碼映像314未佔據之位置中。此外,映像覆蓋模 組3 2 6可經組態以執行錯誤偵測及錯誤校正進而核實新碼 映像316已被成功複製。在替代實施例中,映像覆蓋模組可 或不可將新碼映像316之複本自臨時記憶體位置移除。 在一實施例中,快速載入密鑰模組328經組態以產生並儲 存快速載入密鑰。快速載入密鑰可指定主機配接卡218中之 舊碼映像314已藉由使用快速載入碼覆蓋而由新碼映像3 16 成功地覆蓋》在一實施例中,快速載入密鑰可儲存於新碼 映像3 16之元資料區段502中。快速載入碼覆蓋後,一經重 新建立I/O通訊,快速載入密鑰模組328即亦可判定是否可 藉由快速載入初始化序列而非標準初始化序列來初始化主 機配接卡21 8。在一實施例中,快速載入初始化序列可包括 所有或部分標準配接卡初始化序列。 在一實施例中,標準配接卡初始化模組330經組態以藉由 使用習知初始化序列來初始化主機配接卡21 8。舉例而言, 在主機配接卡218離線且返回在線後,主機配接卡218經初 始化以開始I/O通訊。若在新碼映像3 16之元資料區段502内 未發現快速載入密錄,標準配接卡初始化模組3 3 0可藉由使 用包括普通開機交握及POST之習知初始化序列來初始化 主機配接卡21 8。 在一實施例中,快速載入配接卡初始化模組332經組態以 藉由使用快速載入初始化序列來初始化主機配接卡218。快 速載入初始化序列最小化用於初始化主機配接卡3〇〇所需 96900.doc •18- 1322356 之時間量’(例如,藉由假定記憶體及/或硬體已處於有效狀 態)’此疋因為此等狀態在碼覆蓋之前被核實。在一實施例 中,在碼更新程序中初始化本地記憶體設備3丨〇中之初始化 變置。在另一實施例中,在碼更新程序之前,硬體機器狀 態經核實為有效的,意即,具有較好錯誤校正碼(ECC)。在 某一實施例中,若提供適當快速載入密鑰,則快速載入配 接卡初始化模組322僅調用快速載入初始化序列。此外,快 速載入配接卡初始化模組332可調用在一習知初始化序列 期間執行的快速載入初始化序列之一或多個部分。以此方 式,標準初始化序列可經修正以包括來自快速載入初始化 序列之一或多個步驟。舉例而言,在實施習知初始化序列 期間,快速載入配接卡初始化模組332可調用一或多個快速 載入初始化操作,借此實現快速載入初始化序列。 圖4描繪可儲存於圖3中所示的主機配接卡3〇〇之本地記 憶體设備3 10中之舊碼映像324之一實施例。所說明之舊碼 映像314包括一元資料區段4〇2、一運轉時間區段4〇4及一資 料區段406。該元資料區段402可包括描述舊碼映像314及其 内容之元資料。在一實施例中,運轉時間區段4〇4包括可由 CPU 302執行之一或多個指令。運轉時間區段4〇4中之指令 可被稱為,文棺"。資料區段4〇6包括可由運轉時間區段 中之可執行碼使用之任何資料及/或資料結構。儘管元資料 區段402、運轉時間區段404及資料區段406均被描繪成資料 之單一區塊,但此等區段402、404、406可被分開且其部分 以多種組態彼此散佈於本地記憶體設備3〗〇内。 96900.doc -19- 1322356 在一實施例中,運轉時間區段404可包括一更新模組4〇8 。更新模組408可包含一載入模組41〇及一分支模組4丨2。在 一實施例中,載入模組410經組態以將新碼映像316載入本 地記憶體設備310中。載入模組41〇可回應手動或自動碼更 新命令或中斷而載入新碼映像316。 如上所述,新碼映像316可儲存於一緩衝器、一臨時儲存 位置或另一相似位置中。在另一實施例中,在將新碼映像 3 16載入本地記憶體設備31〇後,載入模組41〇可經組態以執 行新碼映像316之誤差檢查及其它有效性檢查。此外,載入 模組410可組態本地記憶體設備3 1〇以允許在來自臨時記憶 體位置之新碼映像3 16内執行指令。 在習知碼映像更新中,可執行舊碼映像314内之啟動碼 (未圖示)。然而,在本發明中,分支模組4丨2可使cpu 3μ 開始執行位於新碼映像316而非舊碼映像314内之指令。因 此,由於舊碼映像3 14及新碼映像3 16儲存於本地記憶體設 備310或其它設備内之非重疊位置中,所以可保持舊碼映像 206之運轉時間區段4〇4及資料區段4〇6,同時自臨時位置執 行來自新碼映像3 16之指令。 圖5描繪可儲存於圖3中所示的主機配接卡3〇〇之本地記 憶體設備310中之新碼映像316之一實施例。所說明之新碼 映像316包括一元資料區段5〇2、一運轉時間段5〇4一資料區 段506。該元資料區段5〇2可包括描述新碼映像316及其内容 之元資料。在一實施例中,運轉時間區段5〇4包括可由cpu 302執行之—或多個指令。資料區段506包括可由運轉時間 96900.doc -20- 1322356 區段404中之可執行碼使用之任何資料及/或資料結構。儘 管元資料區段502、運轉時間區段504及資料區段506均被描 繪成資料之單一區塊,但此等區塊502、5〇4、506可被分開 且其部分以多種組態彼此散佈於本地記憶體設備31〇内。 在一實施例中’元資料區段502可包括參考圖3而描述之 快速載入密鑰508。在一實施例中,運轉時間區段5〇4可包 括一啟動模組510。該啟動模組510可包含一轉換模組512 及一複製模組514。 在一實施例中,轉換模組5 12經組態以協調舊碼映像3 j 4 與新碼映像3 16間之潛在不相容性。不相容性可包含舊碼映 像314與新碼映像316間之差異,該差異導致新碼映像316 不能向舊碼映像314之效能等級執行至少一功能。因此,不 相容性可以多種形式顯現。最顯著地,若已知新碼映像316 之版本與舊碼映像314之版本不同,則不相容性為絕對的。 在實細*例中,新碼映像316之版本可儲存於新碼映像3 16 之兀資料區段502中。相似地,舊碼映像314之版本可儲存 於舊碭映像3 14之元資料區段402中》 至乂 不相谷性可包含由售碼映像314使用之資料好構 與由新碼映像316使用之資料結構間之差異。資料結構間之 差異可為不同數值、不同形式或其類似物。資料結構可為 儲存於舊碼映像3 14或新碼映像3 1 6中之資料結構。 在另一實施例中,另一不相容性可包含對新碼映像316 與對舊碼映像314之不同初始化需求。初始化需求可包含重 新設定暫存器、清除緩衝器及/或快取記憶體及其類似物。 96900.doc •21 · 1322356 此外’若新碼映像3 16添加資料結構,此等資料結構亦需要 加以初始化。 轉換模組5 12亦可經組態以協調已識別的任何不相容性 。舉例而言,轉換模組5 12可經組態以調整資料結構及組態 設定’使得新碼映像3 16與舊碼映像3 14充分執行至少相同 之功能。此外’新碼映像3 16可執行額外功能且提供優於舊 碼映像314之改良》 在一實施例中,啟動模組5 10之複製模組5 14經組態成以 使新碼映像316覆蓋至少舊碼映像314之一部分。較佳地, 覆蓋新碼映像316,使得其可如舊碼映像314一般開始於本 地記憶體設備3 10之相同位址中。以此方式,最小化對依賴 本地記憶體設備310中之預定或固定位址位置的其它微碼 及硬體中斷之部分的不利影響。在某一實施例中,複製模 組5 14亦可對新碼映像3丨6之複本執行完整性及有效性檢查 以核實經覆蓋之複本為無誤的。此外,複製模組514可刷新 臨時儲存新碼映像3 16之本地記憶體設備3 1〇。在另一實施 例中,複製模組514或轉換模組512亦可更新快閃記憶體設 備304、PLA 306或其它可與新碼映像316經由介面連接之模 組。 如下示意流程圖大體上作為邏輯流程圖而加以陳述。同 樣地,所描繪之次序及標示步驟指示本程序之一實施例。 其它步驟及程序可被認為是在功能、邏輯或效應上等同於 所說明之程序中的一或多個步驟或其一部分,,所採 用之形式及符制於解釋程序之邏輯步驟且不應被理解為 96900.doc 1322356 限制本程序H儘管在絲圖中採用了多種箭頭類型 及線類型,但不應將其理解為限制相應程序之範疇。事實 上,一些箭頭或其它連接符僅用於指示程序之邏輯流程。 牛例而。箭頭可指示所描繪之程序的列舉步驟間之未指 定持續時間的等待或監控時間。此外,具體程序發生之次 序可或可不嚴格遵守相應所示步驟之次序。 圖6描繪用於主機配接卡3 0 0或主機匯流排配接卡2丨2上 的碼映像製備方法6〇〇的一實施例。所說明之碼映像製備 方法600藉由查詢主機配接卡3〇〇瞭解機器狀態、碼等級及 更新604來開始6〇2 ^在一實施例中,查詢模組3丨8查詢主 機配接卡300(604)。查詢模組318亦可判定主機配接卡3〇〇 疋否支援快速載入碼更新606。該支援可取決於舊碼映像 314之版本、新碼映像316之版本、主機配接卡3〇〇之硬體 組件等等。 在一實施例中,若快速載入碼更新在主機配接卡3〇〇受到 支援’則映像載入模組320繼續將新碼映像316載入本地記 憶體設備310中608。映像載入模組320亦可使新碼映像316 有效進而核實新碼映像316被適當載入6〇8。在一實施例中 映像載入模組3 2 0可採用錯誤偵測及錯誤校正技術來使確 認610碼映像316。 所說明之碼映像製備方法6〇〇接著藉由比較新碼映像3 16 中之等級與當前存在於(例如)快閃記憶體設備3〇4中之等級 而繼續。在一實施例卡,映像橋接模組322接著判定快閃記 憶體設備304是否需要更新614,且若需要,則更新快閃記 96900.doc •23· 1322356 憶體設備304(616)。參考圖7更詳細討論快閃記憶體設備304 之更新616。在另一實施例中,映像橋接模組322亦可判定 主機配接卡300内之PLA 306或其它硬體組件是否需要更新 。在另一實施例中’映像橋接模組322亦可協調舊碼映像314 與新碼映像3 16間之任何不相容性。 舉例而言’在一實施例中,執行所有上述步驟,同時主 機配接卡300繼續處理與主機2〇2之1/()通訊。此是至少部分 地藉由使舊媽映像3 14保持完整來完成的,同時更新模組 408分支至儲存於一與舊碼映像314分離之記憶體位置中的 新碼映像316中之啟動模組5丨〇。換言之,啟動模組5丨〇可執 行許多或所有上述功能,同時主機配接卡3〇〇繼續接受來自 主機202之I/O請求。 在實鉍例中,僅在上述步驟完成後使主機配接卡3〇〇離 線618且使I/O停頓(中止)。在一實施例中,主機配接卡可 繼續接受來自主機之1/〇命令而不處理該等命令。與在執行 此等功能前使主機配接卡3嶋線相比,所描繪之碼映像製 備方法600可顯著最小化主機配接卡300離線及不能處理1/〇 請求之㈣。接著所說明之碼映像製射法_結束620。 圖7描繪經由更新存在於圖6之碼映像製備方法_中之 U »己It體认備304(616)之實例而給出的快閃更新方法7〇〇 <實“]纟冑施例中,在小區段中執行快閃記憶體 2 04之更新所說明之快閃更新方法·藉由清除快閃 記憶體設備304中之Fu 區奴704且接著確認清除704已完成706 來開始702。快閃—站+、。 ’ 法700藉由更新已清除之區段708 96900.doc 1322356 且確認更新708已適當完成710來繼續。快閃更新方法700 接者判定是否需要更新額外區段712且若需要,則返回去清 除隨後區段704。 一旦所有區段均被適當更新708且得以確認710,則所描 繪之快閃更新方法700結束714。如上所述,可更新一或多 個快閃記憶體設備304,同時主機配接卡3〇〇同時繼續接受 I/O請求。以此方式,即使每一區段之清除7〇4及更新7〇8可 花費相當長時間’更新快閃記憶體設備304不會增加主機配 接卡300離線之時間。在另一實施例中,在同時處理期 間亦可更新PLA 306及其它硬體。 圖8描繪可用於主機匯流排配接卡3〇〇上的碼映像複製方 法800之一實施例。在一實施例中,在碼映像製備方法6〇〇 完成及主機匯流排配接卡3〇〇離線618後的某一時間發生碼 映像複製方法800。所說明之碼映像複製方法8〇〇藉由找出 主機匯流排配接卡300之本地記憶體設備31〇中(例如)的新 碼映像3 16(804)來開始802。如需要,記憶體初始化模組324 接著初始化本地記憶體設備3丨〇(8〇6)。 如上文參考圖3之討論,映像覆蓋模組326接著藉用新碼 映像316覆蓋舊碼映像3 14(808)。在一實施例中,映像覆蓋 模組326亦可刷新任何碼映像資料參考81〇且刷新來自快取 記憶體之指令參考812,此是因為此等參考對應於經覆蓋 8〇8之舊碼映像314。然而,在某些實施例中,映像覆蓋模 組326無需移除新碼映像3〗6或舊碼映像3 14之任何部分或 參考。快速載入密鑰模組328接著可在(例如)新碼映像316 96900.doc 1322356 之元資料區段502中產生並儲存一快速載入密鑰814,以指 示已執行快速載入碼更新。啟動模組51 〇隨後分支以初始化 8 16且接著所描繪之碼映像複製方法8〇〇結束8丨8。 圖9描繪可用於主機匯流排配接卡3〇〇上的碼映像初始化 方法900之一實施例。在一實施例中,由圖7之碼映像複製 方法700來調用瑪映像初始化方法。所說明之碼映像初始化 方法900藉由關掉主機配接卡300之燈9〇4來開始9〇2。直至 當則,主機配接卡300暫時中止處理I/O,但並未關閉任何 硬體’包括任何光纖傳輸硬體。當前,主機匯流排配接卡 904關閉至少一些通訊設備進而"關燈"9〇4 ^在一替代實施 例中,無需”關閉,,燈904。事實上,在某一實施例中,燈 "開"亦或"關”無關緊要。 碼映像初始化方法900接著判定快速載入密鑰是否存在 906以表示快速載入碼更新被執行。在一實施例中,若快速 載入密鑰模組328在新碼映像3 16中找到適當快速載入密鑰 508,則快速載入配接卡初始化模組332執行快速載入初始 化序列。否則,標準初始化模組33〇可實施一習知初始化序 列,其比快速載入初始化序列需要更長時間。在快速载入 或標準初始化序列完成後,主機匯流排配接卡3〇〇”開燈 "912且再次重新處理I/O請求。 在另一實施例中,快速載入初始化模組332可執行特定可 辅助標準初始化序列之快速載入初始化步驟β以此方式, 標準初始化模組330可實施一習知初始化序列,其中來自快 速載入初始化序列之步驟替代某些習知步驟。在一替代實 96900.doc •26-
丄d厶厶J 鼽例中,快速載入初始化模組332可以輔助習知初始化序列 之方式來執行一或多個快速載入初始化步驟。
在大夕數上述程序期間,藉由使用快速載入碼更新及初 始化序列,主機配接卡300可繼續處理I/O。舉例而言,在 貫施例中,主機配接卡30〇之總離線時間大約為2至3秒, 包括大約1秒的"關”燈時間。當燈"關閉"9〇4時,主機η]將 看見一狀態變化且重新進入系統。因為主機配接卡3〇〇藉由 ,用習知技術僅離線達似乎為,,可容忍之故障"的時間而不 、。過2私所以主機212將能夠在任何逾時期間耗盡前 重新進入系統。在另__實施例中,視通訊系統·之特殊拓 撲以及由主機配接卡3〇〇採用之協議而定,在碼映像初始化 方法900期間可無需"關閉,,燈904。 儘管上述描述在儲存系統及儲存區域網路之範疇内使用 術語"主機配接+ "及"主機匯流排配接卡",但應理解本發明 範舞為延伸至上面可更新微碼之所有通訊配接卡。本發
明特別適用於更新形成—部分通訊系㈣it訊配接卡上之 碼映像,該通訊系統受益於碼映像更新期間的最小化離線 時間或最大化I/O處理時間。 可在不偏離本發明之精神或基本特徵之情況下以其它特 絲式來表現本發明。所描述之實施例在所有態樣中應被認 為是僅為說明性的而並非限制性的。因此,本發明之範蜂由 隨附申請專利範圍而非上述描述來指定。中請專利範圍之當 量的意義及範’内之所有變化均包括於本範缚之内。 【圖式簡單說明】 96900.doc -27- 1322356 圖1為說明—習知碼映像 圖9 i故 乃去的不意流程圖0 圖2為說明根據本發明之一 方塊圖。 通讯系統之一實施例的示意 圖3為說明根據本發明 的示意方塊圖。 月之主匯流排配接卡之-實施例 碼映像之一實施例的示意 圖4為說明根據本發明之一舊 方塊圖。 二為說明根據本發明之一新碼映像之一實施例的示意 方塊圖。 圖6為說明根據本發明之一碼映像製備方法之〆實施例 的示意流程圖。 一圖7為說明根據本發明之一快閃更新方法之一實施例的 TF意流程圖。 圖8為說明根據本發明之一碼映像複製方法之一實施例 的示意流程圖。 圖9為說明根據本發明之一碼映像初始化方法之一實施 例的示意流程圖。 【主要元件符號說明】 100 200 202 204 206 習知碼映像更新方法 通訊系統 主機 主機 主機 212a、212b、214a、 主機匯流排配接卡 96900.doc •28- 1322356 214b 、 216a 210 218a、218b、220a、 220b 208 222 ' 224 226 ' 228 230 、 232 ' 234 、 236 300 302 304 306 308 310 312 314 316 318 320 322 324 326 328 開關 主機配接卡 儲存系統 群集器 多處理器 邏輯單元號 主機配接卡 處理器 快閃記憶體設備 可程式化邏輯陣列 I/O琿 本地記憶體設備 同時碼載入裝置 舊瑪映像 新碼映像 查詢模組 映像載入模組 映像橋接模組 記憶體初始化模組 映像覆蓋模組 快速載入密錄模組 標準配接卡初始化模組
330 96900.doc -29- 1322356 332 快速載入配接卡初始化模組 402 元資料區段 404 運轉時間區段 406 貧料區段 408 更新模組 410 412 502 504 506 508 510 載入模組 分支模組 元資料區段 運轉時間區段 資料模組 快速載入密鑰 啟動模組 512 514 600 700 800 900 轉換模組 複製模組 碼映像製備方法 快閃更新方法 碼映像複製方法 碼映像初始化方法 96900.doc -30-

Claims (1)

  1. 、申請專利範圍: 一裡用於一通訊配接卡______^ ^ ^ 碼載入裝置,該裝置包含: 之同時 一映像載入模組,其經組態以將一記憶體中的—新石馬 映像之複本載於該通訊配接卡上,該記憶體同時儲^ 由該通訊配接卡所使用之一舊碼映像之—複本; 子 憶體初始化模組,其經組態以調用該新褐映像來 執行一記憶體初始化操作;及 -映像覆蓋模組,其經組態以用該新碼映像覆蓋 碼映像。 二請求们之裝置’進一步包含一查詢模組,其經組態以 識別β亥舊碼映像之—特徵且判定該舊碼映像與該新碼映 像間之一差異。 ^月长項1之裝置,進一步包含一映像橋接模組,其經組 態以協調該舊碼映像與該新碼映像間之一不相容性。 如明求項1之裝置’進一步包含一快速載入密鑰模組,其 、’里、、且I以產生且儲存一快速載入密鑰進而指示該通訊配 接卡上之一快速載入碼映像更新。 士 π求項1之裝置,進—步包含一快速載入配接卡初始化 模’’且其經組態藉由使用一快速載入初始化序列初始化 该通訊配接卡,以回應—快逮载人碼映像更新。 如咐求項5之裝置,其中該快速載入配接卡初始化模組進 '··’、且態以在使用該快速载入初始化序列之前存取一 快速載入密輪。 1322356 7.如:求項1之裝置,進一步包含一標準配接卡初始化模組 '、、盈’’·且態藉由使用一標準初始化序列來初始化該通訊 配接卡,以回應一存取一快速載入密鑰之失敗。 *青求項7之裝置,進一步包含一快速載入配接卡初始化 模、’且其經組態以在該標準初始化序列期間執行一快速 載入初始化操作。 9·如請求項1之裝置,其中該舊碼映像包含-碼映像更新模 組,該碼映像更新模組經組態以控制一碼映像更新。 10.如明求項9之裝置’其中該碼映像更新模組包含—載入模 組,該載入模組經組態以將該新碼映像载入該記憶體中。 η.如請求項9之裝置,其中該碼映像更新模組包含—分支模 組,該分支模組經組態以將該舊碼映像與該新碼映像分 支。 •如請求項!之裝置’其中該新碼映像包含—啟動模組,該 啟動模組經組態以界定一啟動操作,該啟動操作經組態 以促進一碼映像更新。 ".如請求項!之裝置’其中該啟動模組包含一轉換模組,該 映像橋接模組經組態以藉由使用該轉換模組來協調該舊 碼映像與該新碼映像間之一不相容性。 14.如請求項!之裝置,其中該啟動模組包含一複製模組,該 映像覆蓋模組經組態以藉由使用該複製模組用該新石馬映 像覆蓋該舊碼映像》 15,-種用於促進-來源通訊配接卡上之快速載入碼映像更 新之儲存系統’該儲存系統包含·· 969〇〇d〇c -2- 1322356 一來源輸入設備,其經組態以接收一來源電子儲存媒 體設備,該來源電子儲存媒體設備經組態以儲存一新 映像; ' 一儲存系統處理器,其經組態以起始該快速載入碼映 像更新且向該來源通訊配接卡通知該快速載人碼映 新;及 N 該來源通訊配接卡,其經組態以將該新碼映像複製到 一本機記憶體設備且實施該快速載入碼映像更新。 16. —種用於一通訊配接卡上之快速載入碼映像更 ,該方法包含: 法 將一新碼映像之一複本載入該通訊配接卡上之—記憶 體中,該記憶體同時儲存由該通訊配接卡所使用的—^ 碼映像之一複本; 調用該新碼映像來執行—記憶體初始化操作;及 用該新碼映像覆蓋該舊碼映像。 17. 如凊求項16之方法,進一步包含識別該舊碼映像之一特 徵且判定該舊碼映像與該新碼映像間之一差異。 18. 如請求項16之方法,進一步包含協調該舊碼映像與該新 碼映像間之一不相容性。 19. 如請求項16之方法’進—步包含產生並儲存—快速載入密 鑰進而指示該通訊配接卡上之一快速載入碼映像更新。 20·如請求項16之#法,it-步包含藉由使用一快速載入初 始化序列來初始化該通訊配接卡’以回應一快速载入碼 映像更新。 96900.doc 21. 如請求項20之方法,進一步包含判定是否在使用該快速 載入初始化序列之前存取一快速載入密鑰。 22. 如請求項16之方法,進一步包含藉由使用一標準初始化 序列來初始化該通訊配接卡,以回應存取一快速載入密 鑰之一失敗6 23. —種用於一通訊配接卡上之快速載入碼映像更新之方法 ,該方法包含: 將一新碼映像之一複本載入該通訊配接卡上之—記憶 體中,該記憶體同時儲存由該通訊配接卡所使用的一舊 碼映像之一複本; 調用該新碼映像來執行一記憶體初始化操作; 識別該舊碼映像之一特徵; 識別該舊碼映像與該新碼映像間之一不相容性; 協調該舊碼映像與該新碼映像間之該不相容性; 用該新碼映像覆蓋該舊碼映像; 產生並儲存一快速載入密鑰以指示該通訊配接卡上之 一快速载入碼映像更新;及 藉由使用一快速載入初始化序列來初始化該通訊配接 卡,以回應一快速載入碼映像更新。 24. —種包含電腦可讀碼之電腦可讀儲存媒體,該電腦可讀 儲存媒體經組態以執行—用於—通訊配接卡上之快速: 入碼映像更新之方法,該方法包含: 將一新碼映像之一複本載入該通訊配接卡上 ,u C憶體同時儲存由該通訊配接卡所使用的一舊 96900.doc -4- 碼映像之一複本; 調用該新碼映像來執行一記憶體初始化操作;及 用該新碼映像覆蓋該舊碼映像。 25. 26. 27. 28. 29. 30. 31. 32. «•月求項24之電腦可磧儲存媒體,其中該方法進一步包 含識別該舊碼映像之-特徵且狀該舊@映像與該新碼 映像間之一差異。 如請求項24之電腦可讀儲存媒體,其中該方法進—步包 含協調該舊碼映像與該新碼映像間之一不相容性。 如請求項24之電腦可讀儲存媒體,其中該方法進一步包 含產生並儲存一快速載入密鑰以指示該通訊配接卡上之 一快速載入碼映像更新。 如請求項24之電腦可讀儲存媒體,其中該方法進一步包 含藉由使用一快速載入初始化序列來初始化該通訊配接 卡’以回應一快速載入碼映像更新。 如請求項28之電腦可讀儲存媒體,其中該方法進一步包 3判疋疋否在使用該快速載入初始化序列之前存取—快 速载入密鑰。 如請求項24之電腦可讀儲存媒體,其中該方法進一步包 3藉由使用一標準初始化序列來初始化該通訊配接卡, 以回應存取一快速載入密鑰之一失敗。 如請求項24之電腦可讀儲存媒體,其中該舊碼映像包含 一碼映像更新模組,該碼映像更新模組經組態以控制一 碼映像更新。 如請求項3 1之電腦可讀儲存媒體,其中該碼映像更新模 96900.doc 33. 組包含一載入模組,該載入模組經組態以將該新碼映像 載入該記憶體中。 如請求項3 1之電腦可讀儲存媒體,其中該碼映像更新模 組包含一分支模組,該分支模組經組態以將該舊碼映像 與該新碼映像分支。 34. 如請求項24之電腦可讀儲存媒體,其中該新碼映像包含 一啟動模組,該啟動模組經組態以界定一啟動操作,該 啟動操作經組態以促進一碼映像更新。 35. 36. 如請求項34之電腦可讀儲存媒體,其中該啟動模組包含 一轉換模組,該映像橋接模組經組態以藉由使用該轉換 模組來協調該舊碼映像與該新碼映像間之一不相容性。 如請求項34之電腦可讀儲存媒體,其中該啟動模組包含 複製模組’ s亥映像覆蓋模組經组態以藉由使用該複製 模組用該新碼映像覆蓋該舊碼映像。 37. 種用於it訊配接卡上之快速载入碼映像更新之裝置 ’該裝置包含: 用於將一新媽映像之一兹,讲、^ 2 復本载入該通訊配接卡上之一 記憶體中之構件,該邙.陪躺π + 卜 。隐體同時儲存由該通訊配接卡所 使用之一舊碼映像之一複本; 用於調用該新竭映像來執行—記憶體初 件;及 石馬映像之構件 用於用該新碼映像覆蓋該舊 96900.doc
TW093134971A 2003-11-20 2004-11-15 Apparatus, system, and method for adapter fastload TWI322356B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/717,822 US7313681B2 (en) 2003-11-20 2003-11-20 Apparatus, system, and method for adapter fastload

Publications (2)

Publication Number Publication Date
TW200528991A TW200528991A (en) 2005-09-01
TWI322356B true TWI322356B (en) 2010-03-21

Family

ID=34633206

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093134971A TWI322356B (en) 2003-11-20 2004-11-15 Apparatus, system, and method for adapter fastload

Country Status (5)

Country Link
US (1) US7313681B2 (zh)
JP (1) JP4620430B2 (zh)
CN (1) CN100349118C (zh)
SG (1) SG112105A1 (zh)
TW (1) TWI322356B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112004002797B4 (de) 2004-03-19 2015-12-31 Zakrytoe Aktsionernoe Obschestvo "Intel A/O" Ausfallsicherung und Lastausgleich
US7760626B2 (en) * 2004-03-31 2010-07-20 Intel Corporation Load balancing and failover
US7428635B2 (en) * 2004-03-31 2008-09-23 Emulex Design & Manufacturing Corporation Method of writing non-volatile memory that avoids corrupting the vital initialization code
US8229301B2 (en) * 2004-09-07 2012-07-24 Finisar Corporation Configuration of optical transceivers to perform custom features
US7801449B2 (en) * 2004-09-07 2010-09-21 Finisar Corporation Off-module optical transceiver firmware paging
US7974538B2 (en) * 2004-10-29 2011-07-05 Finisar Corporation Transaction for transceiver firmware download
US7957651B2 (en) * 2004-10-29 2011-06-07 Finisar Corporation Configurable optical transceiver feature specific cost transaction
US7802124B2 (en) * 2004-10-29 2010-09-21 Finisar Corporation Microcode configurable frequency clock
US7454605B2 (en) * 2004-11-18 2008-11-18 International Business Machines Corporation Method for adapter code image update
US7805392B1 (en) 2005-11-29 2010-09-28 Tilera Corporation Pattern matching in a multiprocessor environment with finite state automaton transitions based on an order of vectors in a state transition table
US8886929B2 (en) * 2006-03-29 2014-11-11 Intel Corporation Generating a chain of trust for a virtual endpoint
US7877401B1 (en) * 2006-05-24 2011-01-25 Tilera Corporation Pattern matching
US8578335B2 (en) 2006-12-20 2013-11-05 International Business Machines Corporation Apparatus and method to repair an error condition in a device comprising a computer readable medium comprising computer readable code
US8898653B2 (en) 2007-06-27 2014-11-25 International Business Machines Corporation Non-disruptive code update of a single processor in a multi-processor computing system
US8402259B2 (en) * 2009-11-30 2013-03-19 International Business Machines Corporation Accelerating wake-up time of a system
US8495351B2 (en) * 2010-10-13 2013-07-23 International Business Machines Corporation Preparing and preserving a system configuration during a hot upgrade
GB2515554A (en) 2013-06-28 2014-12-31 Ibm Maintaining computer system operability
US10666540B2 (en) * 2017-07-17 2020-05-26 International Business Machines Corporation Dynamic time-domain reflectometry analysis for field replaceable unit isolation in a running system
US10860333B1 (en) * 2019-10-14 2020-12-08 Western Digital Technologies, Inc. Interleaved host reset and next re-initialization operations

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695944A (ja) 1992-09-14 1994-04-08 Fujitsu Ltd ファイル入替方法
JPH0799674A (ja) 1993-09-27 1995-04-11 Fujitsu Ltd 情報処理装置の部分ファイル更新方式
JPH0895772A (ja) 1994-09-22 1996-04-12 Toshiba Corp 計算機システム及びプログラム置換方法
JPH0954690A (ja) 1995-08-11 1997-02-25 Fujitsu Ltd ファイル入替方式
US5727177A (en) * 1996-03-29 1998-03-10 Advanced Micro Devices, Inc. Reorder buffer circuit accommodating special instructions operating on odd-width results
US5960445A (en) * 1996-04-24 1999-09-28 Sony Corporation Information processor, method of updating a program and information processing system
KR100298420B1 (ko) * 1997-03-10 2001-10-24 윤종용 롬바이오스의업데이트방법
KR100258966B1 (ko) * 1997-05-02 2000-06-15 윤종용 시리얼 통신을 이용한 바이오스 업그레이드 방법
US6684393B1 (en) * 1999-01-29 2004-01-27 International Business Machines Corporation Compilation method and system to reuse memory storage instead of allocating it
US6438688B1 (en) * 1999-03-24 2002-08-20 Dell Usa, L.P. Method and computer for locally and remotely updating a basic input output system (BIOS) utilizing one update file
US6658659B2 (en) * 1999-12-16 2003-12-02 Cisco Technology, Inc. Compatible version module loading
US6732267B1 (en) * 2000-09-11 2004-05-04 Dell Products L.P. System and method for performing remote BIOS updates
US6990577B2 (en) * 2001-08-10 2006-01-24 Intel Corporation Updating a BIOS image by replacing a portion of the BIOS image with a portion of another BIOS image
US20040003377A1 (en) * 2002-06-28 2004-01-01 Di Loreto Michael A. Converting byte code instructions to a new instruction set
US7185331B2 (en) * 2002-08-27 2007-02-27 Inrange Technologies Corporation Method and apparatus for downloading executable code in a non-disruptive manner

Also Published As

Publication number Publication date
SG112105A1 (en) 2005-06-29
JP4620430B2 (ja) 2011-01-26
CN100349118C (zh) 2007-11-14
CN1627261A (zh) 2005-06-15
JP2005166043A (ja) 2005-06-23
US7313681B2 (en) 2007-12-25
US20050125650A1 (en) 2005-06-09
TW200528991A (en) 2005-09-01

Similar Documents

Publication Publication Date Title
TWI322356B (en) Apparatus, system, and method for adapter fastload
US7475282B2 (en) System and method for rapid restoration of server from back up
US7353355B1 (en) System and method for rapid restoration of server from backup
US7660867B2 (en) Virtual computer system and virtual computer migration control method
US7640409B1 (en) Method and apparatus for data migration and failover
US20160150012A1 (en) Content-based replication of data between storage units
US9460028B1 (en) Non-disruptive and minimally disruptive data migration in active-active clusters
US8225133B1 (en) System and method for on-the-fly migration of server from backup
US7028177B2 (en) Array controller ROM cloning in redundant controllers
US8037267B2 (en) Remote copy system and remote site power saving method
US8788636B2 (en) Boot controlling method of managed computer
US20070244941A1 (en) Method and System to Quarantine System Software and Configuration
US20140115390A1 (en) Power failure management in components of storage area network
JP2007334878A (ja) データを長期間アーカイブするシステムと方法
US7657720B2 (en) Storage apparatus and method of managing data using the storage apparatus
FR2772947A1 (fr) Systeme pour la reprise apres incident dans un ordinateur utilisant un support amovible a haute capacite
US11573737B2 (en) Method and apparatus for performing disk management of all flash array server
US7363437B2 (en) Shared/exclusive control scheme among sites including storage device system shared by plural high-rank apparatuses, and computer system equipped with the same control scheme
JP2000298554A (ja) Raidデータ記憶システムにおける瞬時バックアップを提供する方法及びシステム
TWI342516B (en) Apparatus, system, and method for adapter code image update
TWI531901B (zh) 群組表資料沖除技術
JP2005533318A (ja) ストレージ・サービスおよびストレージ・システム
JP5466650B2 (ja) ストレージ・コピー・サービス・システムを管理する装置および方法
US20110022828A1 (en) Non-disruptive methods for updating a controller of a storage system
JP5314731B2 (ja) データ処理装置間の基本入出力プログラムの同期化方法及びコンピュータシステム

Legal Events

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