女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

嵌入式存儲器系統的應用

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Ken Whitaker ? 2022-10-24 11:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

內存子系統不需要顯著的學習曲線。對于新手工程師來說,當今嵌入式系統和隨附的內存子系統的復雜性有時會產生學習曲線。內存包括作為臨時(易失性)或持久(非易失性)存儲“容器”運行的硬件組件。這些帶電電路的神奇塊存儲信息狀態,用于指令(二進制代碼)并將數據組織為可尋址字節(8位),雙字節(16位)和四字節(32位)。

結合控制內存子系統等資源的嵌入式操作系統(OS),軟件指示處理器CPU)沿著地址線發送突發電力,該地址線標識轉換在存儲數據的芯片中的位置。該脈沖可以打開或關閉連接到數據線的晶體管。當電脈沖到達地址線時,脈沖流過閉合的晶體管,并為存儲相當于1(導通)位的電容器充電,相反,未充電的電容器表示0(關斷)位。

1. 信息的記憶位數組(部分顯示)。

易失性存儲器用作隨機存取存儲器 (RAM)。只有在通電時才能保持其內容物。為了補充RAM的使用,在早期的嵌入式系統中,只讀存儲器(ROM)通常用于運行操作系統和應用程序。可以以字節(8 位)信息單位訪問任一內存源。

非易失性存儲器可保留數據。對于傳統 PC、Mac 和服務器,持久內存存儲已用于存儲更大的可尋址字節容器— 通常基于底層分組(稱為扇區)進行組織。物理尺寸和低功耗要求通常不是固定磁盤或固態設備 (SSD) 等存儲系統的優先事項。對于尺寸和低功耗至關重要的小型嵌入式系統,情況并非如此。此持久性存儲介質是可移動的(SD 或 CF 卡,或 USB 閃存驅動器),并且無論是否存在電源,都應保留其內容。512 和 4192 KB 的塊是這些小型設備的常用大小。鑒于許多嵌入式系統外形小巧,設備內存要求和物理空間限制通常決定了可以使用的內存類型。

易失性存儲器基礎知識

易失性存儲器可用于讀取CPU執行的指令,從而導致執行某些操作,有時將數據寫回內存。當今功能強大的嵌入式 CPU 可以處理和訪問 32 位(甚至 64 位)值的信息。8位計算的日子早已一去不復返了。

RAM由一個或多個芯片組成,可以與CPU和I / O端口一起駐留在相同的封裝基板中,稱為片上系統(SoC),這在可用電路板空間有限的小型設備(如無人機,家用傳感器等)中很常見。

非易失性存儲器基礎知識

閃存最初被稱為閃存RAM,正在成為首選的永久存儲介質,取代了旋轉磁盤。增岡不二雄博士于1984年在東芝工作時發明了閃存。他的同事有泉正治先生想出了閃光燈這個名字,因為從細胞中擦除數據的過程讓他想起了相機閃光燈。

閃存是一種非易失性存儲器,經過電編程,可長期存儲。最初的電可擦除可編程只讀存儲器(EEPROM)器件由列和行的網格組成,每個交叉點都有晶體管。一層薄薄的氧化物將每個晶體管與其他晶體管分開。如果一個晶體管(浮動柵極)與另一個晶體管(控制柵極)連接,則電池的值為1。如果此鏈接斷開,則該值變為 0。為了將電池組的值更改為0,將發生一個稱為福勒 - 諾德海姆隧道的過程,該過程會改變電池的電荷水平。當電源斷開時,電池應保留其最后設置(編程或擦除)。

認為閃存僅用于消費者移動設備(如相機和智能手機)的看法是不正確的。在外形尺寸受限且需要永久數據存儲的任何系統中,閃存經常使用。閃存要么是駐留的(焊接到電路板上),要么是非駐留的(通過行業標準端口(如SD和USB)的可移動設備)。閃存的美妙之處在于,沒有可能對可靠性產生負面影響的活動部件,但與任何技術一樣,也有優點和缺點,如表所示。

閃存的好壞。

市面上有兩種基本類型的閃存 — NOR 和 NAND。NOR最初設計用于取代只讀存儲器、三重定位器和易失性存儲器。它有一套完整的地址行,允許讀取單個字節。事實上,讀取通常與DRAM一樣快,允許程序直接從NOR存儲器運行XIP(原位讀取)。但是,擦除非常慢,只要不經常執行擦除操作,就不會出現問題。NOR 最初用于可移動的緊湊型閃存 (CF) 卡,是存儲操作系統映像、系統引導加載程序和系統配置信息的不錯選擇。

與NOR相比,NAND的開發旨在實現更高的容量,更小的占地面積和更低的成本。但是,它僅限于串行接口。因此,單個字節不能直接訪問;讀取、寫入和擦除必須以塊(或塊)為單位執行。該技術不適合替代ROM,但非常適合作為硬盤驅動器的替代品。NAND已成為可移動和常駐介質的標準閃存技術,因此,它適用于需要低成本、高密度和快速擦除的應用。

請注意塊和頁面之間的區別。每個塊由許多頁面組成,其中頁面大小通常為小塊(512 字節)或大塊(2048、4096 字節等)。塊大小很重要,因為如果記錄大小是閃存介質上使用的基礎塊大小的偶數部分,則通常會獲得最佳結果。對于所有NAND,數據以頁面形式寫入,但頁面必須已被刪除(到所有1),并且只能擦除塊。

2. 頁面和塊。

如果我們沒有提到記憶單元是如何組織以存儲信息位的,那么關于NAND的討論將是不完整的。單級單元 (SLC) 為每個單元存儲一位信息。隨著存儲容量的增加,多級單元(MLC)和三級單元(TLC)已被開發出來,以為每個單元存儲多個位。但這種增加的容量有一些缺點。MLC的寫入性能通常約為SLC的三分之一到一半。其復雜性的增加也會產生更多的位錯誤,需要更復雜的糾錯碼(EC)來防止常見的數據錯誤情況。與SLC和MLC相比,TLC具有更慢的傳輸速度,更高的錯誤率,需要更大的ECC,并且耐用性更低。當塊寫入最少的次數時,耐久性更好。

典型的NAND需要一個控制器來處理主機和閃存之間的命令和數據移動。控制器提供了執行基本操作(如塊讀取、寫入和擦除)的機制。許多設計都包含一個分立式控制器,該控制器僅提供這些功能,并將其他閃存管理活動(例如更換損壞的模塊并確保均勻磨損)留給驅動軟件。一些芯片設計人員發現,通過將帶有NAND閃存的內置控制器包含在稱為托管NAND的同一物理封裝中,可以提高效率。這些復雜的控制器以昂貴的芯片成本卸載了一些計算密集型軟件管理。

3. 納米閃存與托管納米

這有效地使器件能夠像典型的塊器件一樣工作,為主機文件系統提供更簡單的接口。由于托管 NAND 的價格可與 NAND 本身的價格相媲美,因此嵌入式主板將常駐管理 NAND 作為嵌入式多媒體存儲卡 (eMMC) 而不是閃存和控制器也就不足為奇了。

雖然它代表了馴服NAND特性的巨大飛躍,但eMMC并不是一項完美的技術。在對 eMMC 4.3 部件進行了一系列性能基準測試后,Datalight 的工程團隊觀察到某些部件的性能不佳,尤其是在隨機讀取時。對于一個特定的 eMMC 部件,對大于 16 MB 的文件執行的隨機 I/O 會減慢到 200 字節/秒的傳輸速率,遠低于順序 I/O 常見的數兆字節速率。

最終,適合您的系統設計的最佳閃存歸結為對其用例最重要的是什么。沒有一個閃存部件能夠以最低的價格提供高質量、大存儲容量、非凡的耐用性和“殺手級”性能。總會有一些權衡,應該為特定應用選擇正確的內存部分。

界面

駐留閃存在閃存、數據和地址總線之間具有直接接口。為了避免系統設計人員和閃存供應商之間的混亂,通用閃存接口(CFI)定義了大多數供應商支持并得到聯合電子設備工程委員會(JEDEC)非易失性存儲器小組委員會認可的開放接口標準。因此,可移動閃存符合物理、電氣和命令接口標準。這有效地允許各種不同的內存供應商選擇類似的部件。

這些標準已經遷移到小型嵌入式系統。例如,第一個 EIDE/ATA 連接是串行 AT 附件 (SATA) 接口標準的替代品,該標準的最大吞吐量為 133 MB/s。另一個流行的接口是小型計算機系統接口 (SCSI),由于使用 16 條并行線,速度高達 40 MB/s,因此在更短的時間內移動的數據比 EIDE 多。為了獲得更快的結果,Ultra-640 SCSI 可以以 640 MB/s 的速度傳輸數據。

令人驚訝的是,對于小型嵌入式電路板數據表,您可能必須四處尋找持久性存儲是否駐留在電路板上。例如,樹莓派3具有可用于可移動介質的微型SD和USB端口。

軟件數據存儲堆棧

對于非易失性、持久性閃存,需要系統軟件來驅動其運行。該系統軟件提供了軟件服務的邏輯分離,使應用程序能夠將文件系統請求作為結構化數據元素發出,這些請求又被轉換為塊請求,讓人聯想到傳統的基于塊的硬盤驅動器中存在的請求。

4. 軟件數據存儲堆棧。

Datalight的Reliance Nitro嵌入式文件系統實際上是一組相關的軟件模塊,每個模塊都有明確定義的軟件接口(稱為應用程序編程接口或API),可以保護來自應用程序的請求并確保可靠性,即使斷電也是如此。Reliance Nitro的可配置事務模型在數據實際寫入閃存時提供了微調的靈活性。

信實硝基是一種電源故障安全文件系統,可以插入到各種工業嵌入式實時操作系統中,如VxWorksLinux,安卓和Windows嵌入式。對于物聯網設備,可以使用占用小內存的物聯網文件系統,即信實邊緣,該系統可與FreeRTOS和MQX等小型嵌入式操作系統配合使用。

塊設備驅動程序從文件系統接收塊請求,并用作閃存轉換層 (FTL)。根據嵌入式系統上使用的閃存和接口,FTL 執行最初由文件系統執行的請求。例如,數據照明的閃存FX太拉與NAND或NOR存儲器配合使用,并向系統的閃存控制器發出命令。

閃存驅動程序不僅負責為基本閃存操作(讀取、寫入和擦除)提供支持,還負責優化內存的性能。由于閃存的使用壽命有限,連續重寫同一塊將導致零件過早磨損。為了防止這種情況,發明了磨損均衡算法,將磨損均勻地分布在閃光燈上。事實上,設計不佳的文件系統和塊驅動程序軟件基本上會破壞良好的閃存。例如,標準 FAT 文件系統在介質的開頭不斷寫入和重寫文件分配表 (FAT)。如果塊沒有不斷重新定位,對這些塊的訪問可能會很快磨損閃存。

由于單個塊會隨著時間的推移而磨損,因此壞塊管理(BBM)軟件是塊驅動程序的另一個重要部分。BBM 驗證寫入數據,當檢測到寫入失敗時,壞塊將重新映射到專門為壞塊分配保留的備用塊。

您可能會認為,使用托管NAND設備,您不需要閃存塊驅動程序。數據照明的閃存與受管的 NAND 設備配合使用。由于隨機磁盤 I/O 非常重要,特別是對于 Android 嵌入式系統,FlashFXe 將隨機 I/O 請求線性化,其方式是將實際的隨機讀取和寫入調度為順序 I/O 塊。因此,隨機 I/O 性能會顯著提高。通過減少正在執行的寫入次數,可以在某些用例中提高閃存耐久性。

數據生命周期

總而言之,重要信息根據系統的狀態駐留在內存中。首先是啟動時啟動。從非易失性閃存中,由整個系統(RTOS、驅動程序、應用程序等)的靜態副本組成的啟動映像被加載到 RAM 中。易失性存儲器被刷新,閃存中的非易失性數據再次可用。

接下來是正常操作。系統運行后,必須執行日常任務。對于基于傳感器的 IoT 設備,這些應用使用本地閃存執行工作并依賴于文件系統中的持久數據存儲(和檢索)。這通常包括打開文件、讀取和寫入數據以及選擇性地執行文件夾和其他文件系統操作。

但是存儲在設備上的數據很可能最終會到達企業的其他地方 - 私人或公共。趨勢是更多的數據收集、處理和分析要執行,并在本地保存在嵌入式設備上。平臺正在不斷發展,為這些連接的設備提供安全、設備管理、數據分析、軟件更新和連接服務。

最后一步是關閉和系統恢復:當系統需要關閉電源時,有序關閉很重要。如果應用了電源來完成對閃存的所有剩余 I/O 請求,則應有序地關閉文件系統,并將數據信息正確保存到介質中。

對軟件數據系統堆棧魯棒性的真正考驗是在發生意外斷電時重建文件結構所需的時間,這使得有序關機變得不可能。基于日志的文件系統(如 ext4)可能需要一些時間來重放日志以重建文件系統。

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

    關注

    68

    文章

    19885

    瀏覽量

    235086
  • 嵌入式
    +關注

    關注

    5150

    文章

    19659

    瀏覽量

    317396
  • 存儲器
    +關注

    關注

    38

    文章

    7649

    瀏覽量

    167332
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    eUPS0505斷電續航模塊,為嵌入式系統保駕護航

    視頻推薦設備面對外部供電意外斷電時,容易導致存儲器數據丟失甚至系統損壞,而eUPS0505嵌入式微型斷電續航模塊應用簡便體積小巧,能夠在斷電后為設備提供穩定的續航和快速的斷電通知,為嵌入式
    的頭像 發表于 04-15 11:38 ?263次閱讀
    eUPS0505斷電續航模塊,為<b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>保駕護航

    如何正確選擇嵌入式文件系統

    Linux嵌入式系統中,文件系統和緩存機制常導致數據存儲穩定性問題。本文通過案例分析原因,對比不同文件系統特性,為開發者提供優化建議,助力提
    的頭像 發表于 03-17 11:35 ?498次閱讀
    如何正確選擇<b class='flag-5'>嵌入式</b>文件<b class='flag-5'>系統</b>?

    從eMMC到NAND,嵌入式系統存儲的軟件優化策略

    嵌入式系統開發領域,存儲器作為信息交互的核心載體,其技術特性直接影響著系統性能與穩定性。然而,有些人在面對Linux、安卓等復雜操作系統
    的頭像 發表于 03-13 15:06 ?544次閱讀
    從eMMC到NAND,<b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b><b class='flag-5'>存儲</b>的軟件優化策略

    嵌入式系統存儲的軟件優化策略

    嵌入式系統開發領域,存儲器作為信息交互的核心載體,其技術特性直接影響著系統性能與穩定性。然而,有些人在面對Linux、安卓等復雜操作系統
    發表于 02-28 14:17

    【入門必看】從菜鳥到大牛,嵌入式系統完整學習路線!看這篇就夠了!

    ?嵌入式Linux”的順序幫助您從入門到進階,掌握嵌入式開發的精髓。第一階段單片機單片機是嵌入式學習的基石,因為它集成了處理存儲器和輸入
    的頭像 發表于 02-20 10:53 ?2316次閱讀
    【入門必看】從菜鳥到大牛,<b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>完整學習路線!看這篇就夠了!

    MPU在嵌入式系統中的應用

    一、MPU的基本功能 微處理單元(MPU)是嵌入式系統中的大腦,負責執行程序指令、處理數據和控制其他硬件設備。MPU的基本功能包括: 指令執行:MPU能夠從存儲器中讀取指令,解碼這些
    的頭像 發表于 01-08 09:26 ?897次閱讀

    EMMC存儲器故障檢測及解決方案

    隨著技術的發展,EMMC存儲器因其高速、大容量和低功耗的特性,已經成為移動設備和嵌入式系統的首選存儲解決方案。然而,任何技術都有可能出現故障,EMMC
    的頭像 發表于 12-25 09:39 ?4743次閱讀

    EEPROM在嵌入式系統中的應用 EEPROM數據保護技術解析

    的數據進行擦除和重寫。在嵌入式系統中,EEPROM因其獨特的特性而被廣泛應用于存儲關鍵數據,如配置參數、校準數據和固件更新等。 EEPROM在嵌入式
    的頭像 發表于 12-16 16:37 ?2792次閱讀

    PROM器件在嵌入式系統中的應用

    PROM(Programmable Read-Only Memory,可編程只讀存儲器)器件在嵌入式系統中有著廣泛的應用。以下是對PROM器件在嵌入式
    的頭像 發表于 11-23 11:22 ?1319次閱讀

    SDRAM同步動態隨機存儲器的操作說明

    SDRAM是做嵌入式系統中,常用是的緩存數據的器件。基本概念如下(注意區分幾個主要常見存儲器之間的差異)。
    的頭像 發表于 11-05 17:35 ?1128次閱讀
    SDRAM同步動態隨機<b class='flag-5'>存儲器</b>的操作說明

    什么是ROM存儲器的定義

    軟件和固件。ROM存儲器的這種特性使其成為存儲BIOS(基本輸入輸出系統)、嵌入式系統固件、游戲機游戲等的理想選擇。 二、ROM
    的頭像 發表于 11-04 09:59 ?3371次閱讀

    使用 TMP1826 嵌入式 EEPROM 替換用于模塊識別的外部存儲器

    電子發燒友網站提供《使用 TMP1826 嵌入式 EEPROM 替換用于模塊識別的外部存儲器.pdf》資料免費下載
    發表于 09-09 09:44 ?0次下載
    使用 TMP1826 <b class='flag-5'>嵌入式</b> EEPROM 替換用于模塊識別的外部<b class='flag-5'>存儲器</b>

    嵌入式系統的硬件組成部分

    嵌入式系統的硬件組成部分是構成其獨立運作能力的關鍵要素,這些部分協同工作,以實現對外部環境的感知、處理及響應。以下是對嵌入式系統硬件組成部分的詳細解析,涵蓋了處理
    的頭像 發表于 09-02 15:27 ?2414次閱讀

    嵌入式linux開發的基本步驟有哪些?

    之前,首先需要選擇合適的硬件平臺。硬件選擇需要考慮以下幾個方面: 1.1 處理 嵌入式Linux開發需要一個處理,常見的處理有ARM、MIPS、PowerPC等。選擇處理
    的頭像 發表于 09-02 09:11 ?1233次閱讀

    嵌入式系統是什么?

    分包含軟件運行環境以及操作系統,硬件部分包含信號處理存儲器以及通信模塊等多方面內容。與傳統的計算機系統相比,嵌入式
    的頭像 發表于 08-29 16:26 ?994次閱讀