本發(fā)明設(shè)計(jì)了一種基于混合ram和nvm存儲(chǔ)體系架構(gòu)的汽車ecu數(shù)據(jù)管理方法,特別涉及一種可以延長(zhǎng)nvm壽命的ecu數(shù)據(jù)動(dòng)態(tài)管理方法,應(yīng)用于汽車電子控制系統(tǒng),屬于汽車電子技術(shù)領(lǐng)域。
背景技術(shù):
汽車電子控制系統(tǒng)在硬件結(jié)構(gòu)上一般由3部分組成:傳感器、電子控制單元(ecu)和執(zhí)行機(jī)構(gòu)。汽車在運(yùn)行時(shí),各傳感器不斷檢測(cè)汽車運(yùn)行的工況信息,并將這些信息實(shí)時(shí)地通過輸入接口傳送給ecu。ecu接收到這些信息時(shí),根據(jù)內(nèi)部預(yù)先編寫好的控制程序,進(jìn)行相應(yīng)的決策和處理,并通過其輸出接口輸出控制信號(hào)給相應(yīng)的執(zhí)行器,執(zhí)行器接受到控制信號(hào)后,執(zhí)行相應(yīng)的動(dòng)作,實(shí)現(xiàn)某種預(yù)定的功能。
ecu(electroniccontrolunit)電子控制單元,又稱“行車電腦”、“車載電腦”等。從用途上講則是汽車專用微機(jī)控制器。它和普通的電腦一樣,由微處理器(cpu)、存儲(chǔ)器、輸入/輸出接口(i/o)、模數(shù)轉(zhuǎn)換器(a/d)以及整形、驅(qū)動(dòng)等大規(guī)模集成電路組成。用一句簡(jiǎn)單的話來形容就是“ecu就是汽車的大腦”。在一些中高級(jí)轎車上,不但在發(fā)動(dòng)機(jī)上應(yīng)用ecu,在其它許多地方都可發(fā)現(xiàn)ecu的蹤影。例如防抱死制動(dòng)系統(tǒng)、四輪驅(qū)動(dòng)系統(tǒng)、電控自動(dòng)變速器、主動(dòng)懸架系統(tǒng)、安全氣囊系統(tǒng)、多向可調(diào)電控座椅等都配置有各自的ecu。隨著轎車電子化自動(dòng)化的提高,ecu將會(huì)日益增多,線路會(huì)日益復(fù)雜。
隨機(jī)存取存儲(chǔ)器(randomaccessmemory,ram)又稱作“隨機(jī)存儲(chǔ)器”,是與cpu直接交換數(shù)據(jù)的內(nèi)部存儲(chǔ)器,也叫主存(內(nèi)存)。它可以隨時(shí)讀寫,而且速度很快,通常作為操作系統(tǒng)或其他正在運(yùn)行中的程序的臨時(shí)數(shù)據(jù)存儲(chǔ)媒介。按照存儲(chǔ)單元的工作原理,隨機(jī)存儲(chǔ)器又分為靜態(tài)隨機(jī)存儲(chǔ)器(staticram,sram)和動(dòng)態(tài)隨機(jī)存儲(chǔ)器(dynamicram,dram)。
非易失存儲(chǔ)器(non-volatilememory,nvm)是指指斷電后仍能保持?jǐn)?shù)據(jù)的一種存儲(chǔ)器,具有非易失、按字節(jié)存取、存儲(chǔ)密度高、低能耗、讀寫性能接近dram,但讀寫速度不對(duì)稱,壽命有限。
越來越多的電子控制單元(ecu)應(yīng)用于汽車電氣和電子系統(tǒng)。具有高性能,快速,低功耗,可靠性的靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)已被用于汽車電子系統(tǒng)。然而,sram具有高價(jià)格,低容量和易失性的一些缺點(diǎn)。ecu所需的系統(tǒng)數(shù)據(jù)和用戶數(shù)據(jù)應(yīng)存儲(chǔ)在非易失性存儲(chǔ)器中,以避免丟失這些數(shù)據(jù)。到目前為止,我們使用nvm作為計(jì)算機(jī)系統(tǒng)或外部存儲(chǔ)的軟件。由于nvm的高性能,低開銷以及更便宜和更便宜的成本,nvm在一些研究中被用作主存儲(chǔ)器。然而,nvm對(duì)寫入次數(shù)有限制,因此nvm的寫入操作不應(yīng)該頻繁。ecu可以以高頻率獲得系統(tǒng)數(shù)據(jù)或用戶數(shù)據(jù),并且這些數(shù)據(jù)應(yīng)該存儲(chǔ)在nvm或ram中。
新興的nvm是在掉電時(shí)保留其信息的存儲(chǔ)器。因此,具有大容量和低價(jià)格的有吸引力特性的nvm可以應(yīng)用于汽車電子系統(tǒng)。然而,nvm對(duì)寫入次數(shù)有限制,因此寫入操作不應(yīng)太高。ecu從傳感器獲得高頻率的數(shù)據(jù),并且當(dāng)車輛運(yùn)行時(shí)這些數(shù)據(jù)應(yīng)該存儲(chǔ)在nvm或ram中。因此,如果要講nvm應(yīng)用到ecu的體系架構(gòu)之中,必須減少nvm的寫入操作次數(shù)來隱藏nvm的弱點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)以上現(xiàn)存問題以及汽車ecu系統(tǒng)的特征設(shè)計(jì)出一種混合ram和nvm的存儲(chǔ)體系結(jié)構(gòu)及相應(yīng)的數(shù)據(jù)管理方法。ram和nvm直接與內(nèi)存控制器相連做內(nèi)存。在此存儲(chǔ)架構(gòu)之上,針對(duì)混合存儲(chǔ)的特點(diǎn),提供所需的數(shù)據(jù)動(dòng)態(tài)存儲(chǔ)管理的方法。
在本發(fā)明的存儲(chǔ)架構(gòu)中,ram和nvm組合在一起成為主存儲(chǔ)器。ram和nvm共享相同的地址空間。ecu可以直接從其中加載數(shù)據(jù),并且可以使用ecu支持的特殊指令在它們之間移動(dòng)數(shù)據(jù)。同時(shí),我們還使用nvm來替代flash來作為外存。因此,在我們的架構(gòu)中,nvm既用作主存儲(chǔ)器又用于外存。ram和nvm都連接到存儲(chǔ)器控制器。并且車輛ecu傳感器通過總線與存儲(chǔ)器連接。傳感器將以自己的采樣率對(duì)數(shù)據(jù)進(jìn)行采樣,并將數(shù)據(jù)傳輸?shù)絩am或nvm。cpu可以從傳感器獲取數(shù)據(jù),也可以與內(nèi)存控制器通信。
本發(fā)明的動(dòng)態(tài)數(shù)據(jù)管理方法適應(yīng)本發(fā)明的存儲(chǔ)架構(gòu),提供了動(dòng)態(tài)數(shù)據(jù)管理服務(wù)。動(dòng)態(tài)數(shù)據(jù)管理方法為從ecu傳感器采集的數(shù)據(jù)提供存儲(chǔ)管理服務(wù),目的是為了延長(zhǎng)nvm壽命來延長(zhǎng)系統(tǒng)壽命。
基于以上的目的和設(shè)計(jì),本發(fā)明為了減少對(duì)nvm的寫操作次數(shù),核心思想是將預(yù)測(cè)到未來一小段時(shí)間內(nèi)變化頻率不高的數(shù)據(jù)存放在nvm中,預(yù)測(cè)到未來一小段時(shí)間內(nèi)變化頻率高的數(shù)據(jù)存放在ram中。
具體的,動(dòng)態(tài)數(shù)據(jù)管理方法提供以下通用功能。
實(shí)現(xiàn)ecu傳感器采集數(shù)據(jù)動(dòng)態(tài)存儲(chǔ)管理。在汽車啟動(dòng)時(shí)決定數(shù)據(jù)存放到ram或者是nvm,運(yùn)行過程中決定數(shù)據(jù)是否進(jìn)行遷移,結(jié)束時(shí)將所有需要存儲(chǔ)的數(shù)據(jù)存儲(chǔ)到nvm中。在運(yùn)行過程中,通過預(yù)測(cè)變化頻率和數(shù)據(jù)的采樣頻率共同決定數(shù)據(jù)是否該遷移。
用于汽車ecu的部分傳感器具有相同的采樣頻率,部分具有不同的采樣率。
一些參數(shù)數(shù)據(jù)在車輛運(yùn)行時(shí)具有高頻率變化。一些參數(shù)數(shù)據(jù)在車輛運(yùn)行一段時(shí)間之后具有低頻率變化。當(dāng)車輛啟動(dòng)時(shí),幾乎所有參數(shù)數(shù)據(jù)都具有高頻率變化。在不同的運(yùn)行情況下,不同的數(shù)據(jù)變化頻率有所不同。
為了實(shí)現(xiàn)以上功能,本發(fā)明提出的方法提出了5個(gè)策略來對(duì)ecu從傳感器采集的數(shù)據(jù)進(jìn)行分配管理。具體的,方法提供了以下5個(gè)策略。
當(dāng)車輛啟動(dòng)時(shí),所有高采樣率數(shù)據(jù)存儲(chǔ)到ram,這些來自傳感器的數(shù)據(jù)的結(jié)果也存儲(chǔ)在ram中。其他數(shù)據(jù)保存在nvm,這些數(shù)據(jù)的結(jié)果也存儲(chǔ)到nvm中。以便盡可能多地減少nvm中的寫入。
進(jìn)一步的,nvm中的一種數(shù)據(jù)或一種結(jié)果具有高頻率變化,如果ram有足夠的空間存儲(chǔ)此類數(shù)據(jù)或結(jié)果,則此類數(shù)據(jù)或結(jié)果應(yīng)存儲(chǔ)到ram中。
進(jìn)一步的,如果某種數(shù)據(jù)或某種結(jié)果在ram中一段時(shí)間沒有變化,則此類數(shù)據(jù)或結(jié)果應(yīng)存儲(chǔ)到nvm中。[0018]和[0019]的目的是減少來自頻繁改變的數(shù)據(jù)對(duì)nvm的寫入操作。
進(jìn)一步的,如果某些類高變化頻率的數(shù)據(jù)存儲(chǔ)在nvm和ram(ram沒有多余的空間來存儲(chǔ)更多數(shù)據(jù)),那么這些數(shù)據(jù)中高采樣率的數(shù)據(jù)應(yīng)存儲(chǔ)在ram中,低采樣數(shù)據(jù)應(yīng)存儲(chǔ)在nvm。目的在于減少類似如下情況對(duì)nvm的寫操作次數(shù)。如果大多數(shù)數(shù)據(jù)在一段時(shí)間內(nèi)改變頻繁并且ram不能在此時(shí)存儲(chǔ)所有頻繁改變的數(shù)據(jù),則這些頻繁改變數(shù)據(jù)的高采樣率數(shù)據(jù)將在相同周期中寫入比這些改變數(shù)據(jù)的低采樣率數(shù)據(jù)更多的時(shí)間。
進(jìn)一步的,當(dāng)車輛停止時(shí),所有數(shù)據(jù)和結(jié)果ram存儲(chǔ)到nvm中。目的在于保存所需數(shù)據(jù)。
對(duì)于[0020]中所述情況,即大多數(shù)數(shù)據(jù)在一段時(shí)間內(nèi)改變頻繁并且ram不能在此時(shí)存儲(chǔ)所有頻繁改變的數(shù)據(jù),將對(duì)ram和nvm中適合的數(shù)據(jù)進(jìn)行交換。具體交換規(guī)則如下。
將nvm中需要交換的數(shù)據(jù)的采樣頻率與ram中數(shù)據(jù)的采樣頻率進(jìn)行比較,將采樣頻率更高的數(shù)據(jù)存存放在ram中,采樣頻率更低的存放在nvm中。
以下結(jié)合其中一種實(shí)現(xiàn)方法對(duì)[0022]進(jìn)行作進(jìn)一步的闡述,但是應(yīng)該理解,這些描述只是示例的,而并非要限制本發(fā)明的范圍。建立一個(gè)采樣頻率狀態(tài)表存放在nvm中,用來記錄每種數(shù)據(jù)的采樣頻率和當(dāng)前此數(shù)據(jù)存放在nvm還是ram,并對(duì)其按照采樣頻率由高到低進(jìn)行排序。當(dāng)nvm中數(shù)據(jù)需要存儲(chǔ)到ram中,而ram又存放滿了,則查看采樣頻率狀態(tài)表,從表尾向前尋找,直到在nvm中此數(shù)據(jù),若是查找到有數(shù)據(jù)存放在ram中,則此兩種數(shù)據(jù)進(jìn)行交換。
進(jìn)一步的,預(yù)測(cè)某種數(shù)據(jù)在未來一段時(shí)間內(nèi)是否頻繁變化的方法具體如下。
如果輸入數(shù)據(jù)變化頻繁,那該數(shù)據(jù)的輸出結(jié)果也頻繁變化。
對(duì)于某種數(shù)據(jù),ecu連續(xù)獲得其值,當(dāng)這種數(shù)據(jù)這一次采集的值等于其上一次采集的值,則稱這個(gè)數(shù)據(jù)不變一次;當(dāng)這種數(shù)據(jù)這一次采集的值不等于其上一次采集的值,則稱這個(gè)數(shù)據(jù)變化一次;當(dāng)某種數(shù)據(jù)連續(xù)不變m次,則預(yù)測(cè)其在未來一段時(shí)間內(nèi)不會(huì)變化;當(dāng)某種數(shù)據(jù)連續(xù)變化n此,則預(yù)測(cè)其在未來一段時(shí)間內(nèi)會(huì)一直變化。
進(jìn)一步的,對(duì)于在ram中的某種數(shù)據(jù),當(dāng)某種數(shù)據(jù)連續(xù)不變m次,就預(yù)測(cè)其在未來一段時(shí)間內(nèi)不會(huì)變化,則將其存儲(chǔ)到nvm中;對(duì)于在nvm中的某種數(shù)據(jù),當(dāng)某種數(shù)據(jù)連續(xù)變化n此,則預(yù)測(cè)其在未來一段時(shí)間內(nèi)會(huì)一直變化,則將其存儲(chǔ)到ram中。
進(jìn)一步的,[0027]與[0028]中提到的m和n,根據(jù)實(shí)際情況可以設(shè)置不同的值,可取值范圍為自然數(shù)。
本發(fā)明的優(yōu)點(diǎn)和有益效果如下:
本發(fā)明所提供的方法中的存儲(chǔ)架構(gòu)使用ram和nvm的存儲(chǔ)架構(gòu),對(duì)比原本的ram和flash存儲(chǔ)架構(gòu),可以根據(jù)實(shí)際情況縮小ram容量。nvm的讀寫速度也高于flash。
本發(fā)明所提供的方法是一種將nvm應(yīng)用在汽車電子領(lǐng)域的可行方法。
本發(fā)明所提供的方法能夠有效減少對(duì)nvm的寫操作次數(shù),以至于能夠延長(zhǎng)nvm的使用壽命,延長(zhǎng)整個(gè)系統(tǒng)的使用壽命。
附圖說明
圖1是本發(fā)明的系統(tǒng)架構(gòu)圖
圖2是本發(fā)明的存儲(chǔ)控制流程圖
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明進(jìn)行作進(jìn)一步的闡述,但是應(yīng)該理解,這些描述只是示例的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對(duì)公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
如圖1所示為本發(fā)明的系統(tǒng)體系架構(gòu)圖,ram和nvm分別直接與內(nèi)存控制器相連作為存儲(chǔ)結(jié)構(gòu)部件。
如圖1所示,中央處理器單元(cpu)與內(nèi)存控制器相連,中央處理器單元可以通過內(nèi)存控制器讀取數(shù)據(jù)。
如圖1所示,汽車各傳感器部件:冷卻液溫度傳感器,進(jìn)氣歧管壓力溫度傳感器,輪速傳感器,氧傳感器,曲軸轉(zhuǎn)速及位置傳感器,節(jié)氣門位置傳感器等及其他低速設(shè)備通過總線與內(nèi)存控制器相連。
如圖2所示為本發(fā)明的存儲(chǔ)控制流程圖。下面結(jié)合圖2,對(duì)本發(fā)明方案進(jìn)行解釋說明。所述方法包括:
當(dāng)汽車啟動(dòng)時(shí),ecu接收從傳感器傳來的數(shù)據(jù),并隨時(shí)準(zhǔn)備接收到ecu關(guān)閉信號(hào)。
步驟101,如果是本次汽車啟動(dòng)后ecu第一次接收從傳感器傳來的數(shù)據(jù),則將高采樣頻率的數(shù)據(jù)存儲(chǔ)到ram中,低采樣頻率的數(shù)據(jù)存儲(chǔ)到nvm中。然后等待下一次數(shù)據(jù)傳輸。
步驟101,如果不是本次汽車啟動(dòng)后ecu第一次接收從傳感器傳來的數(shù)據(jù),則進(jìn)行步驟102,,判斷該數(shù)據(jù)是在ram中還是nvm中。
進(jìn)一步的,如果該數(shù)據(jù)在ram中,則進(jìn)行103步驟,判斷該數(shù)據(jù)此次的值是否等于之前一次的值。
進(jìn)一步的,如果是等于上一次的值,則連續(xù)不變次數(shù)加1,并將此數(shù)據(jù)存入到ram中,然后進(jìn)行104步驟,判斷連續(xù)不變次數(shù)是否大于等于m。
若是等于m,則將將改數(shù)據(jù)轉(zhuǎn)存到nvm中,并等待下一次數(shù)據(jù)傳輸,否則不做任何修改直接等待下一次數(shù)據(jù)傳輸。
在103步驟中,若是此次的值不等于上一次的值,則將連續(xù)不變次數(shù)置為0,并將此數(shù)據(jù)存放到ram中,等待下一次數(shù)據(jù)傳輸。
在102步驟中,若是該數(shù)據(jù)存放在nvm中,則進(jìn)行步驟105,判斷該數(shù)據(jù)此次的值是否等于上一次的值。
若是此次的值等于上一次的值,則將連續(xù)變化次數(shù)置為0,并將此數(shù)據(jù)存放到ram中,等待下一次數(shù)據(jù)傳輸。
在105步驟中,若是此次的值不等于上一次的值,則連續(xù)變化次數(shù)加1,并將此數(shù)據(jù)存入到nvm中,然后進(jìn)行106步驟,判斷連續(xù)不變次數(shù)是否大于等于n。
若是連續(xù)不變次數(shù)大于等于n,則進(jìn)行步驟107,判斷此時(shí)ram空間是否足夠裝下該數(shù)據(jù)。
若是ram空間足夠裝下該數(shù)據(jù),則將該數(shù)據(jù)存儲(chǔ)到ram中,并等待下一次數(shù)據(jù)傳輸。
在107步驟中,如果ram空間不足以裝下該數(shù)據(jù),則進(jìn)行步驟108,判斷ram中是否有合適換出的數(shù)據(jù)。
若是有合適的換出的數(shù)據(jù),則將此數(shù)據(jù)存儲(chǔ)到ram,換出的數(shù)據(jù)存放到nvm,并等待下一次數(shù)據(jù)傳輸。否則不做任何修改直接等待下一次數(shù)據(jù)傳輸。
在106步驟中,若是連續(xù)不變次數(shù)不大于等于n,則不做任何修改直接等待下一次數(shù)據(jù)傳輸。
若是接到ecu關(guān)閉信號(hào),將所有需要保存的數(shù)據(jù)存放到nvm中。
以上這些闡述應(yīng)理解為僅用于說明本發(fā)明而不用于限制本發(fā)明的保護(hù)范圍。在閱讀了本發(fā)明的記載內(nèi)容之后,技術(shù)人員可以對(duì)本發(fā)明做各種修改或改進(jìn),這些等效變化和修飾同樣落入本發(fā)明方法權(quán)利要求所限定的范圍。