未來(lái)物聯(lián)網(wǎng)系統中的無(wú)故障數據存儲
幾十年來(lái),遠程控制節點(diǎn)的基本架構都是由控制器、傳感器、本地存儲器、網(wǎng)絡(luò )連接接口和電池組成。這一架構廣泛應用于實(shí)際操作所控制的系統中。在工業(yè)自動(dòng)化系統中,控制器以不同速率監控多個(gè)傳感器,將已標記時(shí)間的傳感器數據保存在本地或擴展存儲器內,然后通過(guò)ProfiBus等工業(yè)標準總線(xiàn)傳輸數據。在高級駕駛輔助系統(ADAS)或車(chē)輛事件記錄器(EDR)中,多個(gè)MCU能夠同時(shí)采集、控制汽車(chē)電子系統的數據,從而提供優(yōu)質(zhì)的駕駛體驗與無(wú)故障的數據保障。醫療系統也有類(lèi)似的應用:通過(guò)傳感器獲得的關(guān)鍵患者數據,將被存儲在本地,或者定期上傳進(jìn)行集中存儲。
本文引用地址:http://dyxdggzs.com/article/201808/391288.htm這些系統都在試圖解決數據采集、關(guān)鍵數據存儲以及基于數據分析采取相應行動(dòng)過(guò)程中的核心和基礎問(wèn)題。但是,不同系統解決問(wèn)題的側重點(diǎn)也有所不同。工業(yè)系統傾向于在很短的時(shí)間間隔內,從眾多不同的傳感器中采集海量數據,同時(shí)必須在本地和遠程留存詳細的日志記錄。汽車(chē)系統數據生成速率較低,但數據重要性高。在某些情況下,數據的丟失或將會(huì )威脅駕乘人員的生命安全。大多數汽車(chē)的使用壽命都超過(guò)十年,因此在選擇存儲器時(shí),其使用壽命與可靠性便成為了十分重要的考量標準。便攜式醫療系統在選擇理想的數據存儲時(shí),則注重功耗的表現。由于植入式醫療器械、助聽(tīng)器等設備都是由電池進(jìn)行驅動(dòng),因此它們更傾向于選擇能耗低同時(shí)數據存儲精確度高的存儲器。兼具長(cháng)期可靠性和低能耗的無(wú)故障數據存儲,往往成為系統設計師選擇存儲產(chǎn)品的重大挑戰。
隨著(zhù)物聯(lián)網(wǎng)的逐步興起,所有設備都開(kāi)始通過(guò)網(wǎng)絡(luò )實(shí)現互聯(lián)。保守估計,2020年將有100億臺設備實(shí)現聯(lián)網(wǎng),其中包括汽車(chē)、工業(yè)自動(dòng)化設備、植入式醫療器械、可穿戴設備和智能家居等新一代產(chǎn)品。下一代5G網(wǎng)絡(luò )已經(jīng)開(kāi)始在某些地區部署并有望承擔上述設備產(chǎn)生的大部分流量。但是,數據科學(xué)家和系統設計師仍有幾個(gè)尚未解決的問(wèn)題:
哪些設備需要與云連接?需要傳播多少信息?有多少信息能在本地處理?誰(shuí)來(lái)支付云的費用?
一個(gè)方案是把所有信息都上傳到云,遠程對信息進(jìn)行處理。但這一方案只適用于規模小而分散的系統。隨著(zhù)世界互聯(lián)的程度不斷提高,將會(huì )有大量甚至過(guò)剩的系統進(jìn)行信息的上傳,在這樣的情況下我們需要考慮網(wǎng)絡(luò )和本地兩種存儲和處理的成本差異。在行駛過(guò)程中,一輛自動(dòng)駕駛汽車(chē)每小時(shí)將會(huì )生成數G的數據。因此為了預測未來(lái)的需求,我們現在必須決定哪些信息需要實(shí)時(shí)傳送、哪些可以在本地存儲,從而日后再進(jìn)行壓縮傳送。工業(yè)和醫療領(lǐng)域的系統設計師面臨著(zhù)同樣的問(wèn)題。在“工業(yè)4.0”的進(jìn)程中,“上傳所有數據到云”的方式正在逐步轉變成為“本地處理,智能上傳”的方式。因此,如何選擇最好的本地數據存儲對未來(lái)的系統發(fā)展極為重要。
為了保存重要數據,這些系統均需要高可靠、低能耗、高安全性的存儲器。一個(gè)方法是使用現有的閃存來(lái)記錄數據。閃存技術(shù)具有高效讀取的能力,因此已經(jīng)被廣泛用于啟動(dòng)代碼和固件的存儲。對于現有系統的設備,在執行寫(xiě)入操作時(shí),設計師無(wú)需了解閃存的技術(shù)限制,即可使用閃存來(lái)記錄數據。閃存單元只有在事先已被擦除的情況下才能存儲新數據。對閃存單元進(jìn)行編程時(shí),可將邏輯值由“1”變?yōu)椤?”。在下一次升級中,如果存儲單元需要保持邏輯值“1”,就需要擦除數據。為了加快擦除速度、縮短程序時(shí)間,閃存制造商設計了各種頁(yè)、塊和扇區架構。頁(yè)是能夠一次編程寫(xiě)入閃存的最小數據存儲單位。閃存設備設有內部的頁(yè)容量緩沖區,用于臨時(shí)數據存儲。當外部接口的數據傳輸完成時(shí),設備將立即對主陣列中被擦除的頁(yè)執行頁(yè)程序。如果該頁(yè)包含舊數據,則必須在程序啟動(dòng)前予以擦除。每次執行擦除時(shí),閃存單元都會(huì )退化。這一現象通常作為在閃存的耐久性指標進(jìn)行量化記錄。耐久性最好的閃存設備一般可以承受10萬(wàn)次的擦除程序循環(huán),在達到這一限值后將無(wú)法保證存儲的穩定性。盡管這一數字看起來(lái)很巨大,但這一數字甚至連低端的數據記錄系統的需求都很難滿(mǎn)足。
某些制造商則采用字節編程,并且把編程由緩沖區推到閃存進(jìn)行。盡管這一設計可以簡(jiǎn)化設備內的程序運行,但卻不能使閃存擺脫潛在的耐久性限制。為了抵消上述限制,系統設計師被迫采用一種復雜的文件系統來(lái)保證閃存單元的耗損均衡(wear levelling)。文件系統的軟件會(huì )減緩系統的運行速度。
設想一種情況,設計師考慮使用一種基于閃存的存儲器來(lái)記錄數據。在工業(yè)自動(dòng)化和資產(chǎn)管理系統中,傳感器節點(diǎn)會(huì )以每秒數次的速度抓取數據,并定期對各種傳感器進(jìn)行取樣,然后整理數據包上傳網(wǎng)絡(luò )。一般來(lái)說(shuō),數據包的取樣數從16字節到128字節不等。由于停電的風(fēng)險不可能完全避免,為了防止數據丟失,設計師使用非易失性存儲器來(lái)存儲數據。振動(dòng)傳感器或步進(jìn)電機位置傳感器每幾毫秒都會(huì )發(fā)送脈沖式數據,而溫度或濕度傳感器則每隔幾秒才發(fā)送一次數據,數據包則存儲眾多傳感器的數據。

下表為數據包容量與取樣率的比較分析,以及數據記錄時(shí)耗損閃存的規律。分析使用了10萬(wàn)次耐久循環(huán)的8兆閃存



以下圖表對這一數據進(jìn)行了明確解讀。我們發(fā)現,對于每1毫秒記錄8-16字節數據的低端系統,8兆閃存會(huì )在5年內損耗。但是,汽車(chē)或工業(yè)系統的損耗期限應當超過(guò)10年。

如果采用簡(jiǎn)單增加閃存這種低成本、高風(fēng)險的的方式,則需要復雜的文件系統對損耗均衡進(jìn)行管理。如果沒(méi)有部署文件系統,系統則需要在替換整個(gè)存儲器之后,定期執行芯片擦除循環(huán)。在今天的物聯(lián)網(wǎng)世界中,隨著(zhù)數據采集終端的持續激增,這一問(wèn)題正在不斷惡化。對于存儲產(chǎn)品壽命期內寫(xiě)入循環(huán)次數不超過(guò)1000次的啟動(dòng)代碼和固件程序來(lái)說(shuō),基于閃存的存儲器是非常合適的。解決這種數據記錄問(wèn)題的一個(gè)理想方法是:使用高耐久性和非易失性的存儲器,它們不會(huì )由于程序和擦除的延遲而造成數據風(fēng)險。F-RAM具備承受高達1014次擦除循環(huán)的耐久性,具備瞬間非易失性,且無(wú)需編程和擦除操作,實(shí)時(shí)存儲進(jìn)入設備接口的所有數據。例如,一個(gè)4兆的 F-RAM存儲能夠在每10微秒處理128字節的數據流,在1000多年的時(shí)間內都不會(huì )損耗完畢。
F-RAM存儲器單元只有在寫(xiě)入或讀取時(shí)才會(huì )耗電,待機能耗只有幾微安培,因此F-RAM是那些依仗電池驅動(dòng)產(chǎn)品的最佳解決方案。F-RAM適用于對能耗要求較高的助聽(tīng)器和用于心率采樣的高端可穿戴醫療設備。此外,汽車(chē)系統中的數據會(huì )持續不斷地了錄入存儲器,基于閃存的系統無(wú)法在閃存“編程”期間抓取數據。只有基于F-RAM的數據存儲,可以為該系統提供高可靠性。
具備近乎無(wú)限的耐久性、超低功耗和瞬間非易失性的F-RAM非常適合用于互聯(lián)世界中的重要數據存儲
評論