確保在電池驅(qū)動(dòng)的傳感器節(jié)點(diǎn)中的故障安全數(shù)據(jù)存儲(chǔ)
幾十年來,傳感器節(jié)點(diǎn)的基本結(jié)構(gòu)包括控制器、傳感器、本地存儲(chǔ)器、網(wǎng)絡(luò)連接和電池。每個(gè)試圖從模擬世界收集數(shù)據(jù)的系統(tǒng)都是基于這個(gè)系統(tǒng)的某些變化。每個(gè)項(xiàng)目都必須解決收集數(shù)據(jù)、存儲(chǔ)數(shù)據(jù)的關(guān)鍵部分以及根據(jù)數(shù)據(jù)分析采取適當(dāng)行動(dòng)等基本問題。在以前的數(shù)據(jù)采集系統(tǒng)中,傳感器節(jié)點(diǎn)將收集數(shù)據(jù),如果有本地存儲(chǔ)器,則在本地存儲(chǔ)幾百個(gè)樣本,然后將其轉(zhuǎn)移到一個(gè)中央樞紐進(jìn)行處理。該中心將處理數(shù)據(jù)并采取適當(dāng)行動(dòng)。通信通常使用以太網(wǎng)或類似的工業(yè)總線進(jìn)行連接。
隨著物聯(lián)網(wǎng)的出現(xiàn),該領(lǐng)域的每一個(gè)設(shè)備都開始通過網(wǎng)絡(luò)進(jìn)行通信。保守的估計(jì)預(yù)測(cè),到2020年,將有超過100億個(gè)設(shè)備連接。它們包括汽車、工業(yè)自動(dòng)化設(shè)備、醫(yī)療植入物和新型應(yīng)用,如可穿戴品、智能家居等。下一代5G網(wǎng)絡(luò)已經(jīng)部署在世界幾個(gè)地區(qū),以處理預(yù)期來自這些設(shè)備的流量。但是,今天,數(shù)據(jù)科學(xué)家和系統(tǒng)設(shè)計(jì)者正在試圖解決的幾個(gè)問題還沒有解決:哪些設(shè)備需要連接到云上?需要播出多少信息?本地可以進(jìn)行多少處理?誰為云買單?
一個(gè)微不足道的方法是將所有東西上傳到云端并遠(yuǎn)程處理。雖然這可能對(duì)小型和孤立的系統(tǒng)有用,但一旦世界變得更加連接,過多的系統(tǒng)試圖上傳信息,系統(tǒng)設(shè)計(jì)者將需要考慮網(wǎng)絡(luò)相對(duì)的成本。本地儲(chǔ)存和加工。他們將需要評(píng)估減少連接頻率的場(chǎng)景,執(zhí)行本地存儲(chǔ)和處理,然后執(zhí)行定期的批量上傳。"工業(yè)4.0"一詞僅僅意味著連接設(shè)備的未來。為了確保在現(xiàn)場(chǎng)部署最優(yōu)、成本效益高、功率低的實(shí)現(xiàn),今天必須仔細(xì)分析系統(tǒng)的每個(gè)組件。在本文中,我們將研究通常被忽視但最重要的一個(gè)方面--本地內(nèi)存。
圖1:傳統(tǒng)傳感器節(jié)點(diǎn)。
圖2:工業(yè)中的傳感器節(jié)點(diǎn)。
傳感器節(jié)點(diǎn)
通過Wi-Fi、藍(lán)牙等無線技術(shù),傳感器節(jié)點(diǎn)越來越多地相互連接,也越來越多地連接到中央處理中心。這些無線協(xié)議允許將傳感器節(jié)點(diǎn)置于傳統(tǒng)系統(tǒng)無法訪問的位置,因?yàn)槁酚捎芯€網(wǎng)絡(luò)的局限性和成本。無線傳感器節(jié)點(diǎn)可以分布在整個(gè)工廠的自動(dòng)化樓層,并持續(xù)監(jiān)控所有關(guān)鍵的系統(tǒng)參數(shù)。
隨著無線技術(shù)的發(fā)展,還有新的挑戰(zhàn)需要解決。例如,傳統(tǒng)系統(tǒng)永遠(yuǎn)不必?fù)?dān)心停電,但相同的方法對(duì)無線傳感器節(jié)點(diǎn)不起作用。這些節(jié)點(diǎn)必須設(shè)計(jì)成以極其緊張的能量預(yù)算運(yùn)行。任何顯著影響電池壽命的耗電改善都意味著維護(hù)頻率降低。很多時(shí)候,由于成本限制,系統(tǒng)設(shè)計(jì)人員部署的解決方案最初成本較低,但隨著時(shí)間的推移,維護(hù)成本較高,最終會(huì)變得昂貴。這些遠(yuǎn)程部署的傳感器節(jié)點(diǎn)的最大成本之一是更換車載電池。為直接節(jié)省30%電力而進(jìn)行優(yōu)化的系統(tǒng)相當(dāng)于減少30%的更換電池的維護(hù)成本。
什么因素導(dǎo)致這些傳感器節(jié)點(diǎn)的功率消耗?詳細(xì)分析了一個(gè)典型的BAR傳感器節(jié)點(diǎn)的系統(tǒng)功耗,確定了影響電池壽命的關(guān)鍵參數(shù)。系統(tǒng)耗電量的最大貢獻(xiàn)是:
數(shù)據(jù)上傳期間的天線功率
數(shù)據(jù)采集時(shí)控制器電源
數(shù)據(jù)記錄期間的本地內(nèi)存耗電量
BAR系統(tǒng)的天線功率直接取決于傳感器節(jié)點(diǎn)嘗試"連接"和向集線器上傳數(shù)據(jù)的頻率。雖然BAR可以支持每10毫秒上傳~500字節(jié),但很少有傳感器節(jié)點(diǎn)以50GB/s的速率收集數(shù)據(jù)。典型的環(huán)境參數(shù)傳感系統(tǒng)根據(jù)傳感元件捕獲100-500字節(jié)/秒。這使得BL系統(tǒng)能夠設(shè)計(jì)出更長(zhǎng)的連接間隔,以延長(zhǎng)電池壽命。較長(zhǎng)的連接間隔迫使系統(tǒng)存儲(chǔ)更多的數(shù)據(jù)點(diǎn)日志,而不是可以隨意上傳數(shù)據(jù)的系統(tǒng)。IOT控制器的典型內(nèi)部?jī)?nèi)存從64k字節(jié)到256k字節(jié)不等,該內(nèi)存的主要部分由BLE堆棧和在節(jié)點(diǎn)上執(zhí)行ADC和其他內(nèi)部管理任務(wù)所需的用戶API占用。這將導(dǎo)致系統(tǒng)在存儲(chǔ)數(shù)據(jù)日志時(shí)耗盡內(nèi)部?jī)?nèi)存,因此日志通常必須存儲(chǔ)在外部?jī)?nèi)存中。
由于UOT傳感器節(jié)點(diǎn)是電池驅(qū)動(dòng)的,外部存儲(chǔ)器必須是非易失性的,以確保數(shù)據(jù)的可靠性。雖然市場(chǎng)上有各種各樣的非易失性技術(shù),但系統(tǒng)設(shè)計(jì)者更喜歡使用一個(gè)簡(jiǎn)單的接口和最可靠的內(nèi)存。外部非易失性內(nèi)存最常見的候選者是EPROM、閃存和鐵電內(nèi)存(F-RAM)。然而,由于Fash/EPROM技術(shù)最初是為提供良好的閱讀性能而設(shè)計(jì)的,因此當(dāng)它們被連續(xù)地寫入時(shí)會(huì)有嚴(yán)重的缺陷。
一個(gè)閃存單元可以"編程",以包含新的數(shù)據(jù),只有當(dāng)該單元事先被刪除。編程單元格允許從邏輯"1"到邏輯"0"的狀態(tài)變化。在下一次更新中,如果單元格需要保持邏輯"1",則必須首先刪除單元格。為了優(yōu)化擦除速度和程序時(shí)間,閃存制造商使用不同的頁面、塊和扇區(qū)架構(gòu)。頁面是可以同時(shí)編程到閃存中的最小數(shù)據(jù)量。閃存設(shè)備包含一個(gè)內(nèi)部頁面大小的緩沖區(qū),允許臨時(shí)存儲(chǔ)數(shù)據(jù),一旦從外部接口傳輸完成,該設(shè)備啟動(dòng)了一個(gè)頁面程序操作,該頁面已經(jīng)在主數(shù)組中被刪除。如果此頁面包含舊數(shù)據(jù),則必須在程序操作之前將其刪除。
每次執(zhí)行擦除時(shí),閃存細(xì)胞都會(huì)退化,這在閃存數(shù)據(jù)表中被量化為耐久性。典型的情況是,最好的閃存設(shè)備被評(píng)為10萬個(gè)擦除程序周期的耐久性循環(huán),在此之后,它們不再保證能夠可靠地存儲(chǔ)數(shù)據(jù)。雖然這個(gè)數(shù)字看起來很大,但我們將證明即使在低端數(shù)據(jù)記錄系統(tǒng)中,這種耐力也會(huì)下降。
一些制造商實(shí)現(xiàn)字節(jié)編程和延遲編程從緩沖區(qū)到閃存.雖然這些功能確實(shí)簡(jiǎn)化了設(shè)備的程序操作,但它們并沒有解決閃存的潛在耐久性限制。為了彌補(bǔ)這些限制,系統(tǒng)設(shè)計(jì)者不得不實(shí)現(xiàn)一個(gè)復(fù)雜的文件系統(tǒng),以處理單元格的磨損水平,這也增加了開銷,減緩了系統(tǒng)的運(yùn)行。同樣的缺點(diǎn)也存在于EEProMS中。
我們?cè)O(shè)計(jì)了基于F-RAM、EPROM和閃存的三種系統(tǒng),通過對(duì)溫度、濕度、壓力和加速度等參數(shù)進(jìn)行數(shù)據(jù)采集,模擬典型的iot傳感器數(shù)據(jù)記錄行為。利用最佳的BL連接區(qū)間和相同的局部存儲(chǔ)算法對(duì)這些系統(tǒng)進(jìn)行了優(yōu)化.為了簡(jiǎn)單起見,我們選擇了一個(gè)4秒的慢BAR連接間隔和一個(gè)100字節(jié)/秒的數(shù)據(jù)采樣率。每個(gè)樣本由所有傳感器數(shù)據(jù)的快照以及一些標(biāo)記字節(jié)組成,這些標(biāo)記字節(jié)將允許接收中心解析信息并向操作員提供反饋。
圖3:基于F-雷射傳感器節(jié)點(diǎn)。
圖4:基于閃存的傳感器節(jié)點(diǎn)。
圖5:基于EEPro的微生物傳感器節(jié)點(diǎn)。
在下列每一個(gè)階段中,都使用板上電流監(jiān)測(cè)來準(zhǔn)確記錄系統(tǒng)的電流消耗:
數(shù)據(jù)采集(ADC采集和讀取傳感器數(shù)據(jù))
將數(shù)據(jù)寫入外部存儲(chǔ)器
每4秒將數(shù)據(jù)上傳到集線器
在此分析中,我們使用了64M比特的閃光燈、256KEPROM和來自柏樹的4MEXCLM。該閃存設(shè)備在實(shí)驗(yàn)開始時(shí)進(jìn)行了預(yù)先刪除,支持512字節(jié)/頁,而EPROM支持60字節(jié)/頁。F-RAM是一種專用的超低功率F-RAM,不需要預(yù)先擦除或?qū)戫摗?
圖6顯示了基于F-RAM系統(tǒng)的典型系統(tǒng)運(yùn)行情況。
圖6:基于F-RAM的傳感器節(jié)點(diǎn)的當(dāng)前消耗量。
表1:電離點(diǎn)傳感器節(jié)點(diǎn)的系統(tǒng)耗電量
表1總結(jié)了系統(tǒng)在所有三種類型傳感器節(jié)點(diǎn)的能耗方面的性能。這些系統(tǒng)被配置為每4秒上傳500字節(jié),電流被監(jiān)控120秒。這三個(gè)系統(tǒng)在數(shù)據(jù)吞吐量方面都有相同的性能,唯一的區(qū)別是用于寫入內(nèi)存的算法:
·
基于F-RM的系統(tǒng)可以在獲得的樣本可用后立即寫入,因?yàn)镕-RM支持字節(jié)訪問。
·
·
基于EEM的系統(tǒng)只能寫入頁面(每頁64個(gè)字節(jié)),并有2MS浸漬時(shí)間來完成編寫。這就迫使系統(tǒng)在每次執(zhí)行頁面寫入時(shí)保持一個(gè)額外的2MS。
·
·
基于閃存的系統(tǒng)只能以512字節(jié)的頁面編寫。該設(shè)備在20mm的程序時(shí)間內(nèi)消耗了大約13ma,還有20mm的狀態(tài)寄存器更新時(shí)間。這就迫使該系統(tǒng)運(yùn)行,總共45英里。
·
表2:高級(jí)別摘要
我們可以看到,基于EEM的系統(tǒng)比基于F-RAM的系統(tǒng)消耗約22%的功率,而基于閃存的傳感器節(jié)點(diǎn)比基于F-RAM的系統(tǒng)消耗約140%的功率。更仔細(xì)地查看圖7中所示的耗電模式,可以看出為什么閃存設(shè)備在此類應(yīng)用程序中的性能如此糟糕。程序時(shí)間開銷實(shí)際上是系統(tǒng)總耗電量的兩倍.
圖7:在非線性傳感器節(jié)點(diǎn)(MA)和時(shí)間(MS)中閃存的當(dāng)前消耗量
除了電源消耗的巨大開銷外,一個(gè)基于閃存或EPROM的系統(tǒng)還受到技術(shù)缺陷的影響,特別是在閃存情況下的耐久性和擦除功率。閃存設(shè)備的持久性有限,約10^5周期,這限制了產(chǎn)品的壽命.由于閃存設(shè)備需要相當(dāng)長(zhǎng)的時(shí)間來執(zhí)行芯片擦除,所以該系統(tǒng)在擦除操作期間也會(huì)出現(xiàn)故障。擦除操作期間的耗電量也會(huì)增加總耗電量,進(jìn)一步降低耗電效率。這些傳感器節(jié)點(diǎn)是電池驅(qū)動(dòng)的,但如果無意中出現(xiàn)電力損失,閃存或基于EEM的系統(tǒng)也會(huì)受到數(shù)據(jù)完整性損失的影響。閃存裝置必須一次編一頁,因此,系統(tǒng)必須在本地存儲(chǔ)一個(gè)頁面的數(shù)據(jù),直到它成功寫入設(shè)備。在此期間,任何電源故障都可能導(dǎo)致至少損失一頁數(shù)據(jù)。