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

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

3天內不再提示

用于嵌入式系統(tǒng)引導的閃存設備的比較

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Zhi Feng ? 2022-12-01 13:45 ? 次閱讀

許多嵌入式系統(tǒng)利用非易失性存儲器來存儲引導代碼、配置參數(shù)和系統(tǒng)斷電時保留的其他數(shù)據(jù)。今天,閃存在大多數(shù)嵌入式系統(tǒng)中扮演著這一角色。鑒于需要閃存的應用程序范圍很廣,因此有許多體系結構和功能集可以滿足應用程序的不同要求。

常見的閃存技術包括并行或SPI NOR閃存、SLC NAND和eMMC器件。最近,通用閃存(UFS)也已成為一種選擇。本文探討了這些不同類型的閃存在嵌入式系統(tǒng)啟動環(huán)境中的優(yōu)缺點。

嵌入式系統(tǒng)引導的復雜性

從外部角度來看,啟動嵌入式系統(tǒng)可能看起來很容易。但是,啟動涉及許多步驟,如果需要快速可靠的啟動,則需要仔細考慮設計。

通常,嵌入式系統(tǒng)啟動順序涉及以下步驟:

上電或硬件重置:這是啟動嵌入式系統(tǒng)的第一步。它可以打開系統(tǒng)電源或觸發(fā)系統(tǒng)的硬件重置。從這一點開始,系統(tǒng)開始執(zhí)行其代碼。

引導 ROM 或引導:內核跳轉到復位向量并嘗試執(zhí)行第一個代碼。某些處理器具有小型內部啟動 ROM,可在制造時進行編程。引導 ROM 代碼可以執(zhí)行處理器的一些基本初始化,例如設置時鐘、堆棧、中斷等。引導 ROM 還可以檢測引導加載程序的存儲位置;例如,在外部 NOR 或 NAND 閃存設備中。

某些處理器可以引導以直接從外部閃存設備執(zhí)行代碼。這通常需要處理器的硬件本機支持與外部閃存設備通信的特定總線接口,因為尚未完成軟件初始化。

引導加載程序 XIP 或重影:要使處理器執(zhí)行代碼,必須隨機訪問代碼存儲。如果使用 NOR 閃存設備來存儲引導加載程序,則處理器可以直接從閃存設備運行。這種方法通常稱為就地執(zhí)行 (XIP)。如果使用 NAND 或 eMMC 設備,則首先需要將啟動代碼復制到系統(tǒng)的 RAM。然后處理器可以跳轉到 RAM 空間并執(zhí)行。此方法稱為影子或存儲和下載 (SnD)。

此階段的引導加載程序有時稱為第二階段引導加載程序(例如,用于 Linux 應用程序的 U-boot)。它用于設置系統(tǒng)并加載其余軟件,例如操作系統(tǒng)和文件系統(tǒng)。它還可以通過引導ROM或硬件尚未本機支持的外圍設備執(zhí)行系統(tǒng)初始化并繼續(xù)引導過程。

引導加載程序初始化后,系統(tǒng)可以開始處理基本中斷和簡單的操作任務。

內核操作系統(tǒng)和/或文件系統(tǒng):這是一個可選步驟,具體取決于系統(tǒng)。如果嵌入式系統(tǒng)使用操作系統(tǒng)或文件系統(tǒng),則還需要將這些軟件組件加載到RAM內存中。由于操作系統(tǒng)和文件系統(tǒng)的軟件尺寸較大,系統(tǒng)完成此步驟并在完全操作模式下運行需要更長的時間。

加載所有軟件組件后,用戶應用程序可以開始運行: 一個常見的用例是使用閃存來存儲第二階段引導加載程序以及操作系統(tǒng)和文件系統(tǒng)軟件。引導加載程序啟動后,系統(tǒng)功能有限,并繼續(xù)引導過程以加載操作系統(tǒng)和文件系統(tǒng)。

不同目標應用中的優(yōu)先級

在決定用于啟動嵌入式系統(tǒng)的閃存類型之前,請考慮目標應用要求和用戶期望。表1總結了不同細分市場的首要任務。

poYBAGOIP4WAQ3U3AADZm9Z1jx0672.png

表 1.應用程序優(yōu)先級因細分市場而異。

對于汽車和工業(yè)應用,首要任務如下:

功能安全:功能安全是關于消除由于電子系統(tǒng)故障行為引起的危害而導致的不合理風險。這是設計汽車或工業(yè)應用時的主要考慮因素。選擇設計時考慮功能安全的設備有助于達到所需的汽車或工業(yè)安全標準,例如ISO 26262。在需要高級功能安全的情況下,使用專為功能安全而設計的設備至關重要。

可靠性:當閃存設備用于存儲啟動代碼時,必須在產(chǎn)品的整個生命周期內每次上電時可靠地讀取正確的數(shù)據(jù)。閃存的數(shù)據(jù)保留時間對于通常的靜態(tài)引導加載程序代碼很重要。對于手機等消費類產(chǎn)品,預期壽命很短。但是,對于汽車和工業(yè)應用,閃存設備的使用壽命必須超過15年,并且需要在系統(tǒng)的整個生命周期內保持數(shù)據(jù)完整性。

安全性:隨著設備的持續(xù)互連,數(shù)據(jù)安全變得越來越重要。具有強大安全技術的數(shù)據(jù)存儲可以保護關鍵內容,例如專有信息和商業(yè)機密。較新的閃存設備提供不同級別的安全性,以保護數(shù)據(jù)不被覆蓋、意外擦除和復制到克隆設備。通過加密和其他加密技術,閃存設備可用于受信任的引導鏈。

性能:啟動設備的性能直接影響系統(tǒng)啟動時間和操作,尤其是在必須保證系統(tǒng)在通電后一定時間內啟動并運行的應用中。對于用于啟動的閃存設備,性能因素不僅與從設備中讀取數(shù)據(jù)的速度有關,還與設備本身通過系統(tǒng)電源初始化的速度有關。

耐久性:閃存設備中的耐久性定義了在保持其指定保留時間的同時可以對內存進行編程和擦除的次數(shù)。對于許多嵌入式系統(tǒng),數(shù)據(jù)必須可靠多年,即使閃存被反復讀取、擦除和編程。

雖然NOR閃存和SLC NAND通常具有10K至100K范圍的耐久性周期,但MLC NAND可能只有5K或更少的周期。TLC NAND甚至可以提供數(shù)百個左右的周期。通常,閃存單元越密集,在永久單元故障之前可以執(zhí)行的擦除和寫入就越少。

NOR 閃存、SLC NAND、eMMC 和 UFS 的比較

根據(jù)其底層技術的性質,每種類型的閃存設備都具有可能適合一種應用而不適用于另一種應用的特性。表2提供了與嵌入式系統(tǒng)設計相關的特性比較。

poYBAGOIP4qAKYVSAAEy0sEz9ms845.png

表 2.嵌入式系統(tǒng)中使用的不同閃存類型的比較。

表中提到的一些因素通常是眾所周知的,例如密度、支持的溫度范圍和讀取帶寬。根據(jù)特定的引導加載程序,設計人員可以選擇適當?shù)囊龑гO備。例如,如果引導加載程序的大小非常大,則需要更大的設備來存儲這樣的引導加載程序。然而,大多數(shù)引導加載程序,如u-boot,都是兆字節(jié)的數(shù)量級的,并且在NOR閃存的密度范圍內。這意味著用戶可能有許多選項需要考慮。

要考慮的其他重要因素包括設備初始化時間、XIP 能力和數(shù)據(jù)可靠性。

設備初始化:這是設備通電與可以可靠地輸出數(shù)據(jù)之間的時間。如果系統(tǒng)需要非??斓膯訒r間,初始化時間可能是一個重要因素。如果系統(tǒng)需要直接從閃存執(zhí)行代碼(即,而不是陰影到RAM),則在NOR閃存上運行是唯一合適的選擇,如下所示。

就地執(zhí)行 XIP:XIP 功能允許系統(tǒng)減小昂貴的 RAM 大小。處理器無需將代碼影子到 RAM,而是可以直接從 NOR 閃存設備執(zhí)行。這種方法可以減少處理器支持DRAM器件所需的引腳數(shù)量,從而顯著降低PCB和整體系統(tǒng)成本。

引導要求

不同的應用程序對引導有不同的要求。在這里,我們從汽車應用中選擇一個示例來討論具體的啟動要求。

圖2顯示了一個典型的汽車系統(tǒng)。所有子系統(tǒng)都通過CAN總線或其他網(wǎng)絡協(xié)議連接。

poYBAGOIP5CACYixAAEJQz6bTLo704.png

圖 2:汽車系統(tǒng)框圖。

在汽車應用中,CAN總線的啟動要求為100 ms。這意味著子系統(tǒng)ECU(電子控制器單元)必須能夠在POR后100毫秒內回復CAN報文。如果子系統(tǒng)無法在 100 毫秒內啟動,則可能會錯過關鍵的 CAN 消息,這是不可接受的結果。在設計汽車子系統(tǒng)時,除了汽車應用的所有常規(guī)要求(如功能安全、溫度范圍等)外,快速啟動時間是需要考慮的重要要求。

對于需要非??靻訒r間的應用,例如上圖所示的汽車機箱,需要快速內存作為啟動設備??赡芊傅囊粋€錯誤是將快速讀取帶寬與快速啟動時間相關聯(lián),因為這只關注將代碼和數(shù)據(jù)從啟動閃存移動到 RAM 所需的時間。但是,如果考慮到設備初始化時間和引導加載程序大小,很明顯,從引導閃存讀取時間并不是引導序列中的主要瓶頸。

現(xiàn)代 NOR 閃存設備,例如賽普拉斯的 Semper NOR 閃存,提供快速初始化時間和高帶寬,以最大限度地減少啟動。當Semper NOR與八進制或HyperBus總線協(xié)議中的JEDEC xSPI接口一起使用時,帶寬可以高達400 MB/s??紤]到 1 MB 到 2 MB 之間的典型 U-boot 大小,400 MB/s 的讀取帶寬相當于 5 ms 的讀取時間,加上 Semper NOR 閃存的最大 300 μs 設備初始化時間。將其與大約 100 毫秒的 eMMC 初始化時間和 50 毫秒的 UFS 初始化時間進行比較。使用Semper NOR閃存的總系統(tǒng)啟動明顯低于汽車100 ms啟動要求。NOR 閃存器件還符合 ISO 26262 標準,并符合 ASIL-B。

在某些應用中,例如工業(yè)或物聯(lián)網(wǎng),最好直接在閃存設備(XIP)上執(zhí)行,而不是將引導加載程序復制到RAM。將其與使用 eMMC 進行存儲和 LPDDR2 RAM 進行代碼執(zhí)行的存儲和下載啟動方案進行比較。DRAM的寬數(shù)據(jù)總線需要多層PCB設計來適應。如果處理器直接在 NOR 閃存上運行 XIP,例如使用 x8 八通道 SPI 閃存,則引腳數(shù)量會顯著減少(參見圖 3)。結果是節(jié)省了多達 2 到 4 層 PCB 設計,從而降低了整體系統(tǒng)成本。

pYYBAGOIP5eASjBeAACoT-du4y4573.png

圖3.使用 NOR 閃存作為 XIP 設備。

如前所述,汽車和工業(yè)應用要求閃存設備可靠運行超過15年,并保持存儲數(shù)據(jù)的完整性。通常,SLC NAND和MLC NAND的誤碼率比NOR設備差。在寫入存儲器陣列時可能發(fā)生位錯誤,或者由讀取干擾或其他因素引起的電子泄漏。為了補償丟失數(shù)據(jù)的風險,NAND設備需要高度的ECC校正方案。原始SLC NAND設備甚至可能需要主機端的ECC功能。eMMC有自己的控制器來處理這些功能。SLC NAND和eMMC器件中糾錯和壞塊管理的需求增加了整體系統(tǒng)的復雜性和成本。在滿足功能安全和數(shù)據(jù)可靠性要求時,這也是一個重要的考慮因素。

NOR 閃存可以提供這些類型的應用所需的耐用性。例如,在 Semper NOR 閃存中實施的 EnduraFlex 技術在 512 Mb 密度設備中提供了超過 100 萬個周期的耐用性,在 1 Gb 設備中提供了超過 250 萬個周期的耐用性。這些設備還可以進行分區(qū)和配置,以具有高耐用性和長保留時間區(qū)域,從而保證 25 年的數(shù)據(jù)完整性。因此,單個 NOR 閃存設備能夠靈活地在單個設備上存儲引導加載程序代碼和文件系統(tǒng)代碼,兩者在保留和耐久性要求的兩端;即,開發(fā)人員可以為引導加載程序代碼配置長保留區(qū)域,同時將其他內存區(qū)域保留為文件系統(tǒng)的高耐久性區(qū)域。

總之,盡管SLC NAND、eMMC和UFS的每比特成本較低,但NOR閃存器件仍然是嵌入式系統(tǒng)引導設備的最佳選擇,尤其是在需要非??斓南到y(tǒng)啟動時間的應用中。NOR 閃存技術提供了重要的可靠性功能,如快速初始化時間、XIP 功能以及配置長保留和高耐久性區(qū)域的靈活性,它正迅速成為需要快速可靠啟動的系統(tǒng)的首選非易失性存儲器。

審核編輯:郭婷

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

    關注

    0

    文章

    25

    瀏覽量

    14566
  • 閃存
    +關注

    關注

    16

    文章

    1771

    瀏覽量

    114767
  • 嵌入式
    +關注

    關注

    5059

    文章

    18975

    瀏覽量

    302084
  • 存儲器
    +關注

    關注

    38

    文章

    7435

    瀏覽量

    163522
  • ROM
    ROM
    +關注

    關注

    4

    文章

    562

    瀏覽量

    85624
收藏 人收藏

    評論

    相關推薦

    嵌入式系統(tǒng)引導程序移植

    嵌入式系統(tǒng)引導程序移植
    發(fā)表于 08-20 18:44

    嵌入式Linux的引導過程是怎樣的?

    歡迎關注公眾號,文章會同步發(fā)布在嵌入式客棧引言:本文簡明扼要的介紹了嵌入式Linux的引導過程,X86體系的引導過程以及幾種常見嵌入式處理器
    發(fā)表于 12-17 07:25

    嵌入式系統(tǒng)閃存設備I/O 軟件的設計與實現(xiàn)

    閃存作為最常用的嵌入式存儲設備,其管理和訪問技術對整個系統(tǒng)的性能有著較大 的影響。目前嵌入式
    發(fā)表于 06-09 09:14 ?10次下載

    基于ARM-μCLinux嵌入式系統(tǒng)啟動引導的實現(xiàn)

    基于ARM-μCLinux嵌入式系統(tǒng)啟動引導的實現(xiàn):介紹了 ARM-μCLinux 嵌入式系統(tǒng)的結構組成,重點分析了 ARM--μCLinu
    發(fā)表于 06-25 08:14 ?36次下載

    嵌入式系統(tǒng)引導技術研究

    以POWERPC8XX系列處理器為例! 通過對此類處理器的引導模式" 引導代碼的編寫和調試!以及如何引導操作系統(tǒng)執(zhí)行等問題的研究!探索嵌入式
    發(fā)表于 07-02 15:09 ?34次下載

    嵌入式系統(tǒng)中實現(xiàn)從RAM快速引導技術

    摘    要: 本文以ARM7TDMI為例,對嵌入式系統(tǒng)從ROM和RAM引導的特點及技術實現(xiàn)進行了比較,對異常和中斷概念給出了詳細的辨析,介紹了如何實現(xiàn)
    發(fā)表于 03-11 12:24 ?1153次閱讀
    在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>中實現(xiàn)從RAM快速<b class='flag-5'>引導</b>技術

    嵌入式引導加載技術

    嵌入式引導加載技術
    發(fā)表于 02-08 01:37 ?10次下載

    嵌入式系統(tǒng)內核引導啟動過程淺析

    嵌入式系統(tǒng)內核引導啟動過程淺析
    發(fā)表于 10-30 10:26 ?6次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>內核<b class='flag-5'>引導</b>啟動過程淺析

    嵌入式系統(tǒng)

    嵌入式系統(tǒng)學習總結嵌入式系統(tǒng)的理解嵌入式系統(tǒng)的歷史嵌入式
    發(fā)表于 11-03 20:36 ?11次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>

    用于嵌入式設備的JavaScript

      這些開發(fā)系統(tǒng)中的每一個都是在嵌入式設備上開始 JavaScript 開發(fā)的好工具。盡管 JavaScript 在近 20 年前首次引入,但它才剛剛開始用于
    的頭像 發(fā)表于 06-29 09:39 ?3496次閱讀
    <b class='flag-5'>用于</b><b class='flag-5'>嵌入式</b><b class='flag-5'>設備</b>的JavaScript

    用于嵌入式系統(tǒng)引導閃存設備比較

      如前所述,汽車和工業(yè)應用要求閃存設備能夠可靠運行 15 年以上并保持存儲數(shù)據(jù)的完整性。通常,SLC NAND 和 MLC NAND 的誤碼率比 NOR 設備差。
    發(fā)表于 06-30 10:23 ?870次閱讀
    <b class='flag-5'>用于</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>引導</b>的<b class='flag-5'>閃存</b><b class='flag-5'>設備</b><b class='flag-5'>比較</b>

    用于嵌入式系統(tǒng)引導閃存設備比較

      總之,雖然 SLC NAND、eMMC 和 UFS 的每比特成本較低,但 NOR 閃存器件仍然是嵌入式系統(tǒng)啟動設備的最佳選擇,尤其是在需要非??斓?/div>
    發(fā)表于 08-17 11:57 ?623次閱讀
    <b class='flag-5'>用于</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>引導</b>的<b class='flag-5'>閃存</b><b class='flag-5'>設備</b><b class='flag-5'>比較</b>

    使用外部閃存的安全嵌入式系統(tǒng)

    在本系列的第 1 部分中,我們介紹了安全性在連接的嵌入式系統(tǒng)中的重要性,以及強制使用外部閃存閃存的去集成。在本系列的第 2 部分中,我們介紹了下一代智能內存安全
    的頭像 發(fā)表于 10-21 09:23 ?621次閱讀
    使用外部<b class='flag-5'>閃存</b>的安全<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>

    用于嵌入式系統(tǒng)引導閃存設備比較

    許多嵌入式系統(tǒng)利用非易失性存儲器來存儲引導代碼、配置參數(shù)以及系統(tǒng)斷電時持續(xù)存在的其他數(shù)據(jù)。如今,閃存在大多數(shù)
    的頭像 發(fā)表于 10-24 11:55 ?799次閱讀
    <b class='flag-5'>用于</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>引導</b>的<b class='flag-5'>閃存</b><b class='flag-5'>設備</b><b class='flag-5'>比較</b>

    什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)的具體應用

    嵌入式,一般是指嵌入式系統(tǒng)。用于控制、監(jiān)視或者輔助操作機器和設備的裝置。
    的頭像 發(fā)表于 12-20 13:33 ?2342次閱讀