1、Flash發展歷程
存儲器通常分為兩類型,即隨機存取的RAM(內存)與只讀的ROM(外存)。
RAM,也稱隨機存取存儲器,數據可以被讀取和修改。它主要用于存儲正在運行的程序和臨時數據,是計算機運行時的主要內存。
ROM,即只讀存儲器,數據在生產過程中寫入,用戶無法修改。ROM主要用于存儲固定的系統程序和數據,如計算機啟動時的基本輸入輸出系統(BIOS)。
最初的ROM無法編程,出廠時的內容是永久的,靈活性差。后來出現了PROM,可以自行寫入一次,但若寫錯,只能更換。隨著技術進步,EPROM誕生了,可以多次擦除和寫入,但每次擦除需要將芯片暴露在紫外線下,過程繁瑣且耗時。
歷史的進步帶來了EEPROM的出現,這種存儲器可以隨意修改內容,大大方便了程序員。EEPROM的全稱是“電可擦除可編程只讀存儲器”(Electrically Erasable Programmable Read-Only Memory),與紫外擦除的EPROM相比更加便捷。現如今,EEPROM已有多種變種,成為一種存儲器的統稱。
Flash存儲器廣義上屬于EEPROM的一種,因為它也可以通過電擦除。但為了區分于一般按字節擦寫的EEPROM,我們通常稱其為Flash。
狹義的EEPROM能夠隨機訪問和修改任意一個字節,可以寫入0或1。這種傳統的EEPROM在斷電后數據不會丟失,能保存100年,擦寫次數可達100萬次,具有高可靠性,但電路復雜且成本高。因此市場上的EEPROM容量通常在幾十千字節到幾百千字節之間,極少超過512K。
Flash的改進在于擦除時以塊為單位而非字節,簡化了電路設計,提高了數據密度,降低了成本。
2、Flash的工作原理
閃存體系結構包括堆疊有大量閃存單元的存儲陣列。 基本的閃存單元由具有控制柵極和浮置柵極 (Floating Gate)的存儲晶體管組 成,該浮柵通過薄介電材料或氧化層與晶體管的其余部分絕緣。 浮柵存儲電荷并控制電流的流動。
電子被添加到浮柵或從浮柵處移除,以改變存儲晶體管的閾值電壓。 而改變電壓會影響將單元編譯為 0還是 1。
一種稱為Fowler-Nordheim隧穿的過程將電子從浮柵中去除。 Fowler-Nordheim隧穿和稱為溝道熱電子注入的現象都會將電子捕獲在浮柵中。
使用Fowler-Nordheim隧道技術,數據會通過控制門上的強負電荷擦除。這迫使電子進入存在強正電荷的通道。
在使用Fowler-Nordheim隧道將電子捕獲在浮柵中時,情況會相反。電子在高電場的情況下設法通過薄氧化層遷移到浮柵,在單元的源極和漏極上帶有強負電荷,而在控制柵極上帶有強正電荷。
溝道熱電子注入(也稱為熱載流子注入)使電子能夠突破柵氧化層并改變浮柵的閾值電壓。 當電子從溝道中的高 電流以及控制柵極上的吸引電荷中獲取足夠量的能量時, 就會發生這種現象。
不管包含閃存單元的器件是否由于氧化物層產生的電隔離而接收能量,電子都會被捕獲在浮柵中。該特性使閃存可以提供持久存儲。
3、NAND和NOR
閃存有兩種類型:NOR和 NAND。
NOR和 NAND閃存在架構和設計特性上有所不同。 NOR閃存不使用共享組件,可以并行連接各個存儲單元,從而可以隨機訪問數據。 NAND 閃存單元更緊湊,位線更少,將浮柵晶體管串聯在一起以 提高存儲密度。
NOR FLASH數據線和地址線分開,可以實現RAM一樣的隨機尋址功能,可以讀取任何一個字節。但是擦除仍要按塊來擦。
NAND FLASH同樣是按塊擦除,但是數據線和地址線復用,不能利用地址線隨機尋址。讀取只能按頁/塊來讀取(按塊來擦除,NOR FLASH沒有頁)。由于NAND FLASH引腳上復用,因此讀取速度比NOR FLASH慢一點,但是擦除和寫入速度比NOR FLASH快很多。NAND FLASH內部電路更簡單,因此數據密度大,體積小,成本也低。因此大容量的FLASH都是NAND型的。小容量的2~12M的FLASH多是NOR型的。
NOR FLASH可以進行字節尋址,所以程序可以在NOR FLASH中運行。嵌入式系統多用一個小容量的NOR FLASH存儲引導代碼,用一個大容量的NAND FLASH存放文件系統和內核。
NOR閃存在數據讀取方面速度很快,但在擦除和寫入方面通常比NAND慢。 NOR閃存以字節為單位編程數據。NAND閃存以頁為單位編程數據,該數據大于字節,但小于塊。 例如,一個頁面可能是4 KB,而一個塊的大小可能是128 KB至256 KB或兆字節。 對于寫密集型應用程序,NAND閃存比NOR閃存消耗更少的功率。
NOR閃存的生產成本比NAND閃存高,并且通常主要用于消費類和嵌入式設備中以用于引導目的,以及只讀應用程序中用于代碼存儲。 由于NAND閃存每位存儲數據的成本更低,密度更高,編程和擦除(P / E)速度更快,因此它更適用于消費類設備以及企業服務器和存儲系統中的數據存儲。
除使用其他存儲器外,諸如照相手機之類的設備可能同時使用NOR和NAND閃存,以促進代碼執行和數據存儲。
NOR閃存類型:
NOR閃存的兩種類型主要是并行和串行,也稱為串行外圍設備接口。NOR閃存最初僅可用于并行接口。并行NOR提高性能,安全性和附加功能;它的主要用途包括工業、汽車、網絡和電信系統與設備。
NOR單元并行連接以進行隨機訪問。該配置適用于與微處理器指令相關的隨機讀取,以及執行便攜式電子設備中使用的代碼,幾乎專門用于消費類電子設備。串行NOR閃存的引腳數更少,封裝更小,因此其成本低于并行NOR。
串行NOR的用例包括個人和超薄計算機,服務器,HDD,打印機,數碼相機,調制解調器和路由器。
NAND閃存類型:
NAND閃存半導體制造商已經開發出適合各種數據存儲用例的不同類型的存儲器。常見主要有SLC、MLC、TLC、QLC。
4、Flash頁、扇區、塊的區別
扇區、塊這些專用名詞,其實是從早期的軟盤、硬盤等存儲器發展而來,目的是將一個存儲器劃分為多個(扇區、塊)區域,更方便的編程管理這些存儲單元。
以W25Q128存儲芯片為例。W25Q128存儲芯片是由256個塊(Block)組成,每個塊包含16個扇區(Sector),每個扇區包含16頁,每頁256個字節。
注:Page0X000000-0X0000FFh:0X是16進制標識符,數的后面h也代表這是一個十六進制數,0XFF等于十進制255,所以一頁中共256個字節。
Flash芯片就像一列火車,塊(Block)就像一節車廂,車廂里的每排座位就像一個扇區(Sector)。
注: 不同廠家的、不同類型存儲器的頁、扇區、塊大小不同,不同廠家的、不同類型存儲器的劃分方式也可能不同,有的以頁為最小單元,有的以扇區為最小單元,但大部分Flash都以扇區為最小單元。
此外,也可能會看到一些其他的名詞,比如:和扇區一個級別的SubSector,和塊一個級別的Bank、Bulk等。
FLASH使用注意事項:
1、由于FLASH的物理特性,決定了FLASH每一位的操作只能從1變為0(寫操作)。
2、大多數FLASH芯片或單片機內未使用FLASH存儲空間每一位出廠默認都是1。
3、對FLASH寫操作之前必須將待操作FLASH空間數據都置為1。
如果內存地址上的數據是0的話,不進行置1的擦除動作,當我們想內存地址寫1時候是失敗的,因為內存只能從1變為0,不能從0變為1。所以必須在寫操作之前將flash擦除。
4、對FLASH的擦除操作即是把待操作的空間的每一位都置為1。
5、所以FLASH寫操作前需有擦除操作。
W25Q128JV存儲芯片的擦除比較靈活,可以按扇區、塊甚至是整片擦除。(擦除是需要時間的,比如整片擦除約用時幾十秒)。
5、NAND閃存顆粒
閃存顆粒中根據存儲密度的差異可分為SLC、MLC、TLC和QLC四種
第一代SLC(Single-Level Cell)每單元可存儲1比特數據(1bit/cell),性能好、壽命長,可經受10萬次編程/擦寫循環,但容量低、成本高。
第二代MLC(Multi-Level Cell)每單元可存儲2比特數據(2bits/cell),性能、壽命、容量、成各方面比較均衡,可經受1萬次編程/擦寫循環,現在一般在少數高端SSD中可以見到;
第三代TLC(Trinary-Level Cell)每單元可存儲3比特數據(3bits/cell),性能、壽命變差,只能經受3千次編程/擦寫循環,但是容量可以做得更大,成本也可以更低,是當前最普及的;
第四代QLC(Quad-Level Cell)每單元可存儲4比特數據(4bits/cell),性能、壽命進一步變差,只能經受1000次編程/擦寫循環,但是容量更容易提升,成本也繼續降低。
對于SSD固態硬盤來講,SSD一直在追求更大的容量和更低的成本,而存儲單元是它的的核心元件,選擇SSD實際上就是在選擇存儲顆粒。
Flash閃存顆粒中每Cell單元存儲數據越多,單位面積容量就越高,但同時導致不同電壓狀態越多,越難控制,所以導致顆粒穩定性變差,壽命變低,各有利弊。相對于SLC來說,MLC的容量大了100%,壽命縮短為SLC的1/10;相對于MLC來說,TLC的容量大了50%,壽命縮短為MLC的1/3;相對于TLC來說,QLC的容量大了33%,壽命縮短為TLC的1/3。
簡單來說,這四類閃存顆粒中,SLC的性能最優,價格也是最高,一般用作對于可靠性、穩定性和耐用性有極高要求的工業控制、通信設備等企業級客戶;MLC性能夠用,穩定性比較好,價格適中,為工業級和車規級SSD應用主流;TLC是目前消費級SSD的主流,價格便宜,但可以通過高性能主控、主控算法來彌補、提高TLC閃存的性能;QLC是奔著更大容量和更低成本來的,相信QLC閃存顆粒會使得固態硬盤進入大容量廉價時代。
6、基于NAND Flash技術的產品
7.1常見產品類型
SD卡(Secure Digital卡):SD卡是一種常見的可移動存儲介質,廣泛用于數碼相機、手機、平板電腦等設備。SD卡采用了NAND Flash作為主要的存儲媒體,并具有較小的尺寸、高存儲容量和可插拔的特點。
USB閃存驅動器(USB Flash Drive):USB閃存驅動器,也稱為U盤,是一種便攜式存儲設備,通常通過USB接口連接到計算機或其他設備。它們使用NAND Flash存儲數據,并具有易于攜帶、高速傳輸和可插拔的特點。
固態硬盤(Solid State Drive,SSD):SSD是一種替代傳統機械硬盤的存儲設備。它采用NAND Flash芯片作為主要存儲介質,具有快速的數據讀寫速度、低功耗、抗震抗摔、靜音無噪音等特點。SSD在計算機和數據中心等領域得到廣泛應用。
eMMC(嵌入式多媒體卡)是一種嵌入式存儲模塊。eMMC通常由NAND Flash存儲芯片、控制器和接口組成,提供了一種集成的存儲解決方案,用于嵌入式系統、智能手機、平板電腦、物聯網設備等領域。eMMC具有緊湊的尺寸、低功耗、高可靠性等特點,在嵌入式應用中得到廣泛應用。
UFS(Universal Flash Storage):UFS是一種新一代的高速閃存存儲解決方案,旨在提供更高的性能和更低的延遲。相比于eMMC,UFS具有更高的讀寫速度、更快的數據傳輸速率和更低的功耗。這使得UFS在需要更高性能的應用場景下,如高端智能手機、平板電腦和其他移動設備中得到廣泛采用。
除了上述列舉的產品,還有其他基于NAND Flash的存儲產品,如CF卡(CompactFlash卡)、XQD卡、microSD卡等。每種產品都有其特定的設計和應用場景,具體選擇取決于實際需求和設備兼容性。
7.2差異分析
7.2.1存儲容量
SD卡:從幾GB到數TB不等,具有相對較大的存儲容量,適用于大量多媒體文件的存儲。
USB閃存:存儲容量也從幾GB到數百GB不等,適用于小型文件的存儲和傳輸。
固態硬盤:存儲容量一般從幾十GB到幾TB不等,適用于替代傳統機械硬盤,提升系統性能。
eMMC:存儲容量一般在幾十GB以下,適用于嵌入式設備和輕量級應用。
UFS:存儲容量從幾十GB到數TB不等,適用于高性能存儲需求的應用場景。
7.2.2讀寫速度
SD卡:一般速度較慢,適合存儲大容量數據,但不適合頻繁讀寫操作。
USB閃存:讀寫速度較快,適合頻繁的數據傳輸和備份操作。
固態硬盤:讀寫速度非常快,適合要求高性能的計算機和服務器。
eMMC:速度介于SD卡和固態硬盤之間,適用于嵌入式設備和輕量級應用。
UFS:具有非常高的讀寫速度,適用于高端智能設備和需要高性能存儲的場景。
7.2.3接口類型
SD卡:SD卡通常采用SD接口或microSD接口,這兩種接口在尺寸上有所不同,但功能和性能類似。SD接口通常用于相機、攝像機等專業設備,而microSD接口則廣泛應用于智能手機、平板電腦等消費電子產品。
USB閃存:USB閃存通常采用USB接口,主要分為USB Type-A、USB Type-C等不同類型。USB Type-A接口是傳統的USB接口,廣泛用于計算機、電視等設備;而USB Type-C接口則是新一代的標準接口,具有可逆性和高速傳輸等優點,逐漸在各類設備中普及。
固態硬盤:固態硬盤通常采用SATA接口或PCIe接口。SATA接口適用于傳統的2.5英寸或3.5英寸硬盤的形態,而PCIe接口則更適合于M.2或PCIe插槽形態的固態硬盤,具有更高的傳輸速度和更小的體積。
eMMC:eMMC通常采用BGA封裝形式,與主板焊接連接,其接口類型主要是MMC(MultiMediaCard)接口,用于連接主板和eMMC芯片。
UFS:UFS通常采用UFS接口,是一種專門設計用于高速閃存存儲器的接口標準,具有高速傳輸和低延遲等特點,適用于高性能存儲需求的設備。
這些接口類型的差異影響著存儲產品的連接方式、傳輸速度和適用范圍,用戶在選擇存儲產品時需要考慮設備的接口類型與存儲產品的接口是否匹配。
7.2.4應用場景
SD卡:主要用于相機、手機、平板電腦等設備的存儲擴展。
USB閃存:主要用于數據傳輸、文件備份、操作系統安裝等方面。
固態硬盤:主要用于替代傳統機械硬盤,提升系統性能和響應速度。
eMMC:主要用于嵌入式系統、智能手機、平板電腦等輕量級存儲需求。
UFS:主要用于高端智能設備、汽車電子、物聯網設備等高性能存儲需求的場景。
-
FlaSh
+關注
關注
10文章
1635瀏覽量
148019 -
存儲器
+關注
關注
38文章
7492瀏覽量
163829 -
SD卡
+關注
關注
2文章
565瀏覽量
63899 -
emmc
+關注
關注
7文章
216瀏覽量
52743
發布評論請先 登錄
相關推薦
評論