您現在的位置是:首頁 > 棋牌

作為嵌入式工程師的你,這些FLASH你應該明白吧

  • 由 一哥微控制器 發表于 棋牌
  • 2022-12-13
簡介2、NAND FlashNAND Flash 需要透過專門的 NFI(NAND Flash Interface)與 Host 端進行通訊,如下圖所示:NAND Flash 依據每個儲存單元記憶體儲位元個數的不同,能夠分為 SLC(Singl

flash怎麼跳轉下一個場景

嵌入式開發得弄明白各種Flash

1、Flash Memory

簡介

大家好,我是一哥,今天來介紹下嵌入式的各種Flash。

所謂Flash,是記憶體(Memory)的一種,但兼有RAM和ROM 的優點,是一種可在系統(In-System)進行電擦寫,掉電後資訊不丟失的儲存器,同時它的高整合度和低成本使它成為市場主流。

Flash 晶片是由內部成千上萬個儲存單元組成的,每個單元儲存一個bit。具有低功耗、大容量、擦寫速度快、可整片或分扇區在系統程式設計(燒寫)、擦除等特點,並且可由內部嵌入的演算法完成對晶片的操作,因而在各種嵌入式系統中得到了廣泛的應用。

作為一種非易失性儲存器,Flash在系統中通常用於存放 程式 程式碼、常量表以及一些在系統掉電後需要儲存的使用者資料等。

///插播一條:我自己在今年年初錄製了一套還比較系統的入門微控制器教程和畢業設計指導,想要的同學找我拿就行了免費的,私信我就可以哦~點我頭像白色字型加我也能領取哦,記得回覆一哥///

常用的Flash為8位或16位的資料寬度,程式設計電壓為單3。3V。主要的生產廠商為INTEL、ATMEL、AMD、HYUNDAI等。Flash 技術根據不同的應用場合也分為不同的發展方向,有擅長儲存程式碼的NOR Flash和擅長儲存資料的NAND Flash。一下對NOR Flash和NAND Flash的技術分別作了相應的介紹。

2、Flash Memory

主要特性

與傳統的硬碟儲存器相比,Flash Memory 具有質量輕、能耗低、體積小、抗震能力強等的優點,但也有不少侷限性,主要如下:

///插播一條:我自己在今年年初錄製了一套還比較系統的入門微控制器教程和畢業設計指導,想要的同學找我拿就行了免費的,私信我就可以哦~點我頭像白色字型加我也能領取哦,記得回覆一哥///

需要先擦除再寫入

Flash Memory 寫入資料時有一定的限制。它只能將當前為 1 的位元改寫為 0,而無法將已經為 0 的位元改寫為 1,只有在擦除的操作中,才能把整塊的位元改寫為 1。

塊擦除次數有限

Flash Memory 的每個資料塊都有擦除次數的限制(十萬到百萬次不等),擦寫超過一定次數後,該資料塊將沒法可靠儲存資料,成為壞塊。

為了最大化的延長 Flash Memory 的壽命,在軟體上須要做擦寫均衡(Wear Leveling),透過分散寫入、動態對映等伎倆均衡使用各個資料塊。同時,軟體還須要進行壞塊管理(Bad Block Management,BBM),標識壞塊,不讓壞塊參與資料儲存。(注:除了擦寫導致的壞塊外,Flash Memory 在出產過程也會產生壞塊,即固有壞塊。)

讀寫干擾

由於硬體實現上的物理特性,Flash Memory 在進行讀寫操作時,有可能會導致鄰近的其他位元發生位翻轉,導致資料異常。這種異常可以透過重新擦除來恢復。Flash Memory 應用中通常會使用 ECC 等演算法進行錯誤檢測和資料修正。

電荷洩漏

儲存在 Flash Memory 儲存單元的電荷,如果長期沒有使用,會發生電荷洩漏,導致資料錯誤。不過這個時間比較長,一般十年左右。此種異常是非永久性的,重新擦除可以恢復。

3、Nor Flash 和 Nand Flash

根據硬體上儲存原理的不同,Flash Memory 主要可以分為 NOR Flash 和 NAND Flash 兩類。主要的差異如下所示:

·

NAND Flash 讀取速度與 NOR Flash 相近,根據介面的不同有所差異;

·

NAND Flash 的寫入速度比 NOR Flash 快很多;

·

NAND Flash 的擦除速度比 NOR Flash 快很多;

·

NAND Flash 最大擦次數比 NOR Flash 多;

·

NOR Flash 支援片上執行,可以在上面直接執行程式碼;

·

NOR Flash 軟體驅動比 NAND Flash 簡單;

·

NOR Flash 可以隨機按位元組讀取資料,NAND Flash 需要按塊進行讀取。

·

大容量下 NAND Flash 比 NOR Flash 成本要低很多,體積也更小;

(注:NOR Flash 和 NAND Flash 的擦除都是按塊塊進行的,執行一個擦除或者寫入操作時,NOR Flash 大約需要 5s,而 NAND Flash 通常不超過 4ms。)

1、NOR Flash

NOR Flash 依據與 CPU 端介面的不同,能夠分為 Parallel NOR Flash 和 Serial NOR Flash 兩類。

Parallel NOR Flash 能夠接入到 Host 的 SRAM/DRAM Controller 上,所儲存的內容能夠直接對映到 CPU 地址空間,不須要複製到 RAM 中即可被 CPU 訪問,因而支援片上執行。Serial NOR Flash 的

本比 Parallel NOR Flash 低,主要透過 SPI 介面與 Host 連線。

作為嵌入式工程師的你,這些FLASH你應該明白吧

鑑於 NOR Flash 擦寫速度慢,成本高等特性,NOR Flash 主要應用於小容量、內容更新少的場景,例如 PC 主機板 BIOS、路由器系統儲存等。

2、NAND Flash

NAND Flash 需要透過專門的 NFI(NAND Flash Interface)與 Host 端進行通訊,如下圖所示:

作為嵌入式工程師的你,這些FLASH你應該明白吧

NAND Flash 依據每個儲存單元記憶體儲位元個數的不同,能夠分為 SLC(Single-Level Cell)、MLC(Multi-Level Cell) 和 TLC(Triple-Level Cell) 三類。其中,在一個儲存單元中,SLC 能夠儲存 1 個位元,MLC 能夠儲存 2 個位元,TLC 則能夠儲存 3 個位元。

NAND Flash 的一個儲存單元內部,是透過不同的電壓等級,來表示其所儲存的資訊的。在 SLC 中,儲存單元的電壓被分為兩個等級,分別表示 0 和 1 兩個狀態,即 1 個位元。在 MLC 中,儲存單元的電壓則被分為 4 個等級,分別表示 00 01 10 11 四個狀態,即 2 個位元位。同理,在 TLC 中,儲存單元的電壓被分為 8 個等級,儲存 3 個位元資訊。

作為嵌入式工程師的你,這些FLASH你應該明白吧

NAND Flash 的單個儲存單元儲存的位元位越多,讀寫效能會越差,壽命也越短,但是成本會更低。Table 1 中,給出了特定工藝和技術水平下的成本和壽命資料。

作為嵌入式工程師的你,這些FLASH你應該明白吧

相比於 NOR Flash,NAND Flash 寫入效能好,大容量下成本低。目前,絕大部分手機和平板等移動裝置中所使用的 eMMC 內部的 Flash Memory 都屬於 NAND Flash。PC 中的固態硬碟中也是使用 NAND Flash。

4、ROW Flash和Managed Flash

由於 Flash Memory 存在按塊擦寫、擦寫次數的限制、讀寫干擾、電荷洩露等的侷限,為了最大程度的發揮 Flash Memory 的價值,通常需要有一個特殊的軟體層次,實現壞塊管理、擦寫均衡、ECC、垃圾回收等的功能,這一個軟體層次稱為 FTL(Flash Translation Layer)。

在具體實現中,根據 FTL 所在的位置的不同,可以把 Flash Memory 分為 Raw Flash 和 Managed Flash 兩類。

作為嵌入式工程師的你,這些FLASH你應該明白吧

1、Raw Flash

在此類應用中,在 Host 端通常有專門的 FTL 或者 Flash 檔案系統來實現壞塊管理、擦寫均衡等的功能。Host 端的軟體複雜度較高,但是整體方案的成本較低,常用於價格敏感的嵌入式產品中。

通常我們所說的 NOR Flash 和 NAND Flash 都屬於這型別。

2、Managed Flash

Managed Flash 在其內部集成了 Flash Controller,用於完成擦寫均衡、壞塊管理、ECC校驗等功能。相比於直接將 Flash 接入到 Host 端,Managed Flash 遮蔽了 Flash 的物理特性,對 Host 提供

規範

化的介面,

能夠

減少 Host 端軟體的複雜度,讓 Host 端專注於上層業務,省去對 Flash 進行特殊的處理。

想要學習微控制器的朋友 ,做畢業設計的同學,關注我們,回覆一哥,與導師一起學習成長,共同進步,還有更多資料領取。

說了這麼多,大家記得留意下方評論第一條(或者私信我)有乾貨~

-END-

*本文系網路轉載,版權歸原作者所有,如有侵權請聯絡刪除

Top