0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

閃存技術如何解決操作系統(tǒng)性能下降的問題

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-02-06 09:41 ? 次閱讀

隨著物聯(lián)網(wǎng)節(jié)點變得越來越強大,處理要求可能會提升到全新的水平,需要 Linux 等完全嵌入式操作系統(tǒng) (OS) 才能正確管理所有正在運行的復雜任務。雖然將此代碼存儲在閃存 microSDHC 卡上很方便,但大多數(shù)閃存 microSDHC 卡僅適用于數(shù)據(jù)存儲而非操作系統(tǒng)存儲,不過供應商已經(jīng)提出了一些創(chuàng)新的解決方案。

本文介紹了嵌入式操作系統(tǒng)的作用,以及為何將操作系統(tǒng)和應用程序代碼同時放在物聯(lián)網(wǎng)節(jié)點中的 microSDHC 閃存卡上通常是明智之舉;然后解釋了閃存卡的性能下降模式,以及操作系統(tǒng)如何受到這種性能下降現(xiàn)象的特別影響;接下來展示了設計人員如何通過新的閃存實施辦法來克服這種性能下降,從而確保物聯(lián)網(wǎng)節(jié)點的實施高效且可靠。

為何使用嵌入式操作系統(tǒng)

對于某些物聯(lián)網(wǎng)應用而言,可在遠程物聯(lián)網(wǎng)節(jié)點上執(zhí)行的預處理越多,物聯(lián)網(wǎng)節(jié)點需要傳輸回中央集線器的數(shù)據(jù)就越少,這樣可釋放網(wǎng)絡帶寬。經(jīng)過預測試的嵌入式操作系統(tǒng)可通過有效處理大量單獨任務來支持復雜的預處理,并以可預測(確定性)的方式處理多重任務。當然,這將對微控制器提出額外的要求,需要更快的時鐘速度,更重要的是,需要更多的程序存儲器。

商業(yè)或開源成品嵌入式操作系統(tǒng)的另一優(yōu)勢在于采用經(jīng)預測試的可靠代碼,很少需要更新。例如,可用的嵌入式 Linux 操作系統(tǒng)可能只是每季度更新一次,或是僅安裝緊急安全補丁。嵌入式操作系統(tǒng)和所需應用程序代碼可能需要 8 Gb 或更多的存儲空間,由于操作系統(tǒng)很少更新,因此將操作系統(tǒng)存儲在由技術人員手動(物理)更新的 microSDHC 閃存卡上會更方便。這也適用于未來的內存擴展,因為下次技術人員訪問時,現(xiàn)有的 4 GB 閃存卡可以根據(jù)需要輕松更換為 8 Gb 或容量更大的卡(圖 1)。

圖 1:Swissbit Class 10 microSDHC S-140u 存儲卡支持高達 104 Mb/s 的速度,足夠用于高速訪問程序存儲器。

與通過無線網(wǎng)絡更新的閃存相比,在手動更新的 microSDHC NAND 閃存卡上存儲千兆字節(jié)的嵌入式操作系統(tǒng)具有多個優(yōu)勢。在無線網(wǎng)絡中,根據(jù)所使用的仲裁方案,更新 4 GB 或更大的嵌入式操作系統(tǒng)可能會導致從操作通信中竊取無線帶寬。通過網(wǎng)絡更新還需要一個兩倍于正常容量的 microSDHC 卡,因為需要足夠的存儲空間來運行操作系統(tǒng)和容納傳入的更新。

由于無線電活動以及更高的閃存寫入電壓和功率要求,通過無線方式更新閃存代碼也會縮短電池壽命。

與數(shù)據(jù)存儲相比,從閃存執(zhí)行的嵌入式操作系統(tǒng)對閃存單元也提出了不同的要求。大多數(shù)商用閃存 microSDHC 卡都是制造商設計用于數(shù)據(jù)存儲的。最常見的商業(yè)用途是移動設備的多媒體存儲。雖然視頻、圖像或音頻文件中的多個位錯誤可能會被最終用戶忽視,但關鍵嵌入式操作系統(tǒng)文件中只要有一個位錯誤,就可能導致整個系統(tǒng)出現(xiàn)故障。

閃存的使用壽命有限制。對閃存陣列的每次寫入操作都會縮短陣列的壽命。每個半導體閃存規(guī)范列出了有限數(shù)量的擦寫周期。隨著閃存單元接近規(guī)定的限制,單元磨損并且不接受新編程狀態(tài)的可能性變得越來越大。

磨損均衡是防止由于寫入操作引起閃存陣列性能下降的一種常見方法。寫入并非寫入相同的閃存位置,而是均勻地分布在整個閃存半導體存儲器陣列上,確保寫入內容在閃存矩陣中均勻分布。通過磨損均衡,當微控制器寫入物理存儲器中的單個位置時,閃存控制器可以將該位置映射到閃存陣列中的不同位置。

讀取干擾錯誤如何發(fā)生

操作系統(tǒng)文件的訪問頻率比數(shù)據(jù)文件要高得多,因此無法容忍文件位錯誤。在某些情況下,核心操作系統(tǒng)文件可能會被不斷讀取,進而在閃存陣列中引入位錯誤。

閃存以塊的形式排列,每個塊包含許多頁。對存儲器來說,塊是可擦除的最小部分,而頁是可讀取或編程的最小部分。閃存塊的一般大小為 256 KB,每個塊可包含 64 頁,每頁 4 KB。每個頁還包括額外的 64 個字節(jié),用于糾錯碼 (ECC)、擦除計數(shù)和到物理轉換信息的邏輯。

在一頁數(shù)據(jù)的閃存讀取操作期間,即使頁中僅有一個字節(jié)需要讀取,也會對頁所屬的整個塊施加較小的讀取電壓。由于閃存處理單元技術,也會在塊中的周圍頁內產(chǎn)生較小的電壓。這可以將電子注入到單元絕緣層中,類似于對單元進行編程,這就是它被稱為“軟編程”的原因。將較小的讀取電壓重復施加到同一個塊可能最終干擾非正在讀取的閃存頁的編程。隨著時間的推移,這可能導致將相鄰單元的狀態(tài)改為不同的值。

雖然大多數(shù) NAND 閃存 microSDHC 卡都有某種形式的糾錯功能來糾正單元錯誤,但由軟編程引起的錯誤數(shù)量可能很多,以至于達到無法糾正的臨界水平,從而導致微控制器從位位置讀取不同的值,造成文件損壞錯誤。這些位錯誤稱為讀取干擾錯誤。

用于數(shù)據(jù)存儲的 NAND 閃存 microSDHC 卡很少出現(xiàn)讀取干擾錯誤。在閃存陣列上執(zhí)行寫入操作時,磨損均衡操作過后,閃存位置被重新編程,因此消除了任何軟編程影響。但是,用于嵌入式操作系統(tǒng)的閃存陣列很少編程,這使得讀取干擾錯誤成為現(xiàn)實。

單階存儲單元 (SLC) 閃存卡的額定讀取次數(shù)為一百萬次,多階存儲單元 (MLC) 閃存卡在讀取干擾錯誤發(fā)生之前的額定讀取次數(shù)為 100,000 次。對于數(shù)據(jù)閃存,讀取干擾錯誤被認為非常罕見,以至于規(guī)格書中通常不指定這些數(shù)字。

使用 RDM 防止讀取干擾錯誤

為了防止讀取干擾錯誤,Swissbit 開發(fā)了一種稱為讀取干擾管理 (RDM) 的功能。在 Swissbit 的 RDM 中,閃存卡控制器會跟蹤每個閃存塊的讀取操作次數(shù)。當塊達到內部定義的讀取操作次數(shù)時,控制器將數(shù)據(jù)移動到新塊,類似用于寫入操作的磨損均衡。如有必要,在對新塊進行寫入操作期間,SD 控制器的糾錯碼 (ECC) 會糾正任何損壞的數(shù)據(jù)。

Swissbit 的 SFSD8192N1BM1MT-I-QG-221-STD 8 GB S-450u UHS-I Class 10 microSDHC 閃存卡中已實施 RDM。S-450u 專為使用嵌入式操作系統(tǒng)的工業(yè)應用而設計,具有許多復雜的物聯(lián)網(wǎng)節(jié)點中嵌入式 Linux 操作系統(tǒng)和應用程序代碼所需的足夠空間。在 SDR104 模式下,S-104u 可支持高達 104 Mb/s 的數(shù)據(jù)訪問速度。

使用 microSDHC 卡執(zhí)行程序存儲器

如前所述,microSDHC 卡通常僅用于數(shù)據(jù)存儲器,因此大多數(shù) Harvard 架構微控制器上的外設僅支持訪問作為數(shù)據(jù)存儲器的 microSDHC 卡。這限制了可用選項。

現(xiàn)有解決方案會讀取 microSDHC 卡并將程序存儲器加載到 RAM 中,然后從 RAM 中執(zhí)行。RAM 芯片不僅增加了電路板的成本,而且程序擴展僅限于 PC 板上可用的板載 RAM 數(shù)量。

MicroSDHC 卡能夠在 SD 模式或 SPI 模式下連接。

要將微控制器連接到作為程序存儲器的 S-450u microSDHC 卡,所選的微控制器需要支持兩種 microSDHC 總線協(xié)議之一:

圖 2:使用 SD 模式連接 microSDHC 卡時,使用一個簡單的六信號接口,以提供最快的內存訪問速度。

映射到程序存儲器的 SDHC 卡 SD 模式控制器外設(圖 2)。此外設可以是外部外設,也可以是內部微控制器外設。接口由六個信號組成:四位數(shù)據(jù) (DAT[0-3])、一個時鐘 (CLK) 和一個雙向指令/響應信號 (CMD)。數(shù)據(jù)一次傳輸四位,并提供最快的程序執(zhí)行速度。主機控制器或微控制器為 microSDHC 卡提供時鐘。

一個可配置 SPI 接口,支持芯片內執(zhí)行 (XIP)??赏ㄟ^在 SPI 模式下訪問 microSDHC 卡來執(zhí)行卡中的代碼,提供快速數(shù)據(jù)傳輸,但傳輸速度不如 SDHC 卡模式。XIP 存儲器將卡的存儲器映射到微控制器的程序存儲器空間,使得 microSDHC 卡訪問對主機固件保持透明。

microSDHC 卡在 SD 卡模式下啟動。要選擇單位 SPI 模式,在開機后的前六個時鐘,DAT3 信號必須上拉至 VDD,同時通過將 CMD 下拉至 VSS 發(fā)送 RESET(復位)命令 (000000b) 至卡。此后,卡將保持 SPI 模式,直至關機。

Maxim Integrated 的 MAX32652 Arm? Cortex?-M4F 微控制器是專為物聯(lián)網(wǎng)節(jié)點設計的低功耗微控制器。它有一個片載 QSPI XIP 接口,如果配置正確,能夠執(zhí)行 microSDHC 卡的代碼。

MAX32652 還有一個完整的 SDHC 接口,主要用于數(shù)據(jù)存儲器存儲。

需要注意的是,微控制器的這些接口必須是程序存儲器接口。無論使用何種總線協(xié)議或接口,微控制器都需要包含一些片載閃存啟動代碼,以便初始化 microSDHC 卡的接口。

插座安全

用于工業(yè)應用 microSDHC 卡的插座經(jīng)常被忽視。對于要求堅固耐用的應用,錫或類似觸頭材料會隨著時間的推移而變色或失去其拉伸強度。金觸點雖然價格稍貴,但是能提供穩(wěn)固的觸頭連接,確保其拉伸強度不會隨時間改變,因此物有所值。

Amphenol ICC 的 10101704J6#2A 通用閃存 (UFS) 和 microSDHC 連接器/插座可為任何 microSDHC 兼容卡提供穩(wěn)固的連接(圖 3)。該插座具有防磕碰觸點,可防止存儲卡在插拔過程中卡住。

圖 3:10101704J6#2A UFS 和 microSDHC 卡連接器/插座支持現(xiàn)有的 microSDHC 和下一代 UFS 卡,數(shù)據(jù)傳輸速度高達 6 Gb/s。

此 Amphenol 插座兼容新的通用閃存 (UFS) 格式,因此還支持未來擴展,UFS 外形尺寸與 microSDHC 類似,但觸點封裝不同(圖 4)。UFS 卡具有差分雙向數(shù)據(jù)傳輸功能,支持兩倍于 microSDHC 的傳輸速度。

圖 4:左側是 microSDHC 卡,右側是新的 UFS 卡。UFS 卡具有差分雙向數(shù)據(jù)傳輸功能,支持兩倍于 microSDHC 的傳輸速度。

一些聯(lián)網(wǎng)的物聯(lián)網(wǎng)節(jié)點可能位于 Wi-Fi 不可用或不實用的遠程位置。對于上述情況,可通過無線蜂窩數(shù)據(jù)連接來執(zhí)行聯(lián)網(wǎng)。這需要使用一張用戶 SIM 卡,該 SIM 卡也需要插入。

節(jié)省電路板空間的一個簡單方法是使用 microSDHC 和 SIM 卡插座組合,如 Molex 的 1041681620 雙插座,同時支持 SIM 卡和 microSDHC 卡(圖 5)。該插座還具有金觸點,可在惡劣環(huán)境中實現(xiàn)穩(wěn)固的連接,并采用防磕碰觸點。

圖 5:1041681620 組合 SIM 卡和 microSDHC 卡插座可顯著減少板空間,提供防磕碰觸點,防止插拔錯誤。

總結

雖然閃存 microSDHC 卡過去常用于數(shù)據(jù)存儲,但目前正在尋求改進,以支持嵌入式操作系統(tǒng)在芯片內執(zhí)行程序存儲器的獨特需求。此演進過程的一部分包括開發(fā)可支持持續(xù)讀取請求的更快閃存。此外,微控制器正在演進,以支持可從外部 microSDHC 卡可靠執(zhí)行代碼的新存儲器接口,同時減少或消除閃存錯誤。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5082

    文章

    19126

    瀏覽量

    305303
  • 物聯(lián)網(wǎng)

    關注

    2909

    文章

    44640

    瀏覽量

    373446
  • 操作系統(tǒng)

    關注

    37

    文章

    6827

    瀏覽量

    123335
收藏 人收藏

    評論

    相關推薦

    實時操作系統(tǒng)和分時操作系統(tǒng)的區(qū)別

    操作系統(tǒng)能否滿足實時性要求來區(qū)分,可把操作系統(tǒng)分成分時操作系統(tǒng)和實時操作系統(tǒng),分時操作系統(tǒng)按照相等的時間片調度進程輪流運行,分時操作系統(tǒng)
    發(fā)表于 11-14 17:39 ?1.3w次閱讀

    關于嵌入式操作系統(tǒng)和PC機的操作系統(tǒng)

    我想問下PC操作系統(tǒng)和嵌入式操作系統(tǒng)的區(qū)別?如果,也許這個問題很幼稚,PC機可以外接硬盤裝系統(tǒng),嵌入式處理器外接NAND 閃存系統(tǒng),那為什
    發(fā)表于 01-24 13:53

    10390A系統(tǒng)性能分析軟件技術數(shù)據(jù)

    10390A系統(tǒng)性能分析軟件技術數(shù)據(jù)
    發(fā)表于 03-12 15:22

    鏡像對系統(tǒng)性能的影響有哪些?

    鏡像抑制基礎知識可減少AD9361和AD9371中正交不平衡的技術鏡像的來源、含義及對系統(tǒng)性能的影響
    發(fā)表于 03-29 07:59

    如何提高FPGA的系統(tǒng)性能

    本文基于Viitex-5 LX110驗證平臺的設計,探索了高性能FPGA硬件系統(tǒng)設計的一般性方法及流程,以提高FPGA的系統(tǒng)性能。
    發(fā)表于 04-26 06:43

    實時操作系統(tǒng)(RTOS)是指什么

    計算機三級知識點總結五嵌入式系統(tǒng)篇實時系統(tǒng)(RTS)實時操作系統(tǒng)(RTOS)實時操作系統(tǒng)是實時系統(tǒng)使用的
    發(fā)表于 12-23 06:39

    可重構硬件操作系統(tǒng)技術

    可重構硬件操作系統(tǒng)技術:為了充分發(fā)揮可重構計算的高性能和可編程能力, 需要將可重構資源和硬件任務納入到操作系統(tǒng)管理范疇. 因此面向可重構計算的操作系
    發(fā)表于 10-06 09:41 ?23次下載

    優(yōu)化BIOS設置提高系統(tǒng)性能

    BIOS設置對系統(tǒng)性能的影響非常大,優(yōu)化的BIOS設置,可大大提高PC整體性能,不恰當?shù)脑O置會導致系統(tǒng)性能下降,運行不穩(wěn)定,甚至出現(xiàn)死機等現(xiàn)象。下面就BIOS中影響
    發(fā)表于 10-10 14:27 ?43次下載

    操作系統(tǒng)教程_孫鐘秀

    本書的特點之一是:既致力于傳統(tǒng)操作系統(tǒng)基本概念、基本技術、基本方法的闡述,又融合現(xiàn)代操作系統(tǒng)最新技術發(fā)展和應用的討論,著眼于操作系統(tǒng)學科知識
    發(fā)表于 12-09 14:55 ?0次下載
    <b class='flag-5'>操作系統(tǒng)</b>教程_孫鐘秀

    操作系統(tǒng)原理_孫鐘秀

    本書的特點之一是:既致力于傳統(tǒng)操作系統(tǒng)基本概念、基本技術、基本方法的闡述,又融合現(xiàn)代操作系統(tǒng)最新技術發(fā)展和應用的討論,著眼于操作系統(tǒng)學科知識
    發(fā)表于 04-11 14:23 ?0次下載

    RTOS操作系統(tǒng)

    RTOS操作系統(tǒng)RTOS操作系統(tǒng)RTOS操作系統(tǒng)RTOS操作系統(tǒng)RTOS操作系統(tǒng)
    發(fā)表于 12-28 15:30 ?0次下載

    歐拉(openEuler)系統(tǒng)峰會2021 麒麟軟件數(shù)字化系統(tǒng)性能要求

    銀河棋麟操作系統(tǒng)充分滿足數(shù)字化系統(tǒng)性能要求,銀河棋麟操作系統(tǒng)為數(shù)字化建設提供安全可信支撐。
    的頭像 發(fā)表于 11-09 11:24 ?1440次閱讀
    歐拉(openEuler)<b class='flag-5'>系統(tǒng)</b>峰會2021 麒麟軟件數(shù)字化<b class='flag-5'>系統(tǒng)性能</b>要求

    歐拉(openEuler)Summit 2021:基于AI的操作系統(tǒng)性能調優(yōu)引擎

     歐拉(openEuler)Summit 2021直播會上,重點介紹基于AI的操作系統(tǒng)性能調優(yōu)引擎。
    的頭像 發(fā)表于 11-10 10:46 ?2160次閱讀
    歐拉(openEuler)Summit 2021:基于AI的<b class='flag-5'>操作系統(tǒng)性能</b>調優(yōu)引擎

    openEuler Summit開發(fā)者峰會:基于AI的操作系統(tǒng)性能調優(yōu)引擎A-Tune

    openEuler Summit開發(fā)者峰會:基于AI的操作系統(tǒng)性能調優(yōu)引擎A-Tune
    的頭像 發(fā)表于 11-10 10:51 ?1620次閱讀
    openEuler Summit開發(fā)者峰會:基于AI的<b class='flag-5'>操作系統(tǒng)性能</b>調優(yōu)引擎A-Tune

    Linux操作系統(tǒng)運行參數(shù)自動調整技術

    Linux操作系統(tǒng)運行參數(shù)的自動調整是一個復雜而關鍵的技術,它可以顯著提高系統(tǒng)性能、穩(wěn)定性和資源利用率。通過使用自適應算法特別是內核態(tài)的機器學習框架、性能監(jiān)控工具和配置管理工具,能夠在
    的頭像 發(fā)表于 08-22 09:53 ?311次閱讀
    Linux<b class='flag-5'>操作系統(tǒng)</b>運行參數(shù)自動調整<b class='flag-5'>技術</b>