電子控制裝置以及數(shù)據(jù)改寫(xiě)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及對(duì)電子控制裝置的數(shù)據(jù)進(jìn)行改寫(xiě)的技術(shù)。
【背景技術(shù)】
[0002]在電子控制裝置中,在改寫(xiě)被寫(xiě)入至閃速R0M(只讀存儲(chǔ)器,Read Only Memory)等非易失性存儲(chǔ)器的數(shù)據(jù)的情況下,采用了如特開(kāi)平9 - 128229號(hào)公報(bào)(專(zhuān)利文獻(xiàn)I)中記載的方法。即,響應(yīng)于來(lái)自與電子控制裝置連接的工具的指示,在對(duì)非易失性存儲(chǔ)器的數(shù)據(jù)改寫(xiě)區(qū)域進(jìn)行消去之后,將從工具依次發(fā)送的數(shù)據(jù)寫(xiě)入至非易失性存儲(chǔ)器。
[0003]現(xiàn)有技術(shù)文獻(xiàn)
[0004]專(zhuān)利文獻(xiàn)
[0005]專(zhuān)利文獻(xiàn)1:特開(kāi)平9 - 128229號(hào)公報(bào)
【發(fā)明內(nèi)容】
[0006]發(fā)明要解決的課題
[0007]但是,在改寫(xiě)與被寫(xiě)入至非易失性存儲(chǔ)器的數(shù)據(jù)僅一部分不同的數(shù)據(jù)的情況下,也必須對(duì)數(shù)據(jù)改寫(xiě)區(qū)域的全部數(shù)據(jù)進(jìn)行消去,從工具向電子控制裝置傳輸全部數(shù)據(jù)。因此,伴隨著數(shù)據(jù)傳輸速度低,非易失性存儲(chǔ)器的數(shù)據(jù)改寫(xiě)需要較長(zhǎng)時(shí)間。
[0008]因此,本發(fā)明的目的在于,提供能夠縮短閃速ROM等非易失性存儲(chǔ)器的數(shù)據(jù)改寫(xiě)所需的時(shí)間的電子控制裝置以及數(shù)據(jù)改寫(xiě)方法。
[0009]用于解決課題的手段
[0010]電子控制裝置具有:非易失性存儲(chǔ)器,能夠以消去塊為單位來(lái)消去數(shù)據(jù),且能夠以比消去塊小的寫(xiě)入塊為單位來(lái)寫(xiě)入數(shù)據(jù);以及處理器。并且,電子控制裝置的處理器響應(yīng)于來(lái)自外部的數(shù)據(jù)改寫(xiě)請(qǐng)求,以消去塊為單位對(duì)非易失性存儲(chǔ)器的一部分的數(shù)據(jù)進(jìn)行消去,以寫(xiě)入塊為單位將數(shù)據(jù)寫(xiě)入至非易失性存儲(chǔ)器的一部分。
[0011]發(fā)明效果
[0012]根據(jù)本發(fā)明,能夠縮短閃速ROM等非易失性存儲(chǔ)器的數(shù)據(jù)改寫(xiě)所需的時(shí)間。
【附圖說(shuō)明】
[0013]圖1是表示數(shù)據(jù)改寫(xiě)系統(tǒng)的一例的概要圖。
[0014]圖2是表示電子控制裝置的一例的內(nèi)部構(gòu)造圖。
[0015]圖3是表示閃速ROM的存儲(chǔ)器映像的一例的說(shuō)明圖。
[0016]圖4是表示工具的一例的內(nèi)部構(gòu)造圖。
[0017]圖5是表示數(shù)據(jù)改寫(xiě)處理的第一實(shí)施方式的一例的流程圖。
[0018]圖6是簡(jiǎn)略標(biāo)記閃速ROM的存儲(chǔ)器映像的方法的說(shuō)明圖。
[0019]圖7是表示數(shù)據(jù)改寫(xiě)處理的第二實(shí)施方式的一例的流程圖。
[0020]圖8是表示將閃速ROM的數(shù)據(jù)退避到RAM的狀態(tài)的說(shuō)明圖。
[0021]圖9是表示數(shù)據(jù)改寫(xiě)處理的第三實(shí)施方式的一例的流程圖。
[0022]圖10是表示組合了數(shù)據(jù)改寫(xiě)處理的第一實(shí)施方式以及第二實(shí)施方式的第一應(yīng)用實(shí)施方式的一例的流程圖。
[0023]圖11是表示組合了數(shù)據(jù)改寫(xiě)處理的第一實(shí)施方式以及第二實(shí)施方式的第一應(yīng)用實(shí)施方式的一例的流程圖。
[0024]圖12是表示組合了數(shù)據(jù)改寫(xiě)處理的第一實(shí)施方式以及第二實(shí)施方式的第二應(yīng)用實(shí)施方式的一例的流程圖。
[0025]圖13是表示組合了數(shù)據(jù)改寫(xiě)處理的第一實(shí)施方式以及第二實(shí)施方式的第二應(yīng)用實(shí)施方式的一例的流程圖。
【具體實(shí)施方式】
[0026]以下,參照所添付的附圖,詳細(xì)敘述用于實(shí)施本發(fā)明的實(shí)施方式。
[0027]圖1表示改寫(xiě)在汽車(chē)上搭載的電子控制裝置(EQJ-Electronic Control Unit)的數(shù)據(jù)的數(shù)據(jù)改寫(xiě)系統(tǒng)的一例。
[0028]成為數(shù)據(jù)改寫(xiě)對(duì)象的ECU100經(jīng)由CAN(控制器區(qū)域網(wǎng)絡(luò),Controller AreaNetwork)、串行通信、FlexRay (注冊(cè)商標(biāo))等網(wǎng)絡(luò)電纜200,以可裝卸的方式與作業(yè)者進(jìn)行E⑶100的數(shù)據(jù)改寫(xiě)作業(yè)的工具300連接。另外,E⑶100和工具300不限于通過(guò)使用了網(wǎng)絡(luò)電纜200的有線,也可以通過(guò)使用了無(wú)線發(fā)送接收機(jī)的無(wú)線而相互連接。
[0029]ECU100是對(duì)在汽車(chē)上搭載的各種設(shè)備、例如燃料噴射閥、變速機(jī)、電動(dòng)制動(dòng)系統(tǒng)、ABS(防抱死制動(dòng)系統(tǒng),Antilock Brake System)、可變閥定時(shí)機(jī)構(gòu)、無(wú)刷電機(jī)等進(jìn)行控制的電子設(shè)備,內(nèi)置有微機(jī)。具體而言,ECU100如圖2所示那樣,具有:CPU(中央處理單元,Central Processing Unit)等處理器110 ;用于與網(wǎng)絡(luò)連接的通信電路120 ;作為非易失性存儲(chǔ)器的一例的閃速R0M130 ;作為易失性存儲(chǔ)器的一例的RAM(隨機(jī)存取存儲(chǔ)器,RandomAccess Memory) 140 ;以及將處理器110、通信電路120、閃速R0M130以及RAM140相互連接的總線150。在此,通信電路120包含以可裝卸的方式連接網(wǎng)絡(luò)電纜200的連接器(未圖示)O
[0030]閃速R0M130如圖3所示那樣,被劃分為規(guī)定大小(例如,32K字節(jié)、64K字節(jié)等)的多個(gè)消去塊I?n、在每個(gè)消去塊中規(guī)定大小(例如,256字節(jié))的多個(gè)寫(xiě)入塊I?m。在此,是消去塊規(guī)定消去數(shù)據(jù)的最小單位,寫(xiě)入塊規(guī)定寫(xiě)入數(shù)據(jù)的最小單位的概念,具有消去塊比寫(xiě)入塊大這樣的特性。并且,在改寫(xiě)某寫(xiě)入塊的數(shù)據(jù)的情況下,經(jīng)過(guò)在將該寫(xiě)入塊所屬的消去塊的數(shù)據(jù)全部消去了之后,將數(shù)據(jù)寫(xiě)入至屬于消去了數(shù)據(jù)的消去塊的全部寫(xiě)入塊這樣的過(guò)程。這是為了確保改寫(xiě)閃速R0M130的數(shù)據(jù)的情況下的保障。另外,在閃速R0M130中的消去塊的大小不相同的情況下,屬于各消去塊的寫(xiě)入塊的數(shù)目也可以不同。
[0031]工具300是作業(yè)者進(jìn)行E⑶100的數(shù)據(jù)改寫(xiě)作業(yè)的電子設(shè)備,例如由個(gè)人計(jì)算機(jī)等計(jì)算機(jī)構(gòu)成。具體而言,工具300如圖4所示那樣,具有:CPU等處理器310 ;用于與網(wǎng)絡(luò)連接的通信電路320 ;硬盤(pán)裝置、SSD(固態(tài)硬盤(pán),Solid State Drive)等儲(chǔ)存器(storage) 330 ;以及成為與作業(yè)者的接口的輸入輸出裝置340。在此,通信電路320包含以可裝卸的方式連接網(wǎng)絡(luò)電纜200的連接器(未圖示)。此外,輸入輸出裝置340包含:IXD(液晶顯示器,Liquid Crystal Display)等顯示器、鍵盤(pán)、以及鼠標(biāo)等指示設(shè)備。另外,儲(chǔ)存器330例如也可以是與未圖示的網(wǎng)絡(luò)連接的NAS(網(wǎng)絡(luò)附加儲(chǔ)存器,Network Attached Storage)、服務(wù)器的儲(chǔ)存器等。
[0032]在儲(chǔ)存器330中,儲(chǔ)存有用于改寫(xiě)E⑶100的閃速R0M130的改寫(xiě)數(shù)據(jù)。改寫(xiě)數(shù)據(jù)例如包含控制在汽車(chē)上搭載的各種設(shè)備的控制程序、在該控制程序中使用的常數(shù)、映像等的控制參數(shù)等。
[0033]圖5表示對(duì)E⑶100的閃速R0M130的數(shù)據(jù)進(jìn)行改寫(xiě)的數(shù)據(jù)改寫(xiě)處理的第一實(shí)施方式的一例。數(shù)據(jù)改寫(xiě)處理在作業(yè)者經(jīng)由網(wǎng)絡(luò)電纜200連接了 E⑶100和工具300之后,在工具300中,作業(yè)者指定改寫(xiě)數(shù)據(jù)以及被改寫(xiě)數(shù)據(jù)而進(jìn)行了規(guī)定的操作時(shí)執(zhí)行。另外,圖5所示的數(shù)據(jù)改寫(xiě)處理按改寫(xiě)數(shù)據(jù)的每個(gè)消去塊而執(zhí)行(在第二實(shí)施方式中也同樣)。
[0034]在此,E⑶100以在經(jīng)由網(wǎng)絡(luò)電纜200與工具300連接時(shí)被供應(yīng)電力而啟動(dòng)為前提,但也可以存在通過(guò)其他電源電纜的連接而啟動(dòng)的方式。此外,在以下的說(shuō)明中,為了便于說(shuō)明,E⑶100中的閃速R0M130的存儲(chǔ)器映像如圖6所示那樣,設(shè)為將消去塊以“ΕΒη”來(lái)表示,將寫(xiě)入塊以“WBm”來(lái)表示(m、η:自然數(shù))。
[0035]在步驟100(在圖中簡(jiǎn)寫(xiě)為“S100”。以下同樣。)中,工具300的處理器310計(jì)算消去塊EBx (X:自然數(shù)I?η)的哈希(Hash)值。S卩,處理器310使用SHA (安全哈希算法,Secure Hash Algorithm)、MD5 (消息摘要算法 5,Message Digest Algorithm 5)等公知的哈希函數(shù),計(jì)算改寫(xiě)數(shù)據(jù)中的消去塊EBx的數(shù)據(jù)的哈希值。在此,哈希值是用于容易地判定數(shù)據(jù)的同一性的識(shí)別信息的一例,采用即使是類(lèi)似的數(shù)據(jù)也取較大不同的值的哈希值。并且,處理器310將根據(jù)消去塊EBx的數(shù)據(jù)而計(jì)算出的哈希值暫時(shí)地存儲(chǔ)至未圖示的RAM等存儲(chǔ)介質(zhì)。
[0036]在步驟101中,工具300的處理器310對(duì)E⑶100指定例如消去塊EBx的地址,從而請(qǐng)求被寫(xiě)入至閃速R0M130的被改寫(xiě)數(shù)據(jù)中的消去塊EBx的數(shù)據(jù)的哈希值。
[0037]在步驟200中,E⑶100的處理器110響應(yīng)于來(lái)自工具300的哈希值的請(qǐng)求,計(jì)算從被寫(xiě)入至閃速R0M130的被改寫(xiě)數(shù)據(jù)的指定地址起開(kāi)始的消去塊EBx的數(shù)據(jù)的哈希值。在此,處理器110為了能夠在工具300中進(jìn)行哈希值的比較,使用與工具300相同的哈希函數(shù)來(lái)計(jì)算哈希值。并且,處理器I1將從消去塊EBx計(jì)算出的哈希值返還至工具300。
[0038]在步驟102中,工具300的處理器310將在存儲(chǔ)介質(zhì)中存儲(chǔ)的哈希值和從E⑶100返還的哈希值進(jìn)行比較,從而判定在兩個(gè)哈希值中是否存在差異。即,處理器310判定在改寫(xiě)數(shù)據(jù)和被改寫(xiě)數(shù)據(jù)之間,對(duì)應(yīng)的消去塊的數(shù)據(jù)中是否存在差異、簡(jiǎn)而言之、是否存在同一性。并且,處理器310若判定為在兩個(gè)哈希值中存在差異則將處理前進(jìn)至步驟103 (是),另一方面,若判定為在兩個(gè)哈希值中不存在差異則使消去塊EBx的處理結(jié)束(否)。
[0039]在步驟103中,工具300的處理器310對(duì)E⑶100請(qǐng)求閃速R0M130中的消去塊EBx的數(shù)據(jù)消去。即,由于在改寫(xiě)數(shù)據(jù)和被改寫(xiě)數(shù)據(jù)之間對(duì)應(yīng)的消去塊的數(shù)據(jù)中存在差異,所以為了能夠進(jìn)行消去塊的數(shù)據(jù)改寫(xiě),處理器310對(duì)ECU100請(qǐng)求消去塊E