TWI363297B - Multi-mode memory controller for upgrading firmware in phases and related apparatus,removable memory card,method and computer readable medium - Google Patents

Multi-mode memory controller for upgrading firmware in phases and related apparatus,removable memory card,method and computer readable medium Download PDF

Info

Publication number
TWI363297B
TWI363297B TW096142097A TW96142097A TWI363297B TW I363297 B TWI363297 B TW I363297B TW 096142097 A TW096142097 A TW 096142097A TW 96142097 A TW96142097 A TW 96142097A TW I363297 B TWI363297 B TW I363297B
Authority
TW
Taiwan
Prior art keywords
firmware
upgrade
copy
state
mode
Prior art date
Application number
TW096142097A
Other languages
English (en)
Other versions
TW200832226A (en
Inventor
Lee Merrill Gavens
Charles Michael Schroter
Shing Wong
Original Assignee
Sandisk 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
Priority claimed from US11/594,283 external-priority patent/US8286156B2/en
Priority claimed from US11/594,583 external-priority patent/US20080109647A1/en
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200832226A publication Critical patent/TW200832226A/zh
Application granted granted Critical
Publication of TWI363297B publication Critical patent/TWI363297B/zh

Links

Classifications

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

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

1363297 九、發明說明: 【發明所屬之技術領域】 此發明一般係關於非揮發性記憶體及可移除記憶體器 件’且更特足&之係關於用於按相位升級儲存於非揮發性 記憶體内之韌體以及於原處恢復韌體以補償失敗之動體升 級的5己憶體控制器。各種具體實施例中,記憶體控制器可 在揮發性記憶體保持功能性時升級並恢復韌體。 【先前技術】 可移除S己憶體器件’例如快閃記憶卡,通常實施用於管 理目錄及包括糸統標案的構案之標案系統。系統標案通常 包含用於初始化快閃記憶卡及用於介接具有非揮發性記憶 體内之5己憶體空間的主機電子器件之動體(即"快閃勤體”) 指令。有時’升級韌體指令以校正"程式錯誤"及其他缺 陷。 但升級勤體之傳統技術的共同缺點係升級程序期間的功 率損失可導致資料毀損。例如’若在寫入新資料至快閃記 憶卡時快閃記憶卡與其電源及/或資料來源斷開,通常會 室又相勒體。使用加你時更會惡化毀損β通常,動體毀損不 可撤消,其使得快閃記憶卡無法操作。使用者幾乎無選 擇,只能將快閃記憶卡運送回至製造商(或某第三方)以復 原其功能性。但在製造商處復原韌體之缺點係傳統韌體復 原程序期間通常會抹除儲存於快閃記憶體内之應用程式資 料。 升級韌體之其他傳統方法係針對減小升級程序期間中斷 126481.doc 1363297 之影響。雖然該等其他方法有作用,由於某些方法與記憶 體功能性串列地升級韌體,其看似非最佳。因此,該等方 法不能充分令使用者及/或非揮發性記憶體(及其應用程式) 之功能性對韌體升級及資料復原機制期間的功率瓦解免 疫。 需要提供最小化與用於(例如)在可移除記憶體器件内升 級非揮發性記憶體及復原韌體之傳統技術相關聯的一或多 個缺點之改良式技術與結構。 【發明内容】 此發明係關於一種用於按相位升級儲存於一非揮發性記 憶體之韌體以及於原處恢復韌體以補償失敗之韌體升級的 裝置、§己憶體控制器及系統。各種具體實施例中,該裝 置、記憶體控制器及系統可在該非揮發性記憶體保持功能 性時升級並恢復該韌體。一項具體實施例中,一多模式記 憶體控制器包括一韌體選擇器,其用以選擇用於在一功能 模式中存取的韌體之一第一複本,以及用以選擇用於在一 升級模式中升級的該韌體之一第二複本。其亦可包括一相 位升級控制器,其經組態用以與在該升級模式中用一升級 韌體之至少一部分取代該第二複本之至少一部分_致或實 質上一致地在該功能模式中存取該第一複本。 【實施方式】 圖1係依據本發明之至少一項具體實施例用於在非揮發 性記憶體保持功能性時按相位升級儲存於非揮發性記憶體 内之韌體的裝置之方塊圖。所示範例中,裝置1〇〇包括多 126481.doc 1363297 模式記憶體控制器11 ο、相位升級控制器120及非揮發性記 憶體130,其包括用於韌體之第一複本("主要複本")14〇、 • 韌體之第二複本("次要複本")142以及為電子器件(未顯示) • 儲存之應用程式資料144的記憶體位置。多模式記憶體控 . 制器110經組態用以實施用於升級非揮發性記憶體130内之 韌體的升級模式’其與非揮發性記憶體13〇用作記憶體健 存器之功能模式一致或實質上一致。例如,多模式記憶體 Φ 控制器110全部或部分可經組態用以在功能模式期間從第 一複本140及/或應用程式資料144讀取資料m及向其寫入 資料124,同時多模式記憶體控制器u〇在升級模式期間用 升級韌體("新韌體”)126取代第二複本142之至少一部分。 因此,非揮發性記憶體130可具有其記憶體位置内之一部 分150,其用作與至另一部分152内之其他記憶體位置的韌 體升級平行之儲存。某些具體實施例中,同時升級及功能 模式用於避免非揮發性記憶體13〇(與其應用程式)之功能性 • 在與作為記憶體儲存器而實行非揮發性記憶體130串聯地. 實施韌體升級時的低效。 • 另一具體實施例中,多模式記憶體控制器1 10可在功能 ^ 模式内操作韌體及應用程式資料144之第一複本140作為記 • 憶體儲存器,而在復原模式中恢復第二複本142内之韌 體。某些具體實施例中,同時功能及復原模式用於將非揮 發性記憶體1 30之功能性與韌體升級期間之中斷隔離,例 如功率瓦解。一項具體實施例中,多模式記憶體控制器 11 〇可經組態用以於原處復原韌體,而不從裝置丨〇〇内之實 126481.doc 1363297 施移除非揮發性記憶體130,或採用電子主機器件(未顯 示)。 相位升級控制器120全部或部分可經組態用以透過狀態 進展引導升級操作模式。若破壞性事件暫停升級模式,相 位升級控制器120可藉由經過升級模式之^一剩餘數目之狀 態繼續升級韌體《例如,相位升級控制器12〇可偵測破壞 性事件暫停先前升級模式之狀態,接著在發生破壞性事件 之狀態中或附近繼續韌體升級。因此,相位升級控制器 120可省略先前完成狀態,以保留多模式記憶體控制器i 之什算資源’否則其會被消耗於重複已在先前升級模式中 成功完成之狀態。 相位升級控制器120可進一步經組態用以將來自第一勃 體複本140或第一勒體複本142之原始勒體之至少一部分與 升級韌體126合併以形成韌體之第二複本142内的升級複本 之至少一部分。一項具體實施例中,相位升級控制器i2〇 經組態用以將韌體之一部分("P")16〇複製到韌體之另一部 分('P")162。因此,相位升級控制器12〇可重新使用舊韌體 (或其部分)以透過多重升級模式予以保留。應保留之韌體 及/或系統檔案的範例係參數資料(例如時脈調整值),其最 初係由製造商程式化且無法獨立於原始韌體容易地決定。 本文所使用之術語”多模式"至少在一項具體實施例中表 示可同時或幾乎同時在多重模式中實施非揮發性記憶體操 作之記憶體㈣H或料的㈣。例如,多模式記憶體控 制器可實質上平行地實施以下模式之兩個或多個:功能記 126481.doc •10- 1363297 憶體模式、升級模式及復原模式。本文所使用之術語"相 位升級"至少在一項具體實施例中表示促進按相位之韌體 升級之任何控制器或模式《術語"相位"至少在某些具體實 施例中可與術語"狀態"互換地使用。一項具體實施例中, 單一狀態可形成升級韌體之整個複本,而其他狀態係保留 用於確認新韌體,以及其他類似操作。本文所使用之術語 "破壞性事件"至少在一項具體實施例中表示韌體升級程序 之無意或有意中斷。無意破壞性事件之範例包括功率損 失、毁損資料完整性之瞬變相關錯誤等等。有意破壞性事 件之範例包括功率循環(例如關閉和開啟電源)、重設及/或 重新開機記憶體控制器等等。 本文所使用之術語"功能模式"至少在一項具體實施例中 表不非揮發性汜憶體實施執行記憶體之功能(例如資料儲 存功能)的能力。功能模式期間,記憶體控制器(例如)可存 取物體及/或應用程式資料,以促進記憶體之功能性。例 如,裝置100在功能模式期間可執行一或多個指令以及存 取儲存於第一複本140内之資料或應用程式資料144。本文 所使用之術語’’升級模式"至少在一項具體實施例中表示非 揮發性記㈣升級可執行_指令之能力,其提供優於先 前版本的增強。依據各種具體實施例中,可選擇性地升級 非揮發性記憶體。例如’可將當前可執行㈣指令與新可 執行勤體指令合併,以形成升級勒體。各種具體實施例 中’按相位或一數目之狀態實施升級模式,以便記憶體控 制器可在破壞性事件已發生之狀態下繼⑲體升級,從而 126481.doc • 11 · 1363297 省略先於破壞性事件之至少一個狀態。本文所使用之術語 ’’復原模式"至少在一項具體實施例中表示非揮發性記憶體 恢復韌體至失敗容許狀態之能力,例如藉由復原中止之升 級模式之後的韌體之冗餘複本。各種具體實施例中,將復 原模式實施為"原處"復原模式,藉此記憶體控制器可恢復 非揮發性記憶體内之韌體以結合主機器件在操作期間獲得 失敗安全操作,其作為一範例。應注意某些具體實施例 中’升級模式及復原模式一般發生於"背景中",因此非揮 發性記憶體之功能性可繼續無障礙,或實質上無障礙。某 些情形中,功能模式可優先於升級或復原韌體。 一或多項具體實施例中,韌體之第一複本(”主要複本,,) 14 0用於對非揮發性記憶體13 〇提供功能性,而勤體之第二 複本(”次要複本”)142用作冗餘韌體,其在第一複本14〇毀 損或以其他方式不可用時當作韌體之備份複本。因此,第 一複本140及第二複本142在除升級模式外的模式中一般包 括相同勒體資料及/或指令。應注意,韌體之第一複本i 4 〇 或勒體之第二複本142可係用於動體升級之初始複本主 件,而另一複本隨後升級。本文所使用之術語"勒體"至少 在一項具體實施例中表示用於作為資料儲存器之可移除記 憶卡及/或非揮發性記憶體之設施功能性的可執行指令及/ 或資料。某些情形中’韌體可用於實施系統檔案。應注 意,圖1内所說明之一或多個元件(以及圖丨後所說明之元 件)可實施在軟體(韌體)或硬體或者兩者中。亦應注意,圖 1内(以及其他圖式内)所說明之元件及其功能性可與一或多 126481.doc •12· 1363297 個其他70件聚集,或者,可將元件及其功能性細分為構成 子元件(若有)。 圖2係描述依據本發明之一項具體實施例用於在韌體升 級期間促進非揮發性記憶體功能性的方法之一範例的流程 圖如圖所示,流程2〇〇始於202,其中記憶體控制器(例 如)可平行地操作多個操作模式。因此,流程2〇〇包括兩個
平行流程:描述功能模式之子流程21〇及描述升級模式之 子流程240。子流程210及子流程240分別於220選擇用於執 行之第一組勃體指令(或記憶體位置),例如主要動體複本 内之該等指令及/或資料,以及在25〇選擇用於升級之第二
組韌體指令(或記憶體位置),例如次要韌體複本内之該等 指令及/或資料。子流程21()繼續至222,此處多模式記憶 體控制器(例如)執行來自第一組韌體指令之一或多個指 令。應注意,某些具體實施例中,多模式記憶體控制器亦 可敎行來自使用者位址空間内包含應用程式資料之記憶體 位置的指令。5外,控制器可寫入及/或讀取來自使用者 位址空間或第-勃體複本的該等記憶體位置之資料。子流 程2U)繼續在功能模式期間存取第—_體指+,例如, 只要相位升級控制器在2 2 4指定用於執行之第一組。 繼續執行第一組韌體指 子流程240平行或實質上平行地 子流程240在252 令,以升級第二組韌體指令。特定言之 從(例如)經組態用以獲得新韌體 〇又作啊靭體之主機電子器件匯入升級 資料’並在2 5 4維持至少草此馬私知触 ^呆些原始韌體指令及/或資料。 256中’子流程240將匯入之升银眘姐 心开級貢枓(即新韌體之部分)與 126481.doc -13- 1363297 田則韌體(即舊韌體之部分)合併,以形成韌體之升級複 • 本作為第一組韌體指令。接下來,子流程240在260確認 升級勒體’以確認韌體升級已成功。 若成力夕模式記憶體控制器交換用於第一及第二組韌 • 體扎7之私疋。特定言之,選擇在子流程210内參與之226 • 冑用於執行之第〔組’在子流程240内之262選擇用於升級 之第、·且成功升級第一組後,子流程240終止於264,並 • 且子流程210在228針對正常操作狀態選擇用於執行的升級 之第一組作為主要複本。因此,升級之第二組可用作冗餘 "第二複本”’以確保失敗安全操作。 圖3係依據本發明之至少一項具體實施例用於按相位升 級韌體之夕模式5己憶體控制器的方塊圖。所示範例中,多 模式記憶體控制器300可包括相位升級控制器31〇及一或多 個以下器件:勃體選擇器320、錯誤日諸管理器33〇、多路 徑復原模組340及格式轉換器35〇。多模式記憶體控制器 • 300經組態用以經由命令/資料流與(例如)主機(未顯示)交 換入站/離埠(,,IB/0B,·)資料3〇2。入站/離埠資料3〇2可包括 • 命令、指令及資料,其包括應用程式資料。依據一項具體 • 實施例,升級模式期間,主機可向多模式記憶體控制器 3 00傳送用於啟始及完成升級模式之入站/離琿資料3 作 為主機命令。主機亦可傳送新韌體作為用於寫入非揮發性 s己憶體(未顯示)之入站/離埠資料3〇2。入站/離槔資料3〇2 亦可包括應用程式資料(例如用於數位相機應用之影像資 料),其係寫入非揮發性記憶體或從非揮發性記憶體讀 126481.doc -14· 1363297 取,或者入站/離埠資料302可包括用於由主機内處理器(未 顯示)或由多模式記憶體控制器3〇〇執行之指令。 韌體選擇器320經組態用以針對升級模式内之升級選擇 初體之兩個複本之一,並針對功能模式期間之存取選擇韌 體之另一複本。相位升級控制器31〇及韌體選擇器32〇合作 以根據升級模式之狀態選擇主要韌體複本322及次要韌體 複本324之記憶體位置。某些情形中,主要韌體複本322依 據功能模式操作,而次要韌體複本324依據升級模式操 作反之亦然。依據一項具體實施例,動體選擇器3 2 〇經 組態用以選擇用於升級之任何數目之韌體複本之一,以及 針對支援功能模式選擇來自剩餘數目之複本的至少一個其 他複本。韌體選擇器320可將韌體之部分從任何韌體複本 複製到任何細體複本。某些具體實施例中,勒體選擇器 320亦可實施類多工器功能,因為其可在功能模式期間在 主機與主要韌體複本3 22之間發送指令及/或應用程式資 料,並且其可在升級模式中將寫入資料作為新韌體發送至 次要韌體複本324。應注意,韌體選擇器32〇可同時或幾乎 同時在複本322及324之間發送資料,而與其特定操作模式 無關。 相位升級控制器3 10經組態用以識別韌體升級之狀態, 其中破壞性事件發生於先前實施之升級程序中,並在停留 處繼續韌體升級《錯誤曰誌332係作為儲存庫經組態用以 儲存狀態資訊’包括狀態指示項。本文所使用之術語,,錯 誤曰諸”至少在一項具體實施例中表示用於儲存狀態資訊 126481.doc 1363297 之儲存庫》例如,狀態資訊可包括識別符,其指示升級模 式之最後成功完成相位’以便若存在插入破壞性事件,記 • 憶體控制器可彈性地繼續升級模式。某些具體實施例中, • 可將錯誤日諸儲存於快閃記憶體之特定區塊或分離記憶體 内0 « 錯誤日誌管理器330經組態用以儲存及/或擷取用於相位 升級控制器310之狀態資訊。操作t,當升級動體複本 φ 時’錯誤日誌管理器330儲存代表升級模式之本狀態(或相 位)的指示項。相應地,若破壞性事件中斷升級程序,相 位升級控制器310可偵測破壞性事件插入前成功完成的最 後狀態(或相位)。接著,升級程序可繼續,而不重複成功 元成之狀態。一項具體實施例中,錯誤日該管理器330在 多模式記憶體控制器300之開機期間將狀態資訊從錯誤曰 誌332傳達至相位升級控制器310,其依次決定根據儲存之 狀態資訊的動作過程《例如,相位升級控制器31〇及錯誤 • 日誌管理器330可合作以決定韌體升級與指示完整(例如成 功)韌體升級及不完整(例如不成功)韌體升級之狀態相關 聯。 • 多路徑復原模組經組態用以回應破壞性事件而與韌 • 體複本(例如次要韌體複本324)之一組位置相關聯地實施全 部或部分之原處復原。某些具體實施例中,經過升級之韌 體複本係動體之冗餘複本。升級模式期間,抹除冗餘複本 以準備將新及舊動體寫入,從而形成勃體之升級複本。破 壞性事件中斷升級程序,從而留下自其重新開機的一已知 126481.doc 1363297 良好韌體複本。但某些情形中單—複本可能無法提供充分 容錯。因此,多路徑復原模組340經組態用以恢復韌體至 失敗容許狀態,例如藉由復原韌體至冗餘複本。顯然,多 路徑復原模組340可實質上與另一韌體複本内的韌體指令 之執行平行地實施韌體復原。 本發明之各種具體實施例中,多路徑復原模組34〇實施 到達初體復原之至少兩個路徑(即多重路徑),路徑選擇根 據升級程序之狀態。若多重路徑復原模組34〇決定一狀態 與第一狀態子集相關聯,則採用第一復原路徑,而若狀態 與第二狀態子集相關聯,則採用第二復原路徑。發生於來 自第一子集或第二子集之狀態的破壞性事件可導致儲存指 示不元整勃體升級之狀態。為說明此點,考慮以下範例, 其中第一狀態子集包括"僅舊"狀態及"嘗試新"狀態,而第 二狀態子集包括”僅新”狀態。"僅舊"及,,嘗試新"狀態期 間’抹除次要韌體複本324以準備將升級寫入韌體。若破 壞性事件發生於該等狀態期間,次要韌體複本324不可用 於冗餘目的。因此,多重路徑復原模組34〇採用第一路徑 並藉由將主要韌體複本322複製到用於次要韌體複本324之 記憶體位置内來復原次要韌體複本324内之韌體。因此,,,僅 新"狀態期間,抹除主要韌體複本322以準備將升級寫入韌 體。若破壞性事件發生於該狀態期間,主要韌體複本322 不可用於冗餘目的。因此,多重路徑復原模組34〇採用第 二路徑並藉由將次要韌體複本324複製到用於主要韌體複 本322之記憶體位置内來復原主要韌體複本322内之動體。 126481.doc -17-
I 格式轉換11350可經組態用以將代表_之至少 的貧料從舊槽案映射格式轉換至新播案刀 映射"係在非揮發性記憶體(包括快閃記憶體)内二 :(或區段)間提供映射之楷案。對於各播案,檀㈣射: 槽案名稱(即檀_、播案大小、位置及詩定位檔: 之其他資料。但若修改播案映射以(例如)表収位槽幸^ 不同方式,則舊槽案映射格式内之舊知體槽案應轉換為新 槽案映射袼式。為說明此點,考慮將舊_與新勃體合併 2成升級_複本之情形。考慮新勒體包括新播案映射 式。首先’從(例如)主要勒體複本322複製具有舊槽案映 射格式之勃體。接下來,格式轉換器35〇將具有舊槽案映 射格式之勒體轉換為具有新檔案映射格式之相_體。然 後’將新檔案映射格式之舊勃體與新動體合併,從而形成 新槽案映射格式之升級動體複本,例如其在次要動體複本 324 内。 圖4係描述依據本發明之一項具體實施例用於在韌體升 級期間促進非揮發性記憶體功能性的方法之一範例的流程 圖。所示範例中,流程4〇〇始於4〇2,此處記憶體控制器 (例如)可操作以從破壞性事件重新開機,而無視先前韌體 升級疋有意還是無意地中斷。重新開機期間,記憶體控制 器可在404決定升級狀態’例如藉由存取錯誤日誌以決定 非揮發性記憶體是否處於41〇之正常狀態、43〇之升級次要 狀態、450之確認狀態或47〇之升級主要狀態。若記憶體控 制器在正常操作狀態後重新開機,則記憶體控制器將在 126481.doc -18- 1363297 412繼續執行來自(例如)主要韌體複本之一組韌體指令及/ 或資料。 來考慮升級模式已開始。此情形中,記憶體控制 器藉由在432儲存作為狀態之指示項"僅舊"於43〇進入"升 , 級次要狀態"。"僅舊"狀態指示自其開機之舊韌體(例如主 要韌體複本)可用,因為將在434抹除冗餘複本(例如次要韌 體複本)。接著,記憶體控制器在436可選擇地將舊韌體之 • 。卩分從主要("P")複製到次要("S")韌體位置。若用於新韌 體之新檔案映射存在於44〇,則舊韌體之部分係在442轉換 為新檔案映射格式。在438將新韌體作為升級資料寫入次 要韌體位置之其他部分内。新及舊韌體係在444合併至一 起,以形成升級韌體之一複本。接下來,在446確認升級 動體’以決定是否已成功升級動體。應注意,若記憶體控 制盗決疋錯誤日諸在重新開機後包含代表"升級次要狀態" 之指示項,則記憶體控制器先前已開始升級模式,其在此 # 〖態期間可能被中斷。依據-項具體實施例,記憶體控制 器可進入復原模式以恢復第二韌體複本。另一具體實施例 • 中,關於僅舊”之上述動作可重複至到達"嘗試新"狀態, • 從而繼續向前以完成升級模式,儘管無冗餘。 ' A程400繼續至45〇。若記憶體控制器決定其進入確認狀 態450,則其在452儲存作為狀態之指示項"嘗試新"。"嘗 試新”狀態指示已將升級勒體成功寫入次要勃體複本。接 下來,記憶體控制器使用升級勃體(即升級次要動體複本) 重新開機以在454確認升級款體。若韌體升級在未通 126481.doc -19- 過’則記憶體控制器進入復原模式458,以用主要勒體複 本之一複本取代無效升級韌體。應注意,若記憶體控制器 決定錯誤日諸在重新開機後包含代表"確認狀態"之指示 項,則記憶體控制器先前已開始升級模式,其在此狀態期 1可月b被中斷,從而留下待確認之升級韌體。依據一項具 體實細> 例,若破壞性事件發生,記憶體控制器可進入復原 模式458以恢復第二韌體複本。另一具體實施例中,關於"嘗 試新"之上述動作可重複至到達"僅新,,狀態,從而繼續向 前以完成升級模式。 若細體升級在456通過確認’則流程4〇〇在470繼續,其 中主要韌體複本經歷升級。若記憶體控制器決定其在47〇 進入升級主要狀態",則其在472儲存作為狀態之指示項"僅 新"。"僅新"狀態指示韌體升級對於次要韌體複本已成 功,並且接下來欲升級主要韌體複本。但直至成功升級主 要韌體複本,在474抹除主要韌體複本時自其開機之新韌 體可用。接著,記憶體控制器在476將升級次要韌體複本 複製到主要韌體複本内。478中,已升級韌體複本並將錯 誤曰誌重設為標準狀態,從而在48〇結束升級模式。應注 意,若記憶體控制器決定錯誤日誌在重新開機後包含代表 ··升級主要狀態”之指示項,則記憶體控制器先前已開始升 級模式,其在此狀態期間可能被中斷。因此,記憶體可採 用參考其他狀態相似地說明的動作過程。其他具體實施例 中,包括一或多個當前韌體複本及一或多個新韌體複本之 任何多重數目之韌體複本可分別在"僅舊”狀態及"僅新"狀 126481.doc •20· 1363297 態期間使用》 圖5係描述依據本發明之一項具艟實施例可根據狀態而 復原韌體之升級模式期間的狀態之狀態圖。例如,記憶體 控制器可根據狀態圖500對快閃記憶體實施韌體升級。所 示範例中,510處,記憶體控制器最初在正常狀態内("S1") 運作。其在502等待來自主機電子器件(未顯示)之升級命 令。若存在瓦解(即破壞性事件),無論是否無意,記憶體 控制器持續等待升級命令。一旦其接收該命令,錯誤曰誌 b理器在錯誤日總内儲存狀態識別符(例如"S2"),以指示 520處之"僅舊"狀態在進行中。此狀態中,抹除並用韌體 之升級複本取代目標韌體(例如次要韌體複本)。若無意破 壞性事件在此狀態期間發生(例如功率損失),記憶體控制 器可使用’僅舊"(即來自一或多個複本之當前韌體)開機, 以在560進入多重路徑復原操作模式。特定言之,記憶體 控制器在562採用第一復原路徑(”後退"),以將主要韌體複 本寫入次要韌體複本之抹除位置,從而恢復冗餘。應注 意,於510處,復原可與在正常模式(即功能模式)下運作之 記憶體控制器平行地發生。 若520處不存在瓦解,則記憶體控制器繼續至升級模式 之下狀態,其係530處的"嘗試新"狀態("S3"),錯誤日誌 s理器於期間儲存狀態識別符。此狀態中,已將新韌體成 功寫入第二韌體複本之記憶體位置。但尚未確認升級韌體 以確4其可操作性。若此狀態期間無意破壞性事件發生 (J如力率損失),記憶體控制器無法使用新韌體開機,因 126481.doc -21 - 1363297 為其還有待確認。因此,記憶體控制器在562採用第一復 原路徑("後退"),以針對容錯操作恢復冗餘複本。但若升 級操作模式期間未發生無意瓦解,則記憶體控制器將藉由 重設自身或藉由中斷電源供應(即實施功率循環)繼續升級 程序,以在532針對確認升級而在重新開機後使用升級韌 體。一項具體實施例中,當記憶體控制器執行升級韌體並 移動至下一狀態時確認升級韌體,其指示升級韌體可操 作。其他具體實施例中’藉由比較錯誤校正碼("ECc")以 及使用本技術中熟知的其他錯誤偵測技術確認升級韌體。 右530處不存在瓦解’則記憶體控制器繼續至升級模式 之下一狀態,其係540處的"進行新"狀態(”S4”),於期間發 生用於新韌體之確認。一項具體實施例中,當記憶體控制 器開機以(例如)避免重新開機至永久性為確認目的使用新 韌體的無限迴路内時,錯誤日誌管理器在錯誤日誌内儲存 狀態識別符。某些具體實施例中,記憶體控制器將故障韌 體升級等同於無意破壞性事件。因此,若在此狀態期間確 認韌體升級(或者若無意破壞性事件發生),記憶體控制器 在562再次採用第一復原路徑,以採用已知良好之韌體複 本(即主要複本)恢復冗餘複本。但若記憶體控制器開啟並 運行以確認成功韌體升級,記憶體控制器進入下一操作狀 態,其係550處之"僅新"("S5")狀態。將此狀態寫入錯誤曰 誌。此狀態中,抹除韌體之主要複本以準備接收韌體之升 級複本。 若狀態5 50期間存在破壞性事件,則不同於先前狀態, 126481.doc •22· 1363297
記憶體控制器不在560使用主要韌體複本進入多重路徑復 原模式。因此,記憶體控制器在564採用第二復原路徑("前 進")’以採用冗餘複本恢復主要複本。應注意,若主要複 本之韌體升級在550有故障,則記憶體控制器亦可採用第 二復原路徑。一項具體實施例中,記憶體控制器可選擇性 地使用主要複本内之新韌體重新開機,以確認新韌體。若 韌體升級至主要複本未得以確認,則記憶體控制器可在 564再次採用第二復原路徑。但若不存在瓦解,再次將主 要複本指定為用於任何隨後重新開機操作之"主要"複本, 並且記憶體控制器在510退出升級模式以進入正常狀態。 應注意在替代具时施财,可將狀態指示項儲存於㈣ 期間的開始、結束或任何時間。某些具體實施例中,”僅 舊"狀態可稱為”使用舊"狀態,·.嘗試"狀態可稱為"安裝新.· 狀態,"進行新"狀態可稱為,,確認"狀態,而"僅新"狀態可
稱為使用新狀態。某些具體實施例中,術語"使用舊"及"使 用新"分別不限於僅舊及僅新。 ® 6係依據本發明之至少一項具體實施例提供相位勃體 升級之可移除記㈣器件的方塊圖1示範例中,可移除 吞己憶體器件600#你 R3 & 、 “、1記憶卡’其包括記憶體控制器6〗〇及 快閃記憶體650。記愔轳柄在,e η 隐體控制器610包括處理器614,其提 供快閃記憶卡之許$力# & 、 此性’以及本發明之各種具體實施 例的某些態樣。虚理吳 j〇 器614亦可針對快閃記憶體650實施磨 才貝平衡及錯誤校正。夺悟骑祕在丨π °隐體控制器610亦包括用於儲存開 機ROM碼之非揮發性 。己隐體(開機r〇m碼,,)616以及用於 126481.doc -23- 1363297 儲存開機載入器碼之另一記憶體(例如"RAM”)620。儲存於 記憶體616及620内之碼可共同構成初始化指令。一項具體 實施例中,處理器614執行記憶體616内之碼以將開機載入 器碼("開機載入器”)656從主要複本652或次要複本654载入 至記憶體620内之開機載入器記憶體空間("blr")622。一 項具體實施例中,處理器614經組態用以執行來自記憶體 616之開機R〇M碼以決定為修改其系統檔案指定哪一韌體 複本。在執行開機ROM碼(即開機模式)時或附近,處理器 6 14存取錯誤日誌670以決定升級操作模式之狀態,及因此 決定是否使用來自主要韌體複本652或次要韌體複本654之 系統檔案690開機》—旦初始化記憶體控制器61〇及可移除 έ己憶卡600,主機(未顯示)可使用使用者空間692内之記憶 體位置來存取使用者定義之資料68〇。 s己憶體控制器610亦包括:主機介面("I/F")612,其用於 與主機交換資料及命令;記憶體介面("i/f")63〇,其用於 存取儲存於快閃記憶體650之若干區段内的檔案;傳輸緩 衝器(’,TRF”)624,其用於暫時儲存(例如)從主機向下傳送 以升級韌體複本之新韌體;以及時脈("elk")64〇,其用於 控制記憶體控制器610内之元件的時序。應注意,時脈64〇 之行為至少部分由作為參數660儲存於快閃記憶體65〇内之 時脈調整值控制。該等值應免於主要複本⑽或次要複本 …内之系統樓案_之修改。特定言之,參數標案66〇係"舊 物體"之資料範例’其係、複製、轉換至新檀案映射格式(可 選)’然後作為舊韌體662與新韌體664合併,以形成韌體 I26481.doc .24· 之升級複本的合併資料。應注意,至少一項具體實施例 中,系統檔案690包括相位升級控制器模組、錯誤日誌管 理器模組、韌體選擇器模組、多路徑復原模組及格式轉換 器模組,其各可包括可執行指令,當由處理器614執行 時,實施本文所述之各種功能。其他具體實施例中,該等 模組可實施於硬體(例如電路)或軟體或者其組合中。亦應 注意,記憶體616内之開機ROM碼及開機載入器記憶體空 間622内之開機載入器碼可駐留於一或多個記憶體内。 圖7係依據本發明之至少一項具體實施例包括主機及用 於在多重操作模式中實施相位韌體升級之可移除記憶卡的 系統之方塊圖。所示範例中,主機71 〇可為能夠使用可移 除記憶卡730作為儲存器並從遠端來源接收下載("d/1")升級 資料流702之任何電子器件,遠端來源可為可移除記憶卡 730之製造商》如圖所示,主機710係經由連接器720電耦 合至可移除記憶卡730。主機710包括升級管理器712及收 發器("TX/RX")714。可移除記憶卡730包括前端單元732及 其他器件,其經組態用以解密來自主機71〇之資料及命令 流’以及後端單元734 ’其包括相位升級控制器736 »後端 單元734在某些具體實施例中作為多模式記憶體控制器操 作。因此’後端單元734可存取快閃記憶體740及其構成元 件,其包括主要系統檔案("系統檔案")742、次要系統檔案 ("系統樓案")744及使用者資料空間746。 操作中,升級管理器712經組態用以發出命令並經由收 發器714將新韌體(來自升級資料流7〇2)中繼至可移除記憶 126481.doc -25· 1363297 卡730。操作中,升級管理器712可向相位升級控制器736 發出命令(例如)以啟始相位韌體升級。因此,升級管理器 712可發出另一命令以結束相位韌體升級。收發器 ("丁\/尺又")714運作以在升級模式期間傳送命令及新韌體至 可移除記憶卡730,並進一步運作以在功能模式期間提供 主機710對使用纟資料空間746之存取。各種具體實施例 中,例如,主機710或可移除記憶卡73〇或者兩者各可同時 在功能模式及升級模式内操作。 一項具體實施例中,可移除記憶卡73〇可為使用任何類 型快閃記憶體的任何種類之快閃記憶卡。快閃記憶體之範 例包括NOR、AND、分割位元線N〇R (DIN〇R)、反and (NAND)及其他快閃記憶體。至少一項具體實施例中,主 機710可為實施非揮發性記憶體之任何電子器件,例如快 閃記憶體746。類電子器件之範例包括可移&記憶體器 件’例如快閃記憶卡、通用序列匯流排(「⑽」)快閃驅 動器等等。電子器件實施用於各種應用之快閃記憶體,包 括數位相機、MP3音樂播放器、手持式計算器件、蜂巢式 電話及需要可移除儲存器之其他電子器件。快閃記憶卡之 範例包括各種以下商標之產品:SecureDighalTM(符合由加 州 San Ramon 的 SD Card Association 維持之規格)、
MulUMechaCardTM(符合由加州paI〇 Ah〇的d Association (”MMCA")維持之規格)、MiniSDm(由 Inc.製造)、Micr〇SD™(由 SanDisk,Inc 製造)、 C〇mpaCtFlaShTM (符合由加州 Palo Alt0 的 CompactFIash 126481.doc •26· 1363297
Association ("CFA”)維持之規格)、SinartMediaTM(符合由曰 本橫濱的 Solid State Floppy Disk Card ("SSFDC") Forum維 持之規格)、xD-Picture CardTM(符合由曰本東京的XD-Picture Card Licensing Office 維持之規格)、Memory Stick™(符合由日本橫濱的 s〇lid State Floppy Disk Card ("SSFDC") Forum維持之規格)、TransFlashTM(由 sanDisk,
Inc.製造)及其他快閃記憶卡。至少一個例項中,可將可移 除記憶卡730實施為非可移除記憶體器件。 前述針對解說目的之說明使用特定術語來提供本發明之 整體理解。不過,熟悉此項技術者會瞭解特定細節並非實 踐本發明所必須。事實上,此說明不應視為限制本發明任 何特徵或態樣於任何具體實施例,而是一項具體實施例之 特徵及態樣可易於與其他具體實施例互換。另外,儘管具 體實施例之上述說明係關於快閃記憶體,該說明可應用於 所有類型之非揮發性記憶體及需要軟體(即韌體)升級的基 於非揮發性記憶體之產品。 因此’本發明之特定具體實施例的前述說明係基於圖解 及說明之目的而提供。並不期望該等說明能詳盡或將本發 明限制為揭示的精確形式;可按照以上教導内容來實施許 多替代、修改、等效物及變更。基於清楚之目的,未詳細 說明與該等具體實施例相關之技術領域中已知的技術材料 、避免不必要地使該說明模糊不清。因此,可在隨附申請 專牙丨範圍之範疇及等效範圍内修改各種具體實施例。另 卜選擇並說明該專具體實施例以便對本發明之原理及其 126481.doc -27- 1363297 實際應用作出最佳的說明;從而使熟習此項技術者能夠適 應期望的特定用途進行各種修改來最佳地利用本發明及各 項具體實施例。顯然,並非本文說明的每個利益均需要由 . 本發明之各具體實施例加以實現;相反,任何特定具體實 • 施例均可以提供一或多個以上說明的優點。在申請專利範 圍中,元件及/或操作並不意味著操作的任何特定順序, 除非在申請專利範圍中明確聲明。期望下列申請專利範圍 φ 及其等效物定義本發明之範圍。 【圖式簡單說明】 結合附圖由以下詳細說明將更明白本發明及其各種具體 實施例,其t : 圖1係依據本發明之至少一項具體實施例用於在非揮發 性記憶體保持功能性時按相位升級儲存於非揮發性記憶體 内之韌體的裝置之方塊圖; 圖2係描述依據本發明之一項具體實施例用於在韌體升 • 級期間促進非揮發性記憶體功能性的方法之一範例的流程 圖; . 圖3係依據本發明之至少一項具體實施例用於按相位升 . 級韌體之多模式記憶體控制器的方塊圖; * 圖4係描述依據本發明之一項具體實施例用於在韌體升 級期間促進非揮發性記憶體功能性的方法之一範例的流程 1S1 · 圃, 圖5係描述依據本發明之一項具體實施例可根據狀態而 復原勤體之升級模式期間的狀態之狀態圖; 126481.doc •28· 1J03297 圖6係依據本發明之至少一項具體實施例提供相位韌體 升級之可移除記憶體器件的方塊圖;以及 圖7係依據本發明之至少一項具體實施例包括主機及用 於在夕重操作模式中實施相位韌體升級之可移除記憶卡的 系統之方塊圖。 在數個圖式中,相似參考數字表示對應部分。應注意,
大刀參考數字包括_或兩個最左數字其—般識別首次 引入該參考數字的圖式。 【主要元件符號說明】 裝置
100 110 120 126 130 140 142 150 152 160 162 300 310 322 324 多模式記憶體控制器 相位升級控制器 升級韌體 非揮發性記憶體 第一複本 第二複本 部分 部分 韌體之一部分 韌體之另一部分 多模式記憶體控制器 相位升級控制器 主要韌體複本 次要韌體複本 126481.doc -29- 1363297
330 錯誤日誌管理器 332 錯誤日諸 340 多路徑復原模組 350 格式轉換器 610 記憶體控制Is 612 主機介面 614 處理器 616 非揮發性記憶體 620 記憶體 622 開機載入器記憶體空間 624 傳輸緩衝器 630 記憶體介面 650 快閃記憶體 652 主要韌體複本 654 次要韌體複本 656 開機載入器(碼) 662 舊韌體 664 新動體 670 錯誤日諸 690 系統檔案 710 主機 712 升級管理器 714 收發器 720 連接器 126481.doc -30- 1363297 730 可移除記憶卡 732 前端單元 734 後端單元 736 相位升級控制器 740 快閃記憶體 742 主要系統檔案 744 次要系統檔案 126481.doc •31 -

Claims (1)

100年10月31曰修正替換頁I 第096H2097號專利申請案 中文申請專利範圍替換本(100年1〇月) 十、申請專利範圍·· 1 · 種用於按相位可選擇地升級勃體之多模式記憶體控制 器,該多模式記憶體控制器包含: 一韌體選擇器,其經組態用以選擇用於在一功能模式 中存取之韌體之一第一複本以及用於在一升級模式中升 級之該勃體之一第二複本;以及 一相位升級控制器,其係耦合至該韌體選擇器,該相 位升級控制器經組態用以: 在該功能模式中存取該第一複本,以及 在該升級模式中用一升級韌體之至少一部分取代該 第二複本之至少一部分, 其中該升級模式與該功能模式實質上一致。 2. 如請求項1之多模式記憶體控制器,其中該相位升級控 制器與該功能模式實質上一致地實施該升級模式,以在 轫體升級期間促進一非揮發性記憶體之功能性。 3. 如請求項1之多模式記憶體控制器,其中該相位升級控 制器進一步經組態用以將該韌體之至少另一部分與該升 級款體之a亥部分合併,以形成一升級複本之至少一部 分。 4. 如請求項3之多模式記憶體控制器,其中該相位升級控 制器進一步經組態用以: 在該升級模式中經過一數目之狀態,以及 在一破壞性事件暫停該升級模式後完成另一數目之該 等狀態。 12648M001028.doc η 100年10月31日修正替換頁 5. 如請求項4之多模式記憶體控制5|,苴士 w益’其中該相位升級控 制器進一步經組態用以: 在該數目之該%狀態中貫施離散升級操作 偵測該破壞性事件暫停一先前升級模式之一狀態,以及 在該升級模式省略該等狀態之至少 ± ^ l 主^ ~個時繼續該先前 升級模式。 6. 如請求項1之多模式記憶體控制器,其進—步包含: 一錯誤日誌,其經組態用以維持該升級模I式3之一狀 態。 7. 如請求項1之多模式記憶體控制器,复 八逆~步包含: 一多重路徑復原模組,其經組態用以在中止該升級模 式後的-復原模式期間恢復㈣體之該第二複本,該多 重路徑復㈣組經組態用以根據—狀態實施復原若干路 徑之一, 其中該復原模式與該功能模式實質上一致。 8. 如:求項1之多模式記憶體控制器,其中該相位升級控 制益及該韌體選擇器合作以根據該升級模式之一狀 擇該第一複本或該第二複本。 〜、 9. 一種用於按相位升級儲存於非揮 憶體内之韌體以 促進於原處從破壞性事件復原的裝置,該裝置包含: 非揮發性記憶體内之一笫一細 匕3 體; 門之《組位置,其用於儲存韌 其用於儲存該韌 非揮發性6己憶體内之一第二組位置, 體; 126481-100l028.doc 100年10月31日修正替換頁 —相位升級控制器,其經組態用以: 谓測-破壞性事件已中斷至該第二 升級, 韌體 回應該破壞性事件而實施與該第二組位置相關聯之 該原處復原,以及 存取該第一組位置, 其中該原處復原實質上與存取該第—組位置内之該款 體平行地發生’以促進該非揮發性記憶體之功能性。 10. 11. 12. 13. 如請求項9之裝置,其中該原處復原包括恢復該第二組 位置内之該韌體。 月求項9之裝置,其中該相位升級控制器進一步經組 態用以: 、' 針對該勃體升級選擇該第二組位置内之該韌體, 其中實貝上與存取該第一組位置内之該韌體平行地升 級該第二組位置内之該韌體。 用求項9之裝置,纟中該相位升級控制器進-步經έ且 態用以: ’ 將新初體之部分與該韌體之部分合併,以形成該第二 組位置内之一升級韌體。 月求項9之裝置’其中該相位升級控制器進一步經組 態用以: 識別'^破壞性事件已發生的該|57體升級之-狀態;以及 略°玄破壞性事件前之至少一個狀態而繼續該韌體升 級。 126481-1001028.doc 1363297_ 100年10月31曰修正替換頁 14. 如請求項13之裝置,其進一步包含·· 一錯誤日諸,其係配置為用於儲存狀態資訊之一儲存 庫;以及 一錯誤日諸、管理器,其係麵合至該相位升級控制器, 該錯誤日誌管理器經組態用以儲存代表該錯誤日誌内之 s玄狀態的一指示項。 15. 如請求項9之裝置’其進一步包含耦合至該相位升級控 制器之一原處復原模組’其用於實施該原處復原,該相 位升級控制器經組態用以: 決定該動體升級處於指示一不完整韌體升級之一狀態 中’以及該原處復原模組經組態用以: 恢復該第二組位置内之該韌體,以形成一恢復韌體, 其中貫質上與存取該第一組位置内之該韌體平行地形 成該恢復韌體。 16. 如叫求項9之裝置,其中該相位升級控制器進一步經組 態用以: 决疋該動體升級處於指示一完整韌體升級之一狀態 中; 針對'•亥拿刃體升級選擇該第一組位置内之該韌體;以及 存取4第二組位置内之一升級韌體, /、中實質上與存取該升級韌體平行地升級該第一組位 置内之該韌體。 17. 如晴求項9之奘署 展置其中該相位升級控制器進一步經組 態g守上 -*玄動體之該等部分從該第一組位置複製至該第 I26481-I001〇28.d〇c -4- 13.63297-一_ 100年10月31日修正替換頁 二組位置。 18. 如請求項9之裝置,其進一步包含耦合至該相位升級控 制器之一格式轉換器,該格式轉換器經組態用以將代表 該韌體之該等部分的資料之一子集從—舊檔案映射格式 轉換至—新檔案映射格式。 19. 如請求項9之裝置,其中該破壞性事件指示該第二組位 置包括不符合一升級韌體之指令。 20. —種包括可按相位升級之韌體的可移除記憶卡,該可移 除記憶卡包含: 一包括記憶體位置之快閃記憶體,其經組態用以儲 存: 韌體之一主要複本,以及 該韌體之一次要複本;以及 一輕合至該快閃記憶體之記憶體控制器,其經組態用 以: 在該主要複本或該次要複本之一複本内修改系統檔 案’以形成一升級複本,以及 執行來自該主要複本或該次要複本之另一複本的韌 體指令, 其中該等韌體指令之執行及該等系統檔案之修改發生 於一共同時間間隔内。 21. 如請求項20之可移除記憶卡,其中該記憶體控制器包 括: 一記憶體,其包括初始化指令;以及 126481-1001028.doc 1363297__ 100年10月31日修正替換頁 一處理器’其經組態用以執杆兮望. 以決定 制器包 制*仃该等初始化指令 為修改該等系統檔案指定哪一該—個複本。 22. 如請求項21之可移除記憶卡,其中該記憶體控 括: 二 一非揮發性記憶體’其經組態用以儲存該等初如化尸 令之:部分作為一開機碼,該處理器執行該開機心 開機載入器碼指令載入該記憶體作為該等初始化指令之 另一部分。 _ 23. 如請求項22之可移除記憶卡,其中將 ,、τ肘忑寺開機載入器碼 指令儲存於該主要複本或該次要複本之各複本内。 24. 如請求項22之可移除記憶卡,其中該快閃記憶體包括一 錯誤日誌,其經組態用以儲存代表形成該升級複本之一 狀態的狀態資料,該處理器進一步經組態用以在—開機 模式期間存取該狀態並根據該狀態選擇用於修改之該一 個複本及選擇用於執行之該另一複本。 25. 如請求項20之可移除記憶卡,其進一步包含經組態用以 維持代表系統檔案修改之一狀態的狀態資料之一錯誤曰 諸, 其中該記憶體控制器經組態用以在一破壞性事件後的 一開機模式期間存取該狀態資料,以在一隨後狀態下繼 續形成該升級複本。 26. 如請求項2〇之可移除記憶卡,其中該記憶體控制器經組 態用以: 當系統檔案修改之一狀態係來自狀態之一第一子集時 126481-1001028.doc 1363297____ 100年10月3i日修正替換頁 執行來自該另一複本之該等韌體指令;以及 备系統檔案修改之該狀態係來自狀態之一第二子集時 執行來自該一個複本之修改韌體指令。 27.如吻求項26之可移除記憶卡,其尹該記憶體控制器進一 步經組態用以: 若來自該第一子集的系統檔案修改之該狀態係一,,正
常”狀態,則在一開機模式期間執行來自該主要複本或該 次要複本的該等韌體指令;以及 若來自該第—子集的系統檔案修改之該狀態係一"使 用舊”狀悲時,其指示該次要複本不可用,則在該開機模 式期間執行來自該主要複本之該等勃體指令。 如°月求項26之可移除記憶卡,其中該記憶體控制器進-步經組態用以: 當來自該第二子集的系統檔案修改之該狀態係一"確 S忍”狀態時,其指示該次要複本用於確認該升級複本,在 # 肖機模式期間執行來自該次要複本之該等修改勒體指 令;以及 , 當來自該第二子集的系統檔案修改之該狀態係一"使 , 用新狀態時,其指示該主要複本不可用’在該開機模式 期間執行來自該次要複本之該等修改韋刃體指令。 29·如°月求項26之可移除記憶卡,其中該記憶體控制器進— 步經組態用以: 當來自該第二子集的系統檔案修改之該狀態係-”安 裝新狀時’其指示該升級複本内之該等系統播案未經 126481-1001028.doc 100年10月31日修正替換頁 確認,在一 體指令。 開機模式期間執行來自該次要複本之該 30·如請求項20之可移除記憶卡, 步經組態用以: 若該升級複本無效,則在一 其中該記憶體控制器進— 一開機模式期間執行來自該 主要複本之該等韌體指令以恢復該次要複本之該等韌體 指令, 等韌體
行來自該主要複本之指令平行地發生。 31. —種用於在韌體升級期間促進非揮發性記憶體之功能性 的方法,該方法包含: 指定用於存取之韌體之一第一複本並指定用於升級之 該韌體之一第二複本; 存取來自該第一複本之一或多個韌體指令;以及 採用新韌體之至少一部分升級該第二複本之至少一部 分, 其中升級該第二複本之該部分與存取該一或多個韋刃體 指令實質上一致。 32. 如請求項31之方法,其中指定用於升級之韌體之該第二 複本根據該韌體升級之一狀態。 33. 如請求項31之方法,其中指定用於升級之韌體之該第二 複本包含: 決定用於一非揮發性記憶體之一韌體升級的一狀態; 以及 12648 卜1001028.doc -8 - 100年10月31日修正替換頁 在影響該韌體升級之破壞性事件中維持代表該狀態之 一識別符’該識別符指定在該韌體升級之一或多個狀態 中升級該第一複本或該第二複本之哪一個。 34. 如請求項3 1之方法,其中升級該第二複本之該部分包 含: 將該韌體之至少另一部分與該升級韌體之該部分合 併’以形成一升級複本之至少一部分。 35. 如請求項31之方法,其中升級該第二複本之該部分進一 步包含: 從該第一複本複製該韌體之另一部分;以及 將該另一部分寫入該第二複本。 3 6_如請求項31之方法,其進一步包含: 在該韌體升級内的一數目之狀態中實施離散升級操 作; 偵測一破壞性事件暫停一先前韌體升級之一狀態;以及 *亥韌體升級繼續該先前韌體升級,而省略在該先前 韌體升級中實施的該等狀態之至少一個。 37. 如請求項31之方法,其進一步包含: 偵測該韌體升級已中止;以及 恢復該韌體之該第二複本, 其中恢復該韋刃體之該第二複本與存取該一或多個勃體 指令實質上一致。 38. -種用於按相位升級儲存於非揮發性記憶體内之勃體以 促進於原處從破壞性事件復原的方法,該方法包含: 126481-1001028.doc 100年10月31曰修正替換頁 39. 40. 41. 42. 43. 44. 存取用於從儲存韌體之一第一組位置執行的餘體指 令; 摘測-破壞性事件已中斷至儲存該物體之一第二組位 置的一韌體升級;以及 回應該破壞性事件而實施與該第二組位置相關聯之原 處復原, 其中實施該原處復原實質上與存取該等韌體指令平行 地發生,以促進該非揮發性記憶體之功能性。 如明求項38之方法,其中實施該原處復原包括恢復該第 二組位置内之該餘體。 如請求項38之方法,其進一步包含: 針對該韌體升級選擇該第二組位置内之該韌體;以及 貫吳上與存取該第一組位置内之該等韌體指令平行地 升級s亥第二組位置内之該韌體。 如請求項38之方法,其進一步包含: 將新韌體之部分與該韌體之部分合併;以及 形成該第二組位置内之一升級韋刀體。 如請求項38之方法,其進一步包含: 將該韌體之部分從該第一組位置複製至該第二組位 置。 如請求項38之方法,其進一步包含: 將代表該動體之部分的資料之一子集從一舊檔案映射 格式轉換至一新檔案映射格式。 如請求項38之方法,其進一步包含: 12648M001028.doc -10- 100年10月31曰修正替換頁 識別該破壞性事件已發生的該韌體升級之一狀態;以及 省略該破壞性事件前之至少一個狀態而繼續該韌體升 級。 45. 如請求項44之方法,其進一步包含: 儲存代表該狀態之狀態資訊。 46. 如請求項38之方法,其進一步包含實施原處復原,其包 括: 決定該勃體升級處於指示一不完整韌體升級之一狀態 中;以及 恢復該第二組位置内之該韌體,以形成一恢復韌體, 其中實質上與存取該等韌體指令平行地形成恢復該韌 體。 47. 如請求項38之方法,其進一步包含: 決定該韌體升級處於指示一完整韌體升級之一狀態 中; 針對s玄韌體升級選擇該第一組位置内之該韌體; 升級s亥第一組位置内之該韌體;以及 存取用於執行的該第二組位置内之一升級韌體, 其中升級該第一組位置内之該韌體實質上與存取該升 級韌體平行地發生》 48_如請求項38之方法,其中該破壞性事件指示該第二組位 置包括不符合一升級韌體之指令。 49. 一種用於一可移除記憶卡之彈性升級韌體的方法,該方 法包含: I26481-1001028.doc •11- 1363292__ 100年10月31日修正替換頁 在該主要複本或該次要複本之一複本内修改系統檔 案,以形成一升級複本;以及 執行來自該主要複本或該次要複本之另一複本的韌體 指令, 其中執行該等韌體指令及修改該等系統檔案發生於一 共同時間間隔内。 5 0.如請求項49之方法,其進一步包含: 執行初始化指令以決定為修改該等系統槽案指定哪一 該一個複本。 51.如請求項50之方法,其進一步包含: 儲存該等初始化指令之一部分作為一開機碼;以及 執行該開機碼以將開機載入器碼指令載入一記憶體, 作為該等初始化指令之另一部分。 5 2.如請求項49之方法,其進一步包含: 儲存代表形成該升級複本之一狀態的資料;以及 在一開機模式期間存取代表該狀態之該資料,以根據 該狀態選擇用於修改之該一個複本及選擇用於執行之該 另一複本。 53·如π求項52之方法,其中存取該狀態進一步包含實施一 壞丨生事件後的一隨後開機模式,以在一隨後狀態下繼 續形成該升級複本。 54·如凊求項49之方法,其進一步包含: 當系統檔案修改之一狀態係來自狀態之—第一子集時 執行來自該另一複本之該等韌體指令;以及 12648M001028.doc •12· 1363297,-- 100年ίο月31曰修正替換頁 當系統檔案修改之該狀態係來自狀態之一第二子集時 執行來自該一個複本之修改韌體指令。 55.如請求項54之方法,其中執行來自該另一複本之該等韌 體指令包含: 若來自該第一子集的系統檔案修改之該狀態係一"正 常"狀態,則在一開機模式期間執行來自該主要複本或該 次要複本的該等韌體指令;以及 若來自該第一子集的系統檔案修改之該狀態係一"使 用舊狀態,其指示該次要複本不可用,則在該開機模式 期間執行來自該主要複本之該等韌體指令。 如吻求項54之方法,其中執行來自該一個複本之該等韌 體指令包含: ▲當來自該第二子集的系統檔案修改之該狀態係一"確 。狀I、時,其指示該次要複本用於確認該升級複本,在 開機板式期間執行來自該次要複本之該等修改勤體指 令;以及 來自該第—子集的系統檔案修改之該狀態係一 用新"狀態時,14 Λ ,、才曰不该主要複本不可用,在該開機模式 ’執行來自该次要複本之該等修改勃體指令。 57.如請求項54之方法,其進一步包含: 當來自該第 —子集的系統檔案修改之該狀態係—” 裝新"狀態時,装_ 嗦,在— 再晶不该升級複本之該等系統檔案未經確 二-開機模式期間執行來自該次要複本之該等韌體 12648M00iQ28.doc -13. 1363297-__ 100年ίο月31日修正替換頁 5 8.如請求項49之方法,其進一步包含: 若該升級複本無效,則在一開機模式期間 ^ 主要複本之該等物體指令以恢復該次要複 ^ § at a 尽之該等韌體 其中該次要複本之恢復實質上與執行來自該主 之指令平行地發生。 59. —種用於在韌體升級期間促進非揮發性記憶體之功能性
的電腦可讀取媒體,該電腦可讀取媒體包含用於以=各 項之可執行指令: 指定用於存取之拿刃體之一第一複本並指定用於升級之 該韌體之一第二複本; 存取來自該第一複本之一或多個韌體指令;以及 採用新韌體之至少一部分升級該第二複本之至少一部 分,
其中用於升級該第二複本之該部分的該等可執行指令 經組態用以與用於存取該一或多個韌體指令的該等可執 行指令實質上一致地執行。 60.如請求項59之電腦可讀取媒體,其中用以指定用於升級 之勒體之該第二複本的該等可執行指令係回應該韌體升 級之一狀態。 61·如請求項59之電腦可讀取媒體,其_用以指定用於升級 之拿刃體之該第一棱本的該等可執行指令包含用於以下各 項之可執行指令: 決定用於一非揮發性記憶體之一韌體升級的一狀態; 12648M00J028.doc -14- 97 100年10月对日修正替換頁 以及 在影響該拿刃體升級之破壞性事件令維持代表該狀態之 識別符,該識別符指定在該動體升級之一或多個狀態 ♦升級該第-複本或該第二複本之哪—個。 62_如請求項59之電腦可讀取媒體,其中用於升級該第二複 本之㈣分的”可執行指令包含用於以下各項之可執 行指令: ,將该韌體之至少另一部分與該升級韌體之該部分合 併’以形成一升級複本之至少一部分。 63.如請求項59之電腦可讀取媒體,其中用於升級該第二複 本之·»亥。[5刀的该等可執行指令包含用於以下各項之可執 行指令: 從該第一複本複製該韌體之一另一部分;以及 將該另一部分寫入該第二複本。 64·如請求項59之電腦可讀取媒體,其進一步包含用於以下 各項之可執行指令: 在該韌體升級内的一數目之狀態中實施離散升級操 作; 偵測一破壞性事件暫停一先前韌體升級之—狀態;以及 隨該初體升級繼續該先前韌體升級,而省略在該先前 韌體升級中實施的該等狀態之至少一個。 65.如請求項59之電腦可讀取媒體,其進一步包含用於以下 各項之可執行指令: 偵測該韌體升級已中止;以及 126481-I001028.doc 15 1363297_ 100年10月31曰修正替換頁 恢復該韌體之該第二複本, 其中用於恢復該韌體之該第二複本的該等可執行指令 經組態用以與用於存取該一或多個韌體指令的該等可執 行指令實質上一致地執行。 12648M001028.doc 16-
TW096142097A 2006-11-07 2007-11-07 Multi-mode memory controller for upgrading firmware in phases and related apparatus,removable memory card,method and computer readable medium TWI363297B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/594,283 US8286156B2 (en) 2006-11-07 2006-11-07 Methods and apparatus for performing resilient firmware upgrades to a functioning memory
US11/594,583 US20080109647A1 (en) 2006-11-07 2006-11-07 Memory controllers for performing resilient firmware upgrades to a functioning memory

Publications (2)

Publication Number Publication Date
TW200832226A TW200832226A (en) 2008-08-01
TWI363297B true TWI363297B (en) 2012-05-01

Family

ID=39370981

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096142097A TWI363297B (en) 2006-11-07 2007-11-07 Multi-mode memory controller for upgrading firmware in phases and related apparatus,removable memory card,method and computer readable medium

Country Status (2)

Country Link
TW (1) TWI363297B (zh)
WO (1) WO2008058101A2 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8286156B2 (en) 2006-11-07 2012-10-09 Sandisk Technologies Inc. Methods and apparatus for performing resilient firmware upgrades to a functioning memory
US8069345B2 (en) * 2008-10-29 2011-11-29 Netapp, Inc. Methods and systems for recovering a computer system using boot volume data from a storage area network
CN101782854A (zh) * 2009-01-19 2010-07-21 英业达股份有限公司 用于选择只读存储器模块间的沟通方法及系统
EP2214101A1 (de) 2009-01-29 2010-08-04 Siemens Aktiengesellschaft Verändern von Objekten einer Anwendung
JP5655677B2 (ja) * 2011-04-04 2015-01-21 富士通株式会社 ハイパーバイザ置き換え方法および情報処理装置
US9116774B2 (en) 2013-05-14 2015-08-25 Sandisk Technologies Inc. Firmware updates for multiple product configurations
CN108170368B (zh) * 2016-12-07 2024-01-23 北京忆恒创源科技股份有限公司 在线升级固件的方法及系统
IT201800000581A1 (it) 2018-01-05 2019-07-05 St Microelectronics Srl Metodo di gestione dell'accesso in tempo reale a una memoria differenziale, memoria differenziale e sistema elettronico includente la memoria differenziale
US11256442B2 (en) 2018-01-05 2022-02-22 Stmicroelectronics S.R.L. Real-time update method for a differential memory, differential memory and electronic system
IT201800000580A1 (it) * 2018-01-05 2019-07-05 St Microelectronics Srl Metodo di aggiornamento in tempo reale di una memoria differenziale con accessibilita' continua in lettura, memoria differenziale e sistema elettronico

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2875842B2 (ja) * 1990-03-19 1999-03-31 株式会社日立製作所 プログラマブルコントローラ
US5826075A (en) * 1991-10-16 1998-10-20 International Business Machines Corporation Automated programmable fireware store for a personal computer system
US6944854B2 (en) * 2000-11-30 2005-09-13 International Business Machines Corporation Method and apparatus for updating new versions of firmware in the background
US7478382B2 (en) * 2004-09-27 2009-01-13 Corrigent Systems Ltd. Synchronized ring software download

Also Published As

Publication number Publication date
WO2008058101A2 (en) 2008-05-15
TW200832226A (en) 2008-08-01
WO2008058101A3 (en) 2009-01-08

Similar Documents

Publication Publication Date Title
TWI363297B (en) Multi-mode memory controller for upgrading firmware in phases and related apparatus,removable memory card,method and computer readable medium
US8286156B2 (en) Methods and apparatus for performing resilient firmware upgrades to a functioning memory
US20080109647A1 (en) Memory controllers for performing resilient firmware upgrades to a functioning memory
JP5113700B2 (ja) ファームウェア更新装置及び方法
KR101983405B1 (ko) 복구 사이트에서 복제된 가상 저장 장치를 관리하는 기법
KR100750132B1 (ko) 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체
EP1899814B1 (en) Firmware update for consumer electronic device
US7111137B2 (en) Data storage systems and processes, such as one-way data mirror using write mirroring
KR101605907B1 (ko) 호스트와 데이터 저장 디바이스 사이의 파일 전송 실패의 복구
EP2652599B1 (en) System reset
US20110004871A1 (en) Embedded electronic device and firmware updating method thereof
KR20050061378A (ko) 페일세이프 방식으로 맞춤 소프트웨어 영상 갱신을불휘발성 저장 장치에 적용하는 시스템 및 방법
US20050149683A1 (en) Methods and systems for data backups
TW201025008A (en) System of updating firmware and method thereof, and method of creating firmware
US8341390B2 (en) Computer system and method for backing up BIOS settings
CN101589592A (zh) 多协议可移动存储设备
TWI764454B (zh) 韌體損壞恢復技術
TW200528991A (en) Apparatus, system, and method for adapter fastload
CN113157303A (zh) 升级方法、嵌入式系统、终端及计算机存储介质
CN117112313B (zh) 业务容灾切换方法、装置、设备及存储介质
JP2006518059A (ja) フォールト・トレラントな更新エージェントを有するモバイルハンドセット
US20060253668A1 (en) Method and apparatus for preserving operating system and configuration files against a system failure
EP2368187B1 (en) Replicated file system for electronic devices
JP2002099390A (ja) ディスク制御装置
US10817213B2 (en) Data storage device and operating method for data storage device

Legal Events

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