專(zhuān)利名稱(chēng):備份方法、備份裝置和車(chē)輛控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及備份方法、備份裝置和車(chē)輛控制器。 本發(fā)明要求于2008年11月7日提交的日本專(zhuān)利申請(qǐng)第2008-286466號(hào)的優(yōu)先權(quán), 其內(nèi)容結(jié)合于此作為參考。
背景技術(shù):
在下文中將在本申請(qǐng)中引用或相關(guān)的所有專(zhuān)利、專(zhuān)利申請(qǐng)、專(zhuān)利公開(kāi)、科技文章等
全部結(jié)合于此作為參考,以更完整地描述與本發(fā)明有關(guān)的現(xiàn)有技術(shù)的狀態(tài)。 通常,SRS(輔助約束系統(tǒng))氣囊(air-bag)系統(tǒng)被了解,作為在車(chē)輛碰撞時(shí)
進(jìn)行乘客保護(hù)的系統(tǒng)。在SRS氣囊系統(tǒng)中,基于從設(shè)置在車(chē)輛中的加速度傳感器獲得
的加速度數(shù)據(jù)來(lái)檢測(cè)碰撞,以激活乘客保護(hù)裝置,例如,氣囊或安全帶預(yù)緊器(seatbelt
pretensioner)??刂普麄€(gè)SRS氣囊系統(tǒng)的ECU(電子控制單元)被稱(chēng)為SRS單元,并且其
通常與諸如用于引擎和ABS(防抱死制動(dòng)系統(tǒng))的ECU的其他ECU分開(kāi)設(shè)置。 例如,日本未審查專(zhuān)利首次公布第2003-252256號(hào)公開(kāi)了一種用于分析在碰撞時(shí)
的車(chē)輛信息(諸如,速度、加速度、制動(dòng)信息、或加速度信息)以調(diào)查碰撞的原因的技術(shù)。根
據(jù)該技術(shù),在車(chē)輛運(yùn)行時(shí),從各種傳感器或其他ECU獲得的車(chē)輛信息被連續(xù)地更新并存儲(chǔ),
以及在檢測(cè)車(chē)輛碰撞時(shí)讀取存儲(chǔ)在RAM中的車(chē)輛信息并將其存儲(chǔ)在EEPROM(電可擦除可編
程只讀存儲(chǔ)器)。 通常,EEPROM被用作備份存儲(chǔ)器,用于存儲(chǔ)非易失性數(shù)據(jù)(備份數(shù)據(jù)),例如,車(chē)輛 信息。另一方面,隨著將存儲(chǔ)作為備份數(shù)據(jù)的數(shù)據(jù)量日益增長(zhǎng),近年來(lái)需要使用更便宜且可 更快寫(xiě)入的閃存來(lái)代替EEPROM。然而,在使用閃存存在以下問(wèn)題。 圖13是閃存與EEPROM之間的性能比較圖表。閃存在"字節(jié)單位價(jià)格"和"寫(xiě)入速 度"方面優(yōu)于EEPROM,而在"寫(xiě)入單位"、"擦除速度"、"擦除單位"、"保留期"(存儲(chǔ)數(shù)據(jù)的年 數(shù))、以及"可寫(xiě)入的次數(shù)"上次于EEPROM。也就是說(shuō),閃存存在可寫(xiě)入次數(shù)少以及寫(xiě)入時(shí) 間長(zhǎng)(如果執(zhí)行包括擦除數(shù)據(jù)和寫(xiě)入數(shù)據(jù)的簡(jiǎn)單重寫(xiě)操作,則需要幾百毫秒來(lái)用于重寫(xiě)1 字節(jié)數(shù)據(jù))的問(wèn)題。
發(fā)明內(nèi)容
為了解決上述問(wèn)題,根據(jù)本發(fā)明的第一方面的備份方法包括以下過(guò)程。將備份數(shù) 據(jù)臨時(shí)存儲(chǔ)在易失性存儲(chǔ)器中。在閃存中為備份數(shù)據(jù)保留已擦除區(qū)。已擦除區(qū)沒(méi)有數(shù)據(jù)。 將備份數(shù)據(jù)寫(xiě)入已擦除區(qū)中。 保留已擦除區(qū)的過(guò)程包括以下過(guò)程。檢測(cè)已擦除區(qū)的總尺寸。當(dāng)總尺寸為預(yù)定尺 寸或更小時(shí),擦除寫(xiě)入閃存的一個(gè)塊中的所有數(shù)據(jù)。禁止擦除寫(xiě)入該塊的一部分中的數(shù)據(jù)。 該塊具有緊接于已擦除區(qū)的結(jié)束地址的起始地址。當(dāng)總尺寸為預(yù)定尺寸或更小時(shí),確定結(jié) 束地址。 在擦除寫(xiě)入該塊內(nèi)的所有數(shù)據(jù)的過(guò)程中,如果最近寫(xiě)入的備份數(shù)據(jù)包括在將擦除
4的塊中,則在擦除該塊內(nèi)的所有數(shù)據(jù)之前,將最近寫(xiě)入的備份數(shù)據(jù)移動(dòng)至已擦除區(qū)的起始 地址。 備份方法還包括以下過(guò)程。最近寫(xiě)入閃存中不同于已擦除區(qū)的一個(gè)區(qū)域的備份數(shù)
據(jù)以及現(xiàn)存最近寫(xiě)入的備份數(shù)據(jù)的閃存的目的地址被存儲(chǔ)在易失性存儲(chǔ)器中。 備份方法還包括以下過(guò)程。將新近存儲(chǔ)在易失性存儲(chǔ)器中的備份數(shù)據(jù)與最近寫(xiě)入
目的地址的備份數(shù)據(jù)進(jìn)行比較。新近存儲(chǔ)的備份數(shù)據(jù)比最近寫(xiě)入的備份數(shù)據(jù)更新。如果最
近寫(xiě)入目的地址的備份數(shù)據(jù)與新近存儲(chǔ)的備份數(shù)據(jù)不一致,則將新近存儲(chǔ)的備份數(shù)據(jù)從已
擦除區(qū)的起始地址寫(xiě)入已擦除區(qū)。更新已擦除區(qū)的目的地址和起始地址。 寫(xiě)入備份數(shù)據(jù)的過(guò)程通過(guò)被定義為記錄單元的扇區(qū)來(lái)實(shí)現(xiàn)。閃存被分為多個(gè)扇區(qū)。 根據(jù)本發(fā)明的第二方面的備份裝置包括易失性存儲(chǔ)器;閃存;以及控制器??刂?器將備份數(shù)據(jù)臨時(shí)存儲(chǔ)在易失性存儲(chǔ)器中,在閃存中為備份數(shù)據(jù)保留已擦除區(qū),該已擦除 區(qū)沒(méi)有數(shù)據(jù),并且將備份數(shù)據(jù)寫(xiě)入已擦除區(qū)中。 在備份裝置中,控制器檢測(cè)已擦除區(qū)的總尺寸,并且當(dāng)總尺寸為預(yù)定尺寸或更小
時(shí),擦除寫(xiě)入閃存的一個(gè)塊中的所有數(shù)據(jù)。禁止擦除寫(xiě)入該塊的一部分中的數(shù)據(jù)。該塊具
有緊接于已擦除區(qū)的結(jié)束地址的起始地址。當(dāng)總尺寸為預(yù)定尺寸或更小時(shí),確定結(jié)束地址。 在備份裝置中,如果最近寫(xiě)入的備份數(shù)據(jù)包括在將擦除的塊中,則在擦除該塊中
的所有數(shù)據(jù)之前,控制器將最近寫(xiě)入的備份數(shù)據(jù)移動(dòng)至已擦除區(qū)的起始地址。 在備份裝置中,控制器將最近寫(xiě)入閃存中不同于已擦除區(qū)的一個(gè)區(qū)域中的最近寫(xiě)
入的備份數(shù)據(jù)以及現(xiàn)存最近寫(xiě)入的備份數(shù)據(jù)的閃存的目的地址存儲(chǔ)在易失性存儲(chǔ)器中。 在備份裝置中,控制器將新近存儲(chǔ)在易失性存儲(chǔ)器中的備份數(shù)據(jù)與最近寫(xiě)入目的
地址中的備份數(shù)據(jù)進(jìn)行比較。新近存儲(chǔ)的備份數(shù)據(jù)比最近寫(xiě)入的備份數(shù)據(jù)新。如果最近寫(xiě)
入目的地址的備份數(shù)據(jù)與新近存儲(chǔ)的備份數(shù)據(jù)不一致,則控制器將新近存儲(chǔ)的備份數(shù)據(jù)從
已擦除區(qū)的起始地址寫(xiě)入已擦除區(qū)??刂破鞲乱巡脸齾^(qū)的目的地址和起始地址。 在備份裝置中,控制器通過(guò)被定義為記錄單元的扇區(qū)來(lái)寫(xiě)入備份數(shù)據(jù)。閃存被分
為多個(gè)扇區(qū)。 根據(jù)本發(fā)明的第三方面的車(chē)輛控制器包括備份裝置,該備份裝置包括易失性存儲(chǔ) 器、閃存和控制器。控制器將備份數(shù)據(jù)臨時(shí)存儲(chǔ)在易失性存儲(chǔ)器中,為備份數(shù)據(jù)保留在閃存 中的已擦除區(qū),該已擦除區(qū)沒(méi)有數(shù)據(jù),并且將備份數(shù)據(jù)寫(xiě)入已擦除區(qū)中。 在本發(fā)明中,已擦除區(qū)一直被保留在閃存中,而不是簡(jiǎn)單地執(zhí)行包括擦除數(shù)據(jù)以 及寫(xiě)入存儲(chǔ)在閃存中的數(shù)據(jù)的重寫(xiě)操作。也就是說(shuō),在與寫(xiě)入數(shù)據(jù)的時(shí)刻不同的時(shí)刻預(yù)先 執(zhí)行數(shù)據(jù)的擦除。因此,由于更新備份數(shù)據(jù)僅需要不耗時(shí)的寫(xiě)入操作,所以可以縮短重寫(xiě)存 儲(chǔ)在閃存中的備份數(shù)據(jù)的時(shí)間。 另外,雖然在閃存中每個(gè)單元的可重寫(xiě)次數(shù)是相同的,但是可以通過(guò)將備份數(shù)據(jù) 從已擦除區(qū)的起始地址連續(xù)地寫(xiě)入已擦除區(qū)中來(lái)降低每個(gè)小區(qū)的磨損程度(wear level)。 因此,可以提高閃存的可重寫(xiě)次數(shù)的上限。
本領(lǐng)域的技術(shù)人員將從結(jié)合附圖的以下詳細(xì)描述中了解本發(fā)明的目的、特征、方面和優(yōu)點(diǎn),這些附圖示出了本發(fā)明的實(shí)施例,其中 圖1是示出了包括根據(jù)本發(fā)明的實(shí)施例的備份裝置的SRS單元1的示意性框圖; 圖2示出了閃存lh的存儲(chǔ)區(qū); 圖3是示出了當(dāng)包括在SRS單元1中的CPU Id上電時(shí)的初始化過(guò)程的流程圖; 圖4和圖5示出了包括在初始化過(guò)程中的塊檢驗(yàn)過(guò)程; 圖6示出了包括在初始化過(guò)程中的數(shù)據(jù)安裝過(guò)程; 圖7是示出了在由CPU ld執(zhí)行的常規(guī)操作中的備份過(guò)程的流程圖; 圖8和圖9示出了包括在備份過(guò)程中的數(shù)據(jù)寫(xiě)入過(guò)程; 圖10至圖12示出了包括在備份過(guò)程中的無(wú)用單元收集過(guò)程;以及 圖13是閃存與EEPROM之間的性能比較圖表。
具體實(shí)施例方式
現(xiàn)在,本文中將參照示例性實(shí)施例來(lái)描述本發(fā)明。 本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,可以使用本發(fā)明的教導(dǎo)來(lái)實(shí)現(xiàn)許多可替換的實(shí)施例,并且本發(fā)明并不限于本文中出于說(shuō)明目的而示出的實(shí)施例。 圖1是示出了包括根據(jù)本發(fā)明實(shí)施例的備份裝置的車(chē)輛ECU的示意性框圖。控制
用于乘客保護(hù)的整個(gè)SRS氣囊系統(tǒng)的SRS單元1被作為車(chē)輛ECU的實(shí)例。 SRS單元1包括電源電路la ;單元傳感器lb ;通信I/F lc;CPU(中央處理單
元)Id ;觸發(fā)電路le ;ROM(只讀存儲(chǔ)器)If ;RAM(隨機(jī)存取存儲(chǔ)器)lg ;以及閃存lh。 CPU
Id和RAM lg分別對(duì)應(yīng)于存儲(chǔ)控制器和易失性存儲(chǔ)器。也就是說(shuō),CPU ld、RAM lg和閃存
lh構(gòu)成了備份裝置。 電源電路la通過(guò)觸發(fā)開(kāi)關(guān)2連接至諸如電池的外部電源3。當(dāng)觸發(fā)開(kāi)關(guān)2改換為接通狀態(tài)時(shí),電源電路la接收來(lái)自外部電源3的電源電壓供應(yīng),將電源電壓轉(zhuǎn)換為預(yù)定的內(nèi)部電源電壓,并且將轉(zhuǎn)換的電源電壓提供給單元傳感器lb、通信I/F lc、CPU ld、觸發(fā)電路le、ROM lf、RAMlg和閃存lh。電源電路la被設(shè)置有備份電源(諸如備份電容器),使得即使在來(lái)自外部電源3的電源由于車(chē)輛碰撞而被阻斷時(shí)SRS單元1也能進(jìn)行操作。
單元傳感器lb是加速度傳感器,其檢測(cè)運(yùn)行方向和/或橫向上的加速度,并且將基于檢測(cè)的加速度的加速度數(shù)據(jù)輸出至CPU ld。通信I/F lc是在CPU ld與設(shè)置在外部的引擎ECU 4、ABS ECU 5、衛(wèi)星傳感器6、以及速度傳感器7之間中繼數(shù)據(jù)通信的接口電路。
引擎ECU 4控制引擎,并通過(guò)通信I/F lc將關(guān)于引擎的狀況的信息(引擎數(shù)據(jù))傳送至CPU ld。 ABS ECU 5控制整個(gè)防抱死制動(dòng)系統(tǒng),并且通過(guò)通信I/F lc將關(guān)于制動(dòng)的信息(制動(dòng)數(shù)據(jù))傳送至CPU ld。衛(wèi)星傳感器6是設(shè)置在車(chē)輛的預(yù)定位置處(諸如在車(chē)輛的前面或任一側(cè)面)的加速度傳感器,檢測(cè)在設(shè)置部分處的加速度,并且通過(guò)通信I/F lc將基于檢測(cè)到的加速度的加速度數(shù)據(jù)傳送至CPU ld。速度傳感器7檢測(cè)車(chē)輛的速度,并且通過(guò)通信I/F lc將基于檢測(cè)到的速度的速度數(shù)據(jù)傳送至CPUld。 CPU ld基于存儲(chǔ)在ROM If中的控制程序進(jìn)行操作。CPU ld基于從單元傳感器lb獲得的加速度數(shù)據(jù)以及通過(guò)通信I/F lc從衛(wèi)星傳感器6獲得的加速度數(shù)據(jù),來(lái)確定車(chē)輛碰撞是否已發(fā)生?;诖_定結(jié)果,CPU ld控制觸發(fā)電路le,從而控制作為乘客保護(hù)裝置的氣囊8的激活。與傳統(tǒng)方法類(lèi)似的方法可用于基于加速度數(shù)據(jù)的碰撞確定,因此,下文中省略了對(duì)其的說(shuō)明。 CPU ld具有對(duì)觸發(fā)開(kāi)關(guān)2接通的次數(shù)(激活的次數(shù))進(jìn)行計(jì)數(shù)的功能以及故障診斷功能。CPU ld將激活的次數(shù)、故障診斷歷史、碰撞確定歷史、氣囊8的激活歷史、引擎數(shù)據(jù)、制動(dòng)數(shù)據(jù)、速度數(shù)據(jù)等作為備份數(shù)據(jù)臨時(shí)存儲(chǔ)在RAM lg中。另外,CPU ld具有以滿足預(yù)定條件作為觸發(fā)器來(lái)將存儲(chǔ)在RAM lg中的備份數(shù)據(jù)存儲(chǔ)在閃存lh中的備份功能。稍后將說(shuō)明備份功能的詳情。 在CPU Id的控制下,觸發(fā)電路le通過(guò)將電流供給包括在氣囊8的充氣機(jī)內(nèi)的劃針來(lái)對(duì)氣囊8進(jìn)行充氣,以進(jìn)行觸發(fā)。氣囊8包括用于駕駛者和乘客的座位的氣囊、側(cè)面氣囊、簾式氣囊等。除氣囊8之外,安全帶預(yù)緊器可以作為乘客保護(hù)裝置被設(shè)置。
ROM If是非易失性只讀存儲(chǔ)器,其臨時(shí)存儲(chǔ)由CPU ld執(zhí)行的控制程序和氣囊8的激活控制所需要的非易失性數(shù)據(jù)。RAM lg是可重寫(xiě)易失性存儲(chǔ)器,用于臨時(shí)存儲(chǔ)CPU ld執(zhí)行各種處理所需要的上述備份數(shù)據(jù)或易失性數(shù)據(jù)。閃存lh是可重寫(xiě)非易失性存儲(chǔ)器,其被用作在滿足預(yù)定條件之后對(duì)臨時(shí)存儲(chǔ)在RAM lg中的備份數(shù)據(jù)進(jìn)行存儲(chǔ)的備份存儲(chǔ)器。
在該實(shí)施例中,假設(shè)閃存lh的總尺寸為64千字節(jié),如圖2所示。閃存lh的存儲(chǔ)區(qū)被分為多個(gè)扇區(qū),每個(gè)扇區(qū)都是數(shù)據(jù)記錄的單元。備份數(shù)據(jù)的寫(xiě)入由扇區(qū)來(lái)執(zhí)行。在該實(shí)施例中,假設(shè)一個(gè)扇區(qū)具有16個(gè)字節(jié)。因此,閃存lh的存儲(chǔ)區(qū)被分為4000個(gè)扇區(qū)(扇區(qū)"0"至"3999")。 16個(gè)字節(jié)中的15個(gè)字節(jié)被分配給實(shí)際數(shù)據(jù)區(qū)(用于存儲(chǔ)備份數(shù)據(jù)的存儲(chǔ)區(qū)),而剩余的l個(gè)字節(jié)被分配給管理數(shù)據(jù)區(qū)(用于存儲(chǔ)表示存儲(chǔ)在實(shí)際數(shù)據(jù)區(qū)中的備份數(shù)據(jù)類(lèi)型的管理數(shù)據(jù)的存儲(chǔ)區(qū))。例如,如果速度數(shù)據(jù)作為備份數(shù)據(jù)被存儲(chǔ)在一個(gè)扇區(qū)中,則將速度數(shù)據(jù)存儲(chǔ)在實(shí)際數(shù)據(jù)區(qū)中,并且表示速度數(shù)據(jù)被存儲(chǔ)在實(shí)際數(shù)據(jù)區(qū)中的管理數(shù)據(jù)被存儲(chǔ)在管理數(shù)據(jù)區(qū)中。如果不能將所有要存儲(chǔ)的備份數(shù)據(jù)存儲(chǔ)在一個(gè)扇區(qū)中,則分配多個(gè)扇區(qū)來(lái)存儲(chǔ)備份數(shù)據(jù)。 在該實(shí)施例的閃存lh中,擦除存儲(chǔ)的備份數(shù)據(jù)是以作為最小可擦除單元的塊為
單位來(lái)執(zhí)行的。由于在該實(shí)施例中假設(shè)一個(gè)塊具有16千字節(jié),所以閃存lh的存儲(chǔ)區(qū)被分
為四個(gè)塊("1"至"4"),并且對(duì)于每個(gè)塊,共同擦除1000段扇區(qū)數(shù)據(jù)。 假設(shè)在該實(shí)施例中扇區(qū)"O"的地址是最小地址,扇區(qū)"3999"的地址是最大地址,
扇區(qū)"O"的地址是整個(gè)存儲(chǔ)區(qū)的起始地址,以及扇區(qū)"3999"的地址是整個(gè)存儲(chǔ)區(qū)的結(jié)束地址。 下文中,對(duì)根據(jù)該實(shí)施例的SRS單元1的操作進(jìn)行說(shuō)明。在該實(shí)施例中對(duì)氣囊8的激活控制與傳統(tǒng)的激活控制相同。因此,這里省略了對(duì)激活控制的說(shuō)明,并且在下文中,僅詳細(xì)解釋備份數(shù)據(jù)的備份。 圖3是示出了當(dāng)觸發(fā)開(kāi)關(guān)2接通時(shí)由CPU ld執(zhí)行的初始化過(guò)程的流程圖。在該初始化過(guò)程中,CPU ld對(duì)閃存lh執(zhí)行空白檢查過(guò)程(步驟S1)。在該空白檢測(cè)過(guò)程中,對(duì)從閃存lh的存儲(chǔ)區(qū)的起始地址至結(jié)束地址的所有扇區(qū)進(jìn)行掃描,以找到已擦除區(qū)并提取已擦除區(qū)的起始地址和結(jié)束地址。已擦除區(qū)是數(shù)據(jù)已被擦除的區(qū)域。 例如,如果包括在塊"l"中的所有扇區(qū)、包括在塊"3"中的扇區(qū)"2002"至"2999"、以及包括在塊"4"中的所有扇區(qū)都是被擦除的區(qū)域,則扇區(qū)"2002"的地址是已擦除區(qū)的起始地址,以及扇區(qū)"999"的地址是已擦除區(qū)的結(jié)束地址 作為說(shuō)明的層次,原因在于備份數(shù)據(jù)的寫(xiě)入是從已擦除區(qū)的起始地址(較小的地址)開(kāi)始順序地執(zhí)行,并且如果寫(xiě)入至扇區(qū)"3999"結(jié)束,則寫(xiě)入從扇區(qū)"0"連續(xù)執(zhí)行。如果備份數(shù)據(jù)被擦除(已擦除區(qū)被保留),則以塊為單位從具有緊接于已擦除區(qū)的結(jié)束地址的起始地址的塊開(kāi)始順序地擦除備份數(shù)據(jù)。
為此,如圖5A所示的僅具有一個(gè)塊的最小地址的一個(gè)扇區(qū)是已擦除區(qū)的情況或者如圖5B所述的離散區(qū)是已擦除區(qū)的情況不能發(fā)生。因此,如果具有一個(gè)塊的起始地址的第一扇區(qū)是已擦除區(qū),則該塊必須是已擦除塊。然后,對(duì)該塊進(jìn)行空白檢查。如果未擦除區(qū)存在于該塊中,則CPU ld優(yōu)選地輸出故障表示信號(hào)。類(lèi)似地,如果呈現(xiàn)如圖5B所示離散的已擦除區(qū),則CPU ld優(yōu)選地輸出故障表示信號(hào)。 在空白檢查過(guò)程之后,CPU ld執(zhí)行數(shù)據(jù)安裝過(guò)程(步驟S2)。在數(shù)據(jù)安裝過(guò)程中,最近存儲(chǔ)除了在空白檢查過(guò)程中檢測(cè)到的已擦除區(qū)外的區(qū)域中的最新備份數(shù)據(jù)(即,區(qū)域存儲(chǔ)備份數(shù)據(jù))以及存儲(chǔ)有最近備份數(shù)據(jù)的最近數(shù)據(jù)目的地址被讀出以被作為表格存儲(chǔ)在RAM lg的公共存儲(chǔ)區(qū)中。 具體地,如果不是已擦除區(qū)的扇區(qū)"1000"至"2001"包括在閃存lh中,則基于存儲(chǔ)在扇區(qū)"1000"至"2001"中的管理數(shù)據(jù)來(lái)搜索相同類(lèi)型的備份數(shù)據(jù)(例如,關(guān)于速度數(shù)據(jù)的備份數(shù)據(jù)),以從其中提取最新備份數(shù)據(jù)。由于備份數(shù)據(jù)從最小地址順序地寫(xiě)入,則存儲(chǔ)在具有最大地址的扇區(qū)中的備份數(shù)據(jù)是最近備份數(shù)據(jù)。 然后,使提取的最近備份數(shù)據(jù)(例如,最新的速度數(shù)據(jù))以及最近數(shù)據(jù)目的地址(最近備份數(shù)據(jù)存儲(chǔ)于其中)與將作為表格存儲(chǔ)在RAM lg的公共存儲(chǔ)區(qū)中的管理數(shù)據(jù)相關(guān)聯(lián)。類(lèi)似地,關(guān)于另一種類(lèi)型的備份數(shù)據(jù)(例如,觸發(fā)電路接通的次數(shù)、故障診斷歷史等),最近備份數(shù)據(jù)及其最近數(shù)據(jù)目的地址被從扇區(qū)"1000"至"2001"提取,以與作為表格存儲(chǔ)在RAM lg的公共存儲(chǔ)區(qū)中的管理數(shù)據(jù)相關(guān)聯(lián)。在空白檢查過(guò)程中獲得的已擦除區(qū)的起始地址和結(jié)束地址也被存儲(chǔ)在RAM lg中。 在數(shù)據(jù)安裝過(guò)程之后,CPU Id執(zhí)行鎖定釋放過(guò)程(步驟S3)。具體地,如果設(shè)置了用于禁止將數(shù)據(jù)寫(xiě)入閃存中的鎖定機(jī)制,則執(zhí)行鎖定釋放過(guò)程以釋放鎖定機(jī)制。如果在閃存中沒(méi)有設(shè)置鎖定機(jī)制,則可以省略步驟S3中的過(guò)程。 通過(guò)如上所述一旦上電則執(zhí)行初始化過(guò)程,存儲(chǔ)在閃存lh中的最近備份數(shù)據(jù)及其最近數(shù)據(jù)目的地址與作為表格存儲(chǔ)在RAM lg的公共存儲(chǔ)區(qū)中的管理數(shù)據(jù)相關(guān)聯(lián),如圖6所示。另外,已擦除區(qū)的起始地址和結(jié)束地址也被存儲(chǔ)在RAM lg中。 在下文中,參考圖7中的流程圖來(lái)說(shuō)明由CPU ld執(zhí)行的正常操作中的備份過(guò)程。備份過(guò)程以預(yù)定間隔重復(fù)地執(zhí)行。與備份過(guò)程相同,CPU ld在正常操作中執(zhí)行在初始化過(guò)程中以預(yù)定間隔將存儲(chǔ)在RAM lg的公共存儲(chǔ)區(qū)中的備份數(shù)據(jù)更新為最新獲得的備份數(shù)據(jù)。換句話說(shuō),在常規(guī)操作中,將存儲(chǔ)在RAM lg的公共存儲(chǔ)區(qū)中的備份數(shù)據(jù)順序地更新為新的備份數(shù)據(jù)。在下文中,假設(shè)上述情況來(lái)說(shuō)明備份過(guò)程。 如圖7所示,在備份過(guò)程中,CPU ld對(duì)閃存lh執(zhí)行數(shù)據(jù)寫(xiě)入過(guò)程(步驟SIO)。在數(shù)據(jù)寫(xiě)入過(guò)程中,將存儲(chǔ)在RAM lg的公共存儲(chǔ)區(qū)中的備份數(shù)據(jù)以及存儲(chǔ)在閃存lh的最近數(shù)據(jù)目的地址中的備份數(shù)據(jù)進(jìn)行比較。如果兩種備份數(shù)據(jù)不是一致的(即,滿足預(yù)定條件),則從RAM lg的公共存儲(chǔ)區(qū)讀出備份數(shù)據(jù),并且從閃存lh的已擦除區(qū)的起始地址將該備份數(shù)據(jù)順序地寫(xiě)入閃存lh中。 具體地,假設(shè)如圖8所示在存儲(chǔ)在RAM lg的公共存儲(chǔ)區(qū)中的備份數(shù)據(jù)之中的速度
8數(shù)據(jù)的最近數(shù)據(jù)目的地址是扇區(qū)"1002"的地址。在此情況下,CPU ld將存儲(chǔ)在RAM lg的 公共存儲(chǔ)區(qū)中的速度數(shù)據(jù)與存儲(chǔ)在閃存lh的扇區(qū)"1002"中的速度數(shù)據(jù)進(jìn)行比較。
如果兩種數(shù)據(jù)不一致,則CPU Id從RAM lg的公共存儲(chǔ)區(qū)讀取速度數(shù)據(jù),并且將讀 取的速度數(shù)據(jù)寫(xiě)入到已擦除區(qū)的起始地址(扇區(qū)"2002"的地址)中,如圖9所示。同時(shí), CPU Id將存儲(chǔ)在RAM lg中的速度數(shù)據(jù)的最近數(shù)據(jù)目的地址更新為扇區(qū)"2002"的地址,并 且還將已擦除區(qū)的起始地址更新為扇區(qū)"2003"的地址。 通過(guò)針對(duì)每種類(lèi)型的備份數(shù)據(jù)執(zhí)行的數(shù)據(jù)寫(xiě)入處理,新的備份數(shù)據(jù)被從已擦除區(qū) 的起始地址順序地寫(xiě)入,并且RAM lg上的最近數(shù)據(jù)目的地址和已擦除區(qū)的起始地址被順 序地更新。換句話說(shuō),RAM lg上的最近數(shù)據(jù)目的地址總是表示屬于目標(biāo)類(lèi)型的最近備份數(shù) 據(jù)的目的地,以及RAMlg上的已擦除區(qū)的起始地址總是表示存在于閃存lh中的已擦除區(qū)的 最近起始地址。 在數(shù)據(jù)寫(xiě)入過(guò)程之后,CPU ld確定是否發(fā)生了將數(shù)據(jù)寫(xiě)入閃存lh(步驟Sll)。如 果數(shù)據(jù)寫(xiě)入發(fā)生(步驟Sll :是),則CPU ld完成備份過(guò)程。如果數(shù)據(jù)寫(xiě)入未發(fā)生(步驟 S11:否),則CPU ld執(zhí)行無(wú)用單元收集處理(步驟S12)。在無(wú)用單元收集過(guò)程中,CPU Id 監(jiān)測(cè)包括在閃存lh中的已擦除區(qū)的總尺寸。如果總尺寸為預(yù)定尺寸或更小,則CPU ld擦 除存儲(chǔ)在具有緊接于已擦除區(qū)的結(jié)束地址的起始地址的塊內(nèi)的備份數(shù)據(jù),從而,總保留預(yù) 定尺寸的已擦除區(qū)。 例如,假設(shè)如果已擦除區(qū)的總尺寸為對(duì)應(yīng)于2個(gè)塊或更小的尺寸,則執(zhí)行塊內(nèi)的 數(shù)據(jù)擦除。如果如圖10所示塊"1"和"4"是已擦除區(qū),則存儲(chǔ)在塊"2"中以擦除為目的的 備份數(shù)據(jù)被擦除??梢允褂么鎯?chǔ)在RAMlg中的已擦除區(qū)的起始地址和結(jié)束地址來(lái)計(jì)算已擦 除區(qū)的總尺寸。 如果有效數(shù)據(jù)(即,最近備份數(shù)據(jù))被存儲(chǔ)在以擦除為目的的塊"2"中,則順序地 從已擦除區(qū)的起始地址寫(xiě)入最近備份數(shù)據(jù),然后,擦除存儲(chǔ)在塊"2"中的備份數(shù)據(jù)。具體地, 如圖11所示,假設(shè)最近備份數(shù)據(jù)被存儲(chǔ)在包括在以擦除為目的的塊"2"中的扇區(qū)"1998" 和"1999"中。存儲(chǔ)在扇區(qū)"1998"中的備份數(shù)據(jù)被寫(xiě)入作為已擦除區(qū)的起始地址的扇區(qū) "3000"中。另外,存儲(chǔ)在扇區(qū)"1999"中的備份數(shù)據(jù)被寫(xiě)入作為緊臨已擦除區(qū)的起始地址的 地址的扇區(qū)"3001"中。 在如上所述地移動(dòng)備份數(shù)據(jù)之后,存儲(chǔ)在以擦除為目的的塊"2"中的備份數(shù)據(jù)被 擦除,如圖12所示。同時(shí),更新存儲(chǔ)在RAM lg中的已擦除區(qū)的起始地址和結(jié)束地址。換句 話說(shuō),新的已擦除區(qū)的起始地址和結(jié)束地址分別變?yōu)樯葏^(qū)"3002"和"1999"的地址。
通過(guò)以預(yù)定間隔重復(fù)上述備份過(guò)程,總在閃存lh的存儲(chǔ)區(qū)中保留預(yù)定尺寸(對(duì)應(yīng) 于至少兩個(gè)塊)的已擦除區(qū),并且新的備份數(shù)據(jù)從已擦除區(qū)的起始地址順序地寫(xiě)入。
換句話說(shuō),在該實(shí)施例中,不是通過(guò)包括數(shù)據(jù)擦除和數(shù)據(jù)寫(xiě)入的簡(jiǎn)單重寫(xiě)過(guò)程來(lái) 對(duì)閃存lh進(jìn)行重寫(xiě)。相反,僅在不更新(重寫(xiě))備份數(shù)據(jù)時(shí)執(zhí)行需要較長(zhǎng)處理時(shí)間的擦除 過(guò)程,使得總是保留預(yù)定尺寸的已擦除區(qū)。因此,當(dāng)實(shí)際上更新備份數(shù)據(jù)時(shí),僅執(zhí)行不耗時(shí) 的寫(xiě)入過(guò)程。因此,可以減少重寫(xiě)存儲(chǔ)在閃存lh中的備份數(shù)據(jù)所需的時(shí)間。
雖然針對(duì)閃存lh的每個(gè)單元限定的可重寫(xiě)次數(shù)不變,但是可以通過(guò)從已擦除區(qū) 的起始地址順序地寫(xiě)入新的備份數(shù)據(jù)來(lái)減小每個(gè)單元的耗損程度。因此,可以大大增加閃 存lh的可重寫(xiě)次數(shù)的上限。例如,如果假設(shè)備份數(shù)據(jù)的總尺寸是2千字節(jié),則對(duì)于16千字
9節(jié)的一個(gè)塊可以確保與預(yù)定次數(shù)乘以8相對(duì)應(yīng)的可重寫(xiě)次數(shù)。另外,對(duì)于全部4個(gè)塊可以 確保與預(yù)定次數(shù)乘以32相對(duì)應(yīng)的可重寫(xiě)次數(shù)。 如上所述,根據(jù)本實(shí)施例,可以解決在將閃存用作備份存儲(chǔ)器中的具體問(wèn)題(即, 重寫(xiě)時(shí)間長(zhǎng)和可重寫(xiě)次數(shù)少)。 在本實(shí)施例中已說(shuō)明,控制整個(gè)SRS氣囊系統(tǒng)的SRS單元1被作為包括備份裝置 的車(chē)輛ECU的實(shí)例,該備份裝置包括CPU ld、RAM lg和閃存lh。然而,該實(shí)施例的備份裝 置可應(yīng)用于需要備份功能的任何車(chē)輛ECU(例如,引擎ECU 4),并且可應(yīng)用于需要備份功能 的任何電子裝置。 應(yīng)當(dāng)清楚,本發(fā)明不限于上述實(shí)施例,而在不背離本發(fā)明的范圍和精神的情況下, 可以進(jìn)行改進(jìn)和改變。
權(quán)利要求
一種備份方法,包括將備份數(shù)據(jù)臨時(shí)存儲(chǔ)在易失性存儲(chǔ)器中;在閃存中為所述備份數(shù)據(jù)保留已擦除區(qū),所述已擦除區(qū)沒(méi)有數(shù)據(jù);以及將所述備份數(shù)據(jù)寫(xiě)入所述已擦除區(qū)中。
2. 根據(jù)權(quán)利要求1所述的備份方法,其中,保留所述已擦除區(qū)包括 檢測(cè)所述已擦除區(qū)的總尺寸;以及當(dāng)所述總尺寸為預(yù)定尺寸或更小時(shí),擦除寫(xiě)入所述閃存的塊內(nèi)的所有數(shù)據(jù),禁止擦除 寫(xiě)入所述塊的一部分中的數(shù)據(jù),所述塊具有緊接于所述已擦除區(qū)的結(jié)束地址的起始地址, 并且當(dāng)所述總尺寸為預(yù)定尺寸或更小時(shí),確定所述結(jié)束地址。
3. 根據(jù)權(quán)利要求2所述的備份方法,其中,擦除寫(xiě)入所述塊內(nèi)的所有數(shù)據(jù)包括如果最 近寫(xiě)入的所述備份數(shù)據(jù)包括在將擦除的塊內(nèi),則在擦除所述塊內(nèi)的所有數(shù)據(jù)之前,將所述 最近寫(xiě)入的備份數(shù)據(jù)移動(dòng)至所述已擦除區(qū)的起始地址。
4. 根據(jù)權(quán)利要求1所述的備份方法,還包括在所述易失性存儲(chǔ)器中存儲(chǔ)最近寫(xiě)入到所述閃存中不同于所述已擦除區(qū)的區(qū)域中的 備份數(shù)據(jù),以及所述閃存中現(xiàn)存最近寫(xiě)入的備份數(shù)據(jù)的目的地址。
5. 根據(jù)權(quán)利要求4所述的備份方法,還包括將新近存儲(chǔ)在所述易失性存儲(chǔ)器中的備份數(shù)據(jù)與最近寫(xiě)入所述目的地址中的備份數(shù) 據(jù)進(jìn)行比較,所述新近存儲(chǔ)的備份數(shù)據(jù)比所述最近寫(xiě)入的備份數(shù)據(jù)更新;如果所述最近寫(xiě)入的備份數(shù)據(jù)與所述新近存儲(chǔ)的備份數(shù)據(jù)不一致,則將所述新近存儲(chǔ) 的備份數(shù)據(jù)從所述已擦除區(qū)的起始地址寫(xiě)入所述已擦除區(qū)中;以及更新所述已擦除區(qū)的目的地址和起始地址。
6. 根據(jù)權(quán)利要求1所述的備份方法,其中,寫(xiě)入所述備份數(shù)據(jù)包括通過(guò)被定義為記錄 單元的扇區(qū)來(lái)寫(xiě)入所述備份數(shù)據(jù),所述閃存被分為多個(gè)扇區(qū)。
7. —種備份裝置,包括 易失性存儲(chǔ)器; 閃存;以及控制器,將備份數(shù)據(jù)臨時(shí)存儲(chǔ)在所述易失性存儲(chǔ)器中,在所述閃存中為所述備份數(shù)據(jù) 保留已擦除區(qū),所述已擦除區(qū)沒(méi)有數(shù)據(jù),并且將所述備份數(shù)據(jù)寫(xiě)入所述已擦除區(qū)中。
8. 根據(jù)權(quán)利要求7所述的備份裝置,其中,所述控制器檢測(cè)所述已擦除區(qū)的總尺寸,并 且當(dāng)所述總尺寸為預(yù)定尺寸或更小時(shí),擦除寫(xiě)入所述閃存的塊中的所有數(shù)據(jù),禁止擦除寫(xiě) 入所述塊的一部分中的數(shù)據(jù),所述塊具有緊接于所述已擦除區(qū)的結(jié)束地址的起始地址,并 且當(dāng)所述總尺寸為預(yù)定尺寸或更小時(shí)確定所述結(jié)束地址。
9. 根據(jù)權(quán)利要求8所述的備份裝置,其中,如果最近寫(xiě)入的備份數(shù)據(jù)包括在將擦除的 塊內(nèi),則在擦除所述塊內(nèi)的所有數(shù)據(jù)之前,所述控制器將所述最近寫(xiě)入的備份數(shù)據(jù)移動(dòng)至 所述已擦除區(qū)的起始地址。
10. 根據(jù)權(quán)利要求7所述的備份裝置,其中,所述控制器將最近寫(xiě)入所述閃存中不同于 所述已擦除區(qū)的區(qū)域中的備份數(shù)據(jù)以及所述閃存中現(xiàn)存所述最近寫(xiě)入的備份數(shù)據(jù)的目的 地址存儲(chǔ)在所述易失性存儲(chǔ)器中。
11. 根據(jù)權(quán)利要求10所述的備份裝置,其中,所述控制器將新近存儲(chǔ)在所述易失性存儲(chǔ)器中的備份數(shù)據(jù)與最近寫(xiě)入所述目的地址中的備份數(shù) 據(jù)進(jìn)行比較,所述新近存儲(chǔ)的備份數(shù)據(jù)比所述最近寫(xiě)入的備份存儲(chǔ)器更新,如果最近寫(xiě)入所述目的地址中的備份數(shù)據(jù)與新近存儲(chǔ)的備份數(shù)據(jù)不一致,則將所述新 近存儲(chǔ)的備份數(shù)據(jù)從所述已擦除區(qū)的起始地址寫(xiě)入所述已擦除區(qū)中,以及更新所述已擦除區(qū)的目的地址和起始地址。
12. 根據(jù)權(quán)利要求7所述的備份裝置,其中,所述控制器通過(guò)被定義為記錄單元的扇區(qū) 來(lái)寫(xiě)入所述備份數(shù)據(jù),所述閃存被分為多個(gè)扇區(qū)。
13. —種包括備份裝置的車(chē)輛控制器,所述備份裝置包括 易失性存儲(chǔ)器;閃存;以及控制器,將備份數(shù)據(jù)臨時(shí)存儲(chǔ)在所述易失性存儲(chǔ)器中,在所述閃存中為所述備份數(shù)據(jù) 保留已擦除區(qū),所述已擦除區(qū)沒(méi)有數(shù)據(jù),并且將所述備份數(shù)據(jù)寫(xiě)入所述已擦除區(qū)中。
全文摘要
一種備份方法、備份裝置和車(chē)輛控制器,該備份方法包括以下過(guò)程。將備份數(shù)據(jù)臨時(shí)存儲(chǔ)在易失性存儲(chǔ)器中。在閃存中為備份數(shù)據(jù)保留已擦除區(qū)。已擦除區(qū)沒(méi)有數(shù)據(jù)。將備份數(shù)據(jù)寫(xiě)入已擦除區(qū)中。
文檔編號(hào)G06F11/14GK101739312SQ200910221110
公開(kāi)日2010年6月16日 申請(qǐng)日期2009年11月3日 優(yōu)先權(quán)日2008年11月7日
發(fā)明者川口泰史 申請(qǐng)人:株式會(huì)社京濱