容錯是嵌入式系統(tǒng)的圣杯,特別是對于實時操作系統(tǒng)普遍且停機(jī)成本高昂的軍事和工業(yè)應(yīng)用。然而,最大限度地減少停機(jī)時間說起來容易做起來難——尤其是在存儲方面。
幾十年來,使用獨立磁盤冗余陣列 (RAID) 技術(shù)的冗余存儲已在企業(yè)級盛行,但嵌入式系統(tǒng)的大小、重量和計算限制使得該領(lǐng)域的實施變得更加困難。最近,外形尺寸越來越小的高密度 SSD 的流行使存儲冗余成為可能,即使在緊湊的嵌入式系統(tǒng)中也是如此。除了超緊湊的硬件 RAID 控制器,我們可能正在進(jìn)入一個新時代,高可用性嵌入式存儲不再是矛盾的說法。
在創(chuàng)建可靠的存儲系統(tǒng)時,冗余是關(guān)鍵。自 1990 年代以來,使用 RAID 鏡像磁盤一直是一種常見做法。RAID 是一種用于跨驅(qū)動器鏡像數(shù)據(jù)的標(biāo)準(zhǔn)化系統(tǒng),它允許構(gòu)建容錯存儲系統(tǒng)——即使使用相對便宜的硬件也是如此。如果驅(qū)動器發(fā)生故障,它的鏡像備份可以接管,從而在實施良好的系統(tǒng)中實現(xiàn)最少的停機(jī)時間,甚至沒有停機(jī)時間。
雖然 RAID 對服務(wù)器應(yīng)用程序很有意義,但在嵌入式系統(tǒng)級別實施它是一個挑戰(zhàn)。在 SSD 流行之前,硬盤是主要的存儲介質(zhì)。它們的尺寸和重量意味著對于大多數(shù)(如果不是全部)嵌入式應(yīng)用程序來說,擁有冗余驅(qū)動器是不可能的。
當(dāng) SSD 進(jìn)入市場時,RAID 仍然難以實施。閃存存儲最初非常昂貴,而冗余嵌入式存儲對于許多應(yīng)用程序來說成本過高。即使使用 SSDS,大小也是一個問題,因為早期的 SSD 并不總是比它們替換的硬盤小。
管理 RAID 所需的計算能力傳統(tǒng)上要么需要笨重的硬件 RAID 控制器(對于空間受限的系統(tǒng)來說不切實際),要么需要軟件 RAID 控制器。雖然軟件 RAID 控制器在節(jié)省空間方面很有意義,但對于嵌入式系統(tǒng)來說,它并不總是正確的選擇。嵌入式計算機(jī)通常是尺寸和能量受限的系統(tǒng),無法承受運行 RAID 軟件的 CPU 和內(nèi)存開銷。
可靠性與容錯
由于在嵌入式系統(tǒng)中實現(xiàn)存儲冗余的各種挑戰(zhàn),最大限度地減少嵌入式存儲的停機(jī)時間傳統(tǒng)上關(guān)注的是可靠性而不是容錯。通過確保使用高質(zhì)量的組件并設(shè)計具有更高平均無故障時間 (MTTF) 的可靠系統(tǒng),可以提高使用壽命和運行時間。
機(jī)械硬盤容易出現(xiàn)多種故障模式。振動、沖擊和明顯的舊磨損意味著驅(qū)動器是否會發(fā)生故障不是問題,而是何時發(fā)生的問題。制造可靠的硬盤驅(qū)動器意味著使用質(zhì)量更好的組件和堅固的機(jī)械設(shè)計,以更好地承受沖擊和振動。
今天的 SSD 憑借其固態(tài)設(shè)計,消除了作為故障模式的機(jī)械問題,但仍可能在驅(qū)動器控制器或存儲介質(zhì)級別出現(xiàn)故障。在單元不再準(zhǔn)確地存儲位狀態(tài)之前,閃存單元具有有限數(shù)量的寫入周期。因此,雖然閃存在面對沖擊和振動時非常強(qiáng)大,但需要仔細(xì)監(jiān)控 SSD 的寫入耐久性。
因此,對于 SSD,提高可靠性需要使用工業(yè)驅(qū)動器,其驅(qū)動器控制器針對可靠性和寫入耐久性進(jìn)行了優(yōu)化,而不是純粹的性能,以及使用更高級別的閃存。工業(yè)系統(tǒng)通常不會使用消費級多級單元 (MLC) 閃存,而是使用單級單元 (SLC) 或類似 SLC 的閃存,例如 iSLC。這些更高級別的閃存類型比 MLC 閃存持續(xù)數(shù)千個寫入周期,大大延長了存儲使用壽命。
雖然提高可靠性始終是工業(yè)系統(tǒng)的主要目標(biāo),但真正的彈性也需要容錯能力。要了解如何創(chuàng)建容錯,我們只需要查看企業(yè)數(shù)據(jù)中心——停機(jī)時間可能會造成數(shù)千到數(shù)百萬美元的損失。在這些關(guān)鍵任務(wù)環(huán)境中,可靠的組件與容錯設(shè)計相結(jié)合,以創(chuàng)建高度可用的系統(tǒng)。
可用性,可以被認(rèn)為是最小化停機(jī)時間,有兩種方法。第一種方法涉及提高系統(tǒng)的使用壽命——提高可靠性。另一種方法是減少恢復(fù)系統(tǒng)所需的時間——提高容錯能力。
容錯嵌入式存儲
容錯存儲需要存儲冗余——沒有辦法繞過它。值得慶幸的是,這些天來,SSD 和 RAID 控制器的尺寸都大大縮小了。
SSD 最初與它們所取代的 3.5 英寸硬盤驅(qū)動器大小相同,而如今的 mSATA 和 M.2 外形 SSD 甚至使 2.5 英寸筆記本電腦驅(qū)動器看起來像超大的龐然大物。這些緊湊型 SSD 的大小不到撲克牌的一半,厚度以毫米為單位。
RAID 控制器也經(jīng)歷了嚴(yán)重的節(jié)食。過去需要完整的 PCIe 卡,現(xiàn)在可以在 SoC 類型的芯片上實現(xiàn)。當(dāng)與正確的固件配對時,新一代 RAID 控制器旨在與 SSD 配合使用,而不是針對它們。
對于當(dāng)今的嵌入式系統(tǒng)設(shè)計人員而言,市場上有多種存儲形式可供選擇:
對于具有現(xiàn)有 2.5 英寸驅(qū)動器插槽的大型系統(tǒng),這些 AID 控制器模擬 2.5 英寸磁盤。它們由一個硬件 RAID 控制器和兩個用于冗余 SSD 的 mSATA 或 M.2 插槽組成。可以在 RAID 1 或 RAID 0 配置中進(jìn)行配置以提高性能,它們作為普通 2.5 英寸驅(qū)動器呈現(xiàn)給主機(jī)系統(tǒng),同時提供冗余和容錯,或者在 RAID 0 的情況下提供更高的性能。
對于較小的系統(tǒng),mSATA 或 M.2 接口可以提供當(dāng)今最緊湊的 RAID 配置之一。就像更換2.5寸硬盤一樣,mSATA或M.2 RAID控制器插入相應(yīng)的接口,呈現(xiàn)出一個單一的驅(qū)動器。事實上,它通過與兩個 SATA 驅(qū)動器的物理連接來提供存儲冗余。
這些 SATA 驅(qū)動器可以是使用柔性電纜連接的普通大小的 SATA 驅(qū)動器,也可以是 SATADOM 驅(qū)動器,它是直接連接到 SATA 連接器的緊湊型 SSD。Innodisk 的 SATADOM 驅(qū)動器具有各種物理配置,從垂直到水平,以適應(yīng)各種嵌入式系統(tǒng)。
雖然對于大多數(shù)低功耗嵌入式系統(tǒng)來說不是一個選項,但空間受限的高端嵌入式 PC 可以考慮將雙 SSD 與軟件 RAID 結(jié)合使用。mSATA、M.2 和 SATADOM SSD 的緊湊特性使其成為終極緊湊型 RAID 配置,但軟件 RAID 的 CPU 和內(nèi)存使其僅適用于擁有支持此配置的資源的高端嵌入式系統(tǒng)。
實施高可用性嵌入式存儲
容錯冗余 RAID 存儲與可靠的工業(yè)級 SSD 驅(qū)動器(如 SLC 或 iSLC 級 SSD)相結(jié)合,使嵌入式系統(tǒng)能夠?qū)崿F(xiàn)真正的高可用性??煽啃裕ü收锨暗臅r間)和容錯性(修復(fù)時間)都得到了解決,從而最大限度地減少了存儲子系統(tǒng)的停機(jī)時間。
容錯也可以單獨使用,與 MLC 級 SLC 一起使用。對于低寫入周期的應(yīng)用程序,這可能是一種經(jīng)濟(jì)實惠但非常有效的方法,可以最大限度地減少停機(jī)時間。
雖然這是一個漫長而艱巨的旅程,但 SSD 和 RAID 控制器的小型化使當(dāng)今的嵌入式系統(tǒng)最終能夠?qū)崿F(xiàn)真正的容錯存儲。
審核編輯:郭婷
-
驅(qū)動器
+關(guān)注
關(guān)注
53文章
8283瀏覽量
147127 -
嵌入式
+關(guān)注
關(guān)注
5094文章
19185瀏覽量
307902 -
SSD
+關(guān)注
關(guān)注
21文章
2892瀏覽量
117899
發(fā)布評論請先 登錄
相關(guān)推薦
嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與軟件開發(fā)環(huán)境
![<b class='flag-5'>嵌入式</b>機(jī)器學(xué)習(xí)的應(yīng)用特性與軟件開發(fā)環(huán)境](https://file1.elecfans.com/web3/M00/05/AF/wKgZO2eCM96AYfoXAAC2esU07bU956.png)
嵌入式主板的概述與發(fā)展
![<b class='flag-5'>嵌入式</b>主板的概述與發(fā)展](https://file1.elecfans.com/web2/M00/EB/A1/wKgZomZe5fWAXs4EAABHp9zbA6E074.png)
什么是嵌入式人工智能
![什么是<b class='flag-5'>嵌入式</b>人工智能](https://file1.elecfans.com/web2/M00/8D/79/wKgaomS7KZ-AY3GzAAArJzrUg1c443.png)
mmc卡在嵌入式系統(tǒng)中的使用
什么是嵌入式?一文讀懂嵌入式主板
AMD 面向嵌入式系統(tǒng)推出高能效 EPYC 嵌入式 8004 系列
嵌入式主板是什么意思?嵌入式主板全面解析
嵌入式linux開發(fā)的基本步驟有哪些?
EVASH Ultra EEPROM:助力ChatGPT等AI應(yīng)用的嵌入式存儲解決方案
嵌入式系統(tǒng)軟硬件基礎(chǔ)知識大全
嵌入式系統(tǒng)的外設(shè)器件選擇
![<b class='flag-5'>嵌入式</b>系統(tǒng)的外設(shè)器件選擇](https://file1.elecfans.com/web2/M00/D4/03/wKgaomYkbU2AfzuwAAASqtl4vhI345.jpg)
入門嵌入式系統(tǒng)這些知識你知道嗎?
再談嵌入式實時操作系統(tǒng)
![再談<b class='flag-5'>嵌入式</b>實時操作系統(tǒng)](https://file1.elecfans.com/web2/M00/C8/81/wKgaomYVCTGAXoLNAAHKsmHXcPM241.png)
評論