TECO东元电机-东元变频器-teco东元电机股份有限公司官网

產(chǎn)品分類

當(dāng)前位置: 首頁 > 傳感測量產(chǎn)品 > 工業(yè)傳感器 > 溫濕度傳感器

類型分類:
科普知識
數(shù)據(jù)分類:
溫濕度傳感器

關(guān)于Flash存儲,你應(yīng)該知道的一些事情

發(fā)布日期:2022-04-26 點擊率:46

  • 關(guān)鍵詞:                                                                Flash存儲

  • 摘要:Flash 存儲問題總是在我們技術(shù)支持渠道位列榜首。Toradex 投入了大量資源保證存儲盡可能的穩(wěn)定。然而,了解一些關(guān)于存儲的基本知識還是十分重要的。首先你需要知道存儲是否磨損,當(dāng)往內(nèi)置的存儲設(shè)備上寫入大量數(shù)據(jù)后,你就很容易損壞它。通過這篇博文,我們想要告訴你 Flash 存儲可能會遇到的一些問題。我們先簡單介紹技術(shù)內(nèi)容。


  Flash 存儲問題總是在我們技術(shù)支持渠道位列榜首。Toradex 投入了大量資源保證存儲盡可能的穩(wěn)定。然而,了解一些關(guān)于存儲的基本知識還是十分重要的。首先你需要知道存儲是否磨損,當(dāng)往內(nèi)置的存儲設(shè)備上寫入大量數(shù)據(jù)后,你就很容易損壞它。通過這篇博文,我們想要告訴你 Flash 存儲可能會遇到的一些問題。我們先簡單介紹技術(shù)內(nèi)容。

  Flash 類型:Raw Flash vs Managed Flash

  目前,Toradex 計算機(jī)模塊采用 NOR、NAND 和 eMMC Flash。

NOR 和 NAND 是 raw 存儲設(shè)備。NAND 和 NOR 之間的主要差別是 NOR 允許隨機(jī)尋址,不需要糾錯以及較高的每比特成本。NAND 則只能頁讀取,每頁中的一些位可能出錯,因此需要糾錯機(jī)制。

  eMMC Flash 則結(jié)合使用 NAND 和一個內(nèi)置控制器,后者處理大部分使用 NAND flash 時候,本來需要你自己完成的一些列任務(wù)。eMMC 也稱為 managed NAND。在另一方面,NAND 和 NOR 需要有 OS 和驅(qū)動來完成對應(yīng)的處理。我們稍后會在本博文中討論這兩種不同的挑戰(zhàn)。

  下面是我們的計算機(jī)模塊所使用的 Flash 類型概覽;

Storage Type
Toradex Computer Module
NORColibri PXA270
NANDColibri PXA310, PXA320, VF50, VF61, iMX7, T20
EMMCColibri iMX6 and T30, Apalis iMX6 and T30

  NAND Flash 演變:從 SLC 到 MLC

  NAND 上面的 bit 密度隨著時間在不停增長。最早的 NAND 設(shè)備是 Single Level Cell (SLC) flash。這意味著每個閃存單元存儲一個bit位信息。借助 Multi Level Cell (MLC),每個閃存單元可以存儲兩個或者多個bit位,bit 密度也隨之提升。MLC 聽起來很不錯,但是也有缺點:MLC NAND 也帶來更高的bit 錯誤率以及更低的壽命。所有的 eMMC 都使用 MLC NAND。有些 eMMC 設(shè)備可以在部分或者全部存儲區(qū)域上使用 pseudo-SLC (PSLC)。這將會減少存儲容量,但是提高設(shè)備上使用壽命。

  這是 SLC 和 MLC 的簡單對比。


SLCMLC
Bits per Cell12 and more (TLC)
Erase/Program cycles100K3K to 15K
Minimal ECC, bits correctable
per 512 Bytes, chip dependent
8 bit12 bit
Cost per ByteHigherLower

  使用壽命:有限的擦寫次數(shù)

  正如上面提到的,關(guān)于我們設(shè)備上使用的 flash 技術(shù),您需要知道很重要的一點是,您只能有限次地擦寫存儲設(shè)備。往 flash 存儲上寫入大量的數(shù)據(jù),并不是一個好的主意。上面的表格所示,根據(jù)所使用的 flash 類型不同,直到數(shù)據(jù)可能出現(xiàn)損壞或者丟失前,您可以進(jìn)行 10K 到 100K 次寫操作。“擦寫周期” 這一個令人煩惱的事情。Flash 存儲的一個限制是,在被擦除之前是無法進(jìn)行寫操作的。而且,不能通過位擦差來完成,而是需要更大的單位,稱為塊。最糟糕的情況是,如果你只想改變一個字節(jié),但是可能需要擦除整個塊。一個塊最大可以使 512KB。這種比你想象的要大的多的擦/寫比現(xiàn)象稱為寫放大。并且可能還有 flash 文件系統(tǒng)所需的額外寫操作。如果你想要評估你嵌入式設(shè)備上的存儲的壽命,你應(yīng)該把這個也考慮進(jìn)來。

  提高 flash 壽命

  下面的內(nèi)容向你介紹如何提高 NAND 或者 eMMC 的壽命。不要擔(dān)心,這些工作都已經(jīng)由 Toradex 完成,你不需采取任何工作。

  防止磨損:磨損平衡

  我們假設(shè)你已經(jīng)了解 flash 只能被有限次地擦寫,并且你只是偶爾小批量地更新數(shù)據(jù)。如果這些數(shù)據(jù)總是寫在同一個 flash 單元,那么你只能在 MLC flash 上寫 15K 次。如果永遠(yuǎn)不使用其他 flash 單元,你的數(shù)據(jù)將會丟失,一直在寫的存儲單元磨損后,flash 也就隨著報廢。智能的 flash 驅(qū)動會采用磨損平衡。這個技術(shù)確保所有的 flash 單元被平均磨損,而不是總是使用同一個單元。

  檢測和糾正錯誤:糾錯碼

  在 NAND flash 設(shè)備有可能發(fā)生一個位的數(shù)據(jù)發(fā)生翻轉(zhuǎn),你的數(shù)據(jù)因此損壞。磨損或者其他干擾都有可能引起這個現(xiàn)象。因此,數(shù)據(jù)需要被糾錯碼(ECC)保護(hù)。根據(jù) Flash 控制器和 NAND / eMMC 的不同,部分錯誤數(shù)據(jù)可以被檢測和糾正。

  壞塊處理

  ECC 使我們能夠發(fā)現(xiàn)錯誤的塊,我們就可以停止使用這些壞塊。根據(jù) ECC 以及糾正的位數(shù),可以設(shè)定容錯上限,這個范圍之內(nèi)不需要采取進(jìn)一步行動。一旦達(dá)到這個上限,數(shù)據(jù)被糾正,并轉(zhuǎn)移到正常的塊上面。 之前的位置表記為壞塊。這些壞塊不再被使用,因為它們可能已經(jīng)損壞。

  掉電保護(hù)

  當(dāng)你的設(shè)備在往 flash 寫數(shù)據(jù)的時候突然掉電,這將會發(fā)生什么?在嵌入式設(shè)備上,你希望設(shè)備仍舊可以正常啟動,并且數(shù)據(jù)不受到損壞。為了達(dá)到這個目的,所有相關(guān)的軟件和硬件都需要有能力應(yīng)對這種情況。你將會在下面的內(nèi)容中了解我們是如何做到的。

  Toradex 系統(tǒng)模塊實施方法

  正如上面提到的,關(guān)鍵是根據(jù)存儲的類型采用正確配置。我們會分析目前 Toradex BSP 上所使用的技術(shù)。

  NAND 設(shè)備

  下圖展示了在 NAND 設(shè)備上行 WinCE 和 Linux 的配置

NAND-ba<em></em>sed devices

存儲設(shè)備:我們的設(shè)備只要使用 NAND,那么都用的是 SLC NAND。

硬件驅(qū)動:硬件驅(qū)動為 NAND 設(shè)備和上層系統(tǒng)提供接口。上層系統(tǒng)也負(fù)責(zé)錯誤檢測和糾正。在 Linux 上我們目前的鏡像使用 MTD。WinCE 上我們使用 Microsoft Flash PDD 層。也有例外,如 Colibri T20,我們使用了專門的 PDD 層。

Flash 傳輸層:該層負(fù)責(zé)寫平衡和壞塊管理。在 Linux 中由 UBI 子系統(tǒng)完成;而 WinCE 則由 MDD 層完成。同樣在 Colibri T20 上我們使用了專門的層,而不是 Microsoft Flash MDD。

文件系統(tǒng):文件系統(tǒng)是實際管理分區(qū)以及所存文件的部分。用戶通過文件 API 來是用文件系統(tǒng)(Linux 中通過 VFS 層)。在Linux 上,目前我們使用 UBI FS。WinCE 使用 Transaction Save exFAT (TexFAT) 。兩者都可以應(yīng)對掉電。基本的文件層通過支持原子操作來應(yīng)對掉電發(fā)生。

eMMC 設(shè)備

下圖展示了在 eMMC 設(shè)備上行 WinCE 和 Linux 的配置

eMMC-ba<em></em>sed devices

存儲設(shè)備:相對于 raw NAND,絕大多數(shù)的工作由 eMMC 本身完成。上層軟件不需要處理寫平衡、糾錯和壞塊管理。

硬件驅(qū)動:這是 MMC 控制器和文件系統(tǒng)之間的接口.

文件系統(tǒng):和 NAND 設(shè)備一樣,WinCE 上仍舊使用 TexFAT;我們的 Linux 鏡像使用 ext3 文件系統(tǒng)。同樣也是能夠應(yīng)對掉電情況。

結(jié)論和建議

  Toradex 盡自己最大的努力提供可靠和持久的 flash 存儲。然而,在開發(fā)的過程中,你還是需要始終關(guān)注 flash 的使用。

  • 減少 flash 訪問次數(shù)

  • 了解你最終產(chǎn)品的寫操作行為

  • 檢查在寫操作的情況下,你產(chǎn)品使用壽命是否能夠達(dá)到要求

  • 進(jìn)行壓力測試和持久測試

  • 避免使用 Flash 全部容量,這可以極大地提高寫平衡算法的效率



下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產(chǎn)品

更多
主站蜘蛛池模板: 国产亚洲美女精品久久久2020 | 高清在线精品一区二区 | 久久图| 无码乱人伦一区二区亚洲一 | 伊人久久大香线蕉综合网站 | 午夜看片网站 | 免费看片亚洲 | 一本色道久久88综合日韩精品 | 亚洲成aⅴ人片久青草影院 亚洲成aⅴ人在线观看 | 亚洲国产精品综合久久 | 亚洲欧美国产另类视频 | 中文字幕一区视频一线 | 99爱在线视频这里只有精品 | 欧美亚洲综合成人a∨在线 欧美亚洲综合另类成人 | 国产精品激情av久久久青桔 | 亚洲精品国产不卡在线观看 | 麻豆视频网站入口 | ady国产| 精品亚洲成a人片在线观看少妇 | 亚洲国产天堂久久精品网 | 免费播放巨茎人妖不卡片 | 久久免| 色综合亚洲七七久久桃花影院 | 狼人大香伊蕉国产www亚洲 | 92精品国产成人观看免费 | 国产97在线视频 | 久久久久亚洲av片无码 | 国产av巨作丝袜秘书 | 免费国产在线视频 | 欧美不卡二区 | 999re6热在线精品视频思思 | 久操视频在线免费观看 | 久久久久久亚洲av无码精品专口 | 中文字幕久荜一区日本精品 | 午夜dj在线观看免费视频 | 好吊妞人成视频在线观看强行 | 久草在线观看福利 | 国产精品igao视频网 | 色一欲一性一乱一区二区三区 | 四虎剧场 | 日韩免费无码视频一区二区三区 |