在嵌入式開發中,如果芯片內部有Flash,應用程式通常保存在芯片內部FLASH中,比如Cortex-M系列的單片機;如果芯片內部沒有Flash,則應用程式通常保存于外部的NAND FLASH中,比如Cortex-A系列的芯片,這些Flash都是可以通過軟體編碼進行重新編程,
在計算機發展早期,資料是存盤在ROM中,ROM中的資料只讀不可寫,應用有限,直到后面出現的EEPROM、NAND存盤器,使得計算機存盤技術的應用得到快速發展,特別是近十年廣泛應用的高速存盤技術eMMC與UFS,推動消費電子領域的快速發展,比如手機存盤技術,現今最新款的小米11,使用了UFS3.1技術,

一、存盤器的發展
存盤器的快速發展得益于半導體技術的發明與發展,特別是晶體管與CMOS管的發明,通過電信號來控制自身開合,以開關的斷開和閉合來代表0和1,這些就是存盤電路的基本邏輯構成,隨著集成電路的出現,ROM存盤技術也隨之產生,如下簡要了解存盤技術的發展史:



二、ROM
ROM是Read Only Memory的簡稱,即為只讀存盤器,ROM內部的程式是在ROM的制造時被燒錄進去的,其中的內容只能讀不能改,一旦燒錄進去,用戶只能讀取內部的資料,不能再作任何修改,如果發現ROM的內容寫錯,則該ROM芯片只能報廢,由于ROM是在生產線上生產的,由于成本高,一般只用在大批量應用的場合,

三、PROM
由于ROM在出廠時已被固化,用戶無法定制自己的程式和資料,因此進行了改進,出現了PROM(Programmable ROM,可編程ROM),也就是出廠時ROM里面沒有資料即全為1,用戶可以用專用工具進行固化程式資料到ROM中,但是這種機會只有一次,一旦寫入后也無法修改,若是出了錯誤,已寫入的芯片也只能報廢,
四、EPROM
PROM這種只能一次性編程顯然成本高不符合開發需求,因此EPROM(Erasable Programmable ROM,可擦除可編程ROM)芯片出現,通過紫外線可重復擦除和寫入,解決了PROM芯片只能寫入一次的弊端,

EPROM芯片有一個很明顯的特征,在其正面的陶瓷封裝上,開有一個玻璃視窗,透過該視窗,可以看到其內部的集成電路,紫外線透過該孔照射內部芯片就可以擦除其內的資料,完成芯片擦除的操作要用到EPROM擦除器,

EPROM的型號有以27開頭的系列,如2764(8*8K)是一片64K Bits容量的EPROM芯片,EPROM芯片在寫入程式后,還要以不透光的貼紙或膠布把視窗封住,以免受到周圍的紫外線照射而使程式丟失,

四、EEPROM
雖然EPROM可多次擦除編程,但是由于需要編程器,所以EPROM還是不是很方便使用,因此 EEPROM(Electrically Erasable Programmable ROM,電可擦除可編程ROM)隨著產生,EEPROM的擦除不需要借助于其它設備,它是以電子信號來修改其內容的,而且是以Byte為最小修改單位,不需要全部擦除再寫入,很適合嵌入式設備的外部存盤器,

目前EEPROM還有在使用,以Ateml公司的AT24C系列的CMOS E2PROM為例,其采用IIC通信介面,電壓1.8-3.6V,嵌入式設備應用很廣泛,

五、Flash
Flash目前主要是Intel于1988年開發出的NOR flash技術和1989年東芝公司開發的NAND flash技術;它們的出現徹底改變了存盤器市場上由EPROM(Erasable Programmable Read-Only-Memory電可編程式只讀存盤器)和EEPROM(電可擦只讀存盤器Electrically Erasable Programmable Read - Only Memory)一統天下的局面,
這兩種技術區別在于介面與內部存盤結構,在介面方面,NOR flash有獨立的地址與資料線,而NAND flash沒有,他們的特性區別如下表所示:

內部結構方面(基于SLC NAND),如下表所示區別:

5.1、nor flash
NOR Flash最大特點是支持XIP(Execute On Chip),既程式可以直接在NOR flash的片內執行,在NOR Flash中的代碼運行時不需要重定位復制到RAM內,

如上圖所示Nor Flash,型號為MX29LV160,

NOR Flash的地址線和資料線分開,只要能夠提供資料地址,資料總線就能正確給出資料,不過不能直接對它進行寫操作,執行寫操作之前需要先發送固定的命令序列,然后發送寫操作的地址和資料,

NOR Flash存盤器的最小訪問單元一般分為8位和16位的,也有一些NOR Flash器件同時支持8位和16位模式,這種Flash的位寬可以在設計硬體時選擇,當芯片的BYTE#引腳接為高電平,芯片作業在位寬16位模式,BYTE#引腳設為低電平時,芯片作業在位寬8位模式,
NOR Flash一般有多個扇區,扇區是NOR Flash擦除的最小單位,Nor Flash中每個扇區的大小也不是固定的,
MX29LV160為例,寫時序圖如下所示(地址與資料總線是獨立的):

讀時序圖如下所示,具體可參考資料手冊:

5.2、nand flash
5.2.1、nand型別
Nand flash是現在使用最多的閃存技術,現在主流的SD卡、eMMC、UFS、SSD等都是基于Nand flash技術的,但是Nand flash根據其存盤單元的型別,可分為SLC、MLC、TLC、QLC、PLC、…… 后續會有很多型別的LC系列,這些型別的區別是同一個存盤單元可以表示的資料位數不同,以SLC、MLC、TLC、QLC為例如下圖所示:

SLC:一個單元表示1bit資料;
MLC:一個單元表示2bit資料;
MLC:一個單元表示3bit資料;
QLC:一個單元表示4bit資料;
因此同樣尺寸大小的nand flash,基于QLC可以存盤的容量是SLC的4倍之多,但是雖然存盤容量多,但是在讀寫速率、擦除壽命及穩定性上卻是更低的,目前市面上比較多的是基于SLC、MLC、TLC單元結構的,特性對比如下:

SLC讀寫快,壽命長,但價格貴,容量低;而TLC讀寫慢,壽命短,但價格便宜,容量高,所以市面上基于nand flash的產品中,低端產品大部分都是TLC,中端產品大部分都是mlc,企業級的高端產品就是用SLC,追求的是穩定,
5.2.2、2D與3D技術
現在市場上追求的是設備的小型化,但是容量要求最大化,因此通過不斷地提升制程工藝技術,減小每個存盤單元的大小,如從45nm到16nm(目前最先進制程為高通驍龍888處理器達5nm),能到達同樣的芯片體積存盤容量進行擴大,

但是制程提高也帶來了一個瓶頸,當隨著制程工藝提高,每個存盤單元越小,nand單元顆粒的訊訓層越薄,可靠性越低,特別是QLC這種一個存盤單元表示4bit/cell資料,影響更大,

假設存盤單元電壓是 1.8V,對 SLC 而言,一個 bit 有二個狀態,平均分配 1.8V 電壓,每個狀態可以分到 0.9V;對 MLC 而言,四個狀態平均分配電壓,每個狀態可以分到 0.45V,以此類推,TLC 每個狀態只可以分到 0.225V,而 QLC 更慘,每個狀態只可以分到 0.1125V,在這么小的電壓下,這么多的狀態以極小的電壓區隔,電壓區隔越小越難控制,干擾也越復雜,而這些問題都會影響 TLC 或 QLC 閃存的性能、可靠性及穩定性,

Nand 2D技術屬于平面閃存(Planar NAND)范疇,其通過工藝提高容量瓶頸在10/9nm上;因此Nand 3D技術早在2007年就被提出來,即立體結構閃存,舉例說明:如果2D是平房,則3D就是高樓大廈,3D就是N層的2D閃存的堆疊,如上圖所示,
但是3D并不是簡單的進行堆疊,不同的公司有不同3D技術工藝,在3D閃存中具有代表性的工藝有:

也正因為3D NAND的技術,使得部分采用相應技術的TLC產品達到了MLC的性能,就是我們常說的3D TLC,而三星、美光等大廠的第四代顆粒3D QLC產品也已經投入了市場,讓廣大消費者體驗到了更高的容量、更低的價格、更快的讀寫性能,
隨著3D Nand的出現,2D由于無法在縮小單元尺寸的瓶頸限制,已經走到盡頭,現在最新的3D堆疊層數達到了128層,如下圖所示:

5.2.3、nand介面與時序
Nand flash比nor flash寫/擦除快,壽命長,成本低,得到更加廣泛的應用,但是其沒有獨立地址總線與資料總線,地址與資料共用8bit/16bit IO,因此其讀取速率方面比nor略低一些,

以美光MT29F系列nand flash為例(如MT29F16G08),其復用8bit或16bit IO用于傳輸命令、地址、資料,同時有5組控制信號CE#,CLE,ALE,WE#,RE#,還有WP寫保護與R/B狀態信號線,

各個引腳功能描述如下表所示:


寫命令時序:

寫地址時序:

資料寫入時序:

資料讀取時序:

以上讀寫MT29F系列芯片的具體命令與地址資訊組成可參考MT29F系列的規格書,網盤地址為:
關注公眾號:一口Linux:后臺回復:
MT29F
六、MMC與SD系列存盤卡
6.1、存盤卡發展簡介
Nand Flash的出現使得資料存盤得到快速的發展,但是Nand Flash只是一種存盤介質,要在其上讀寫資料,需要外部加上主控和電路設計,因此會影響到讀寫速率的提升,同時也是有點復雜,

基于此,控制器+Nand Flash組合的存盤結構模式開始出現,控制器用于處理Nand Flash的存盤邏輯,同時也可以管理NAND的壞塊、ECC校驗等,解放了外部主芯片的作業,提高了開發效率,于是,MMC卡、SD卡(TF卡)、eMMC卡、UFS等各種介面卡開始出現,

MMC是比較早出現的一種卡型別,其所定義的總線介面型別及通信協議規范,后續都被SD卡規范及eMMC規范繼承和延續,參考如下圖:

首先,在1997年,西門子公司和SanDisk推出MMC(MultiMedia Card)卡,成立了MMC協會(MultiMedia Card Association簡稱MMCA),MMC的發展目標主要是針對數碼影像、音樂、手機、PDA、電子書、玩具等產品,
其次,在1999年,日本松下、東芝及美國SanDisk公司共同開發研制了SD(Secure Digital Memory Card)卡,在MMC卡基礎上,擴展了總線協議,支持資料存盤的安全性,后續Mini SD(Mini Secure Digital Memory Card)從SD卡發展而來,體積是SD卡60%,性能跟SD卡一樣;

在2004年,摩托羅拉與SANDISK共同研發TF卡(TransFLash),體積更是只有SD卡的1/4,因此,后續早期智能手機的容量擴展都是用來TF卡,
早期SD規范只是針對資料存盤,即只連接SD卡;后面制定了SDIO規范,除了可以外接SD卡外,通過SD總線還可以連接外圍其他IO設備,如WiFi card,Bluetooth card,GPS card等,因此現在SDIO介面基本上可以兼容SD卡與MMC卡,
2010年,隨著智能手機的發展,需要更快速率的資料存盤,因此新的eMMC(Embedded Multi Media Card)規范也發展起來,在2011年至2016年,智能手機的存盤FLASH主要基于eMMC介面;而2016年后,更快的UFS規范的出現,將eMMC替換,UFS成為當下智能手機的主要存盤FLASH,
6.2、存盤卡介面
1、MMC介面:
MMC卡介面共只有7針,支持SPI模式與MMC模式,3根電源線,4根通信線,如下圖所示,分別是SPI模式(Do,Di,CLK,CS)與MMC模式(CMD,DAT,CLK),所以MMC只支持單根資料線,

2、SD介面
SD介面從MMC中擴展而來,增加到了9針,SD卡大小和MMC卡差不多,比MMC稍微厚一點,其也是有分為SPI模式與SD模式,其中SD模式有1線和4線模式,1線模式可兼容MMC卡的MMC模式,

上圖描述了SD與MMC介面的對于關系,MMC卡可以通過轉換配接器當作SD卡使用(即使用SD卡1線模式),SD介面個引腳含有如下表:

3、TF卡介面
TF卡介面是SD卡介面的延續,只有8針,在SD介面上少第3腳VSS1,其它與SD介面一致,

TF也稱為microSD卡,因此可以通過轉換器轉為SD使用,

TF卡也支持SPI模式與SD模式,跟SD卡一致,但是體積比SD卡小很多,

4、eMMC介面
eMMC介面有MMC發展而來,也是由MMC協會訂立,其資料總線擴展到了8位,主要應用是對存盤容量有較高要求的消費電子產品,比如手機,

隨著eMMC規范版本的升級,其通信速率也不斷的提高,最大速率可達400MB/s,如下表所示,在UFS出現前,智能手機存盤器基本上是基于eMMC介面,

5、UFS介面
UFS(Universal Flash Storage)是JEDEC發布的新一代通用閃存存盤標準,包括主機側和記憶體芯片側的標準,物理層是MIPI M-PHY,介面協議是SCSI,


如上圖所示,下行資料流DOUT與上行資料流DIN是獨立的,走差分信號,因此可以進行全雙工通信,相比與eMMC的半雙工,速率提高幾倍,因此現在市面高端智能手機基本都是UFS存盤,最新小米11使用的是UFS3.1版本,

UFS卡的外觀類似TF卡,有12針引線,每個引線的含義如下圖所示:

由于UFS相比與TF卡,存盤速率有明顯優勢,將來替換TF卡不可避免,比如在運動相機、航拍飛機等對速率要求更高的領域,

下圖描述的eMMC與UFS的發展時間表,UFS具體的規范資訊可參考官方網站下載:
https://www.jedec.org/document_search/field_committees/28?page=1

七、SSD硬碟
上面的那些存盤卡基本應用于嵌入式領域,比如消費電子和物聯網等設備,現在比較流行的SSD硬碟,內部存盤也是基于Nand Flash存盤,主要應用PC和服務器上,其內部也是由閃存芯片+控制器+快取構成,

SSD硬碟通過主控連接的介面比較復雜,而且種類繁多,主要有SATA介面、PCIE等,如下表所示:


目前使用比較多的是SATA3、PCI-E、Msata、SATA Express、M.2、U.2介面,它們的速率、尺寸大小等特性如下表所示:

各種硬碟的介面常見的如下圖所示:

八、HDD硬碟(傳統機械硬碟)
目前硬碟有三種型別,分別為:機械硬碟(HDD)、固態硬碟(SSD)、混合硬碟(SSHD),如下表所述:

HDD硬碟出現時間甚至比ROM還更早,上個世紀50、60年代初,發明了機械硬碟HDD,體積巨大,容量奇小,HDD硬碟發展歷史如下表:


HDD硬碟的出現,促進了計算機快速發展,特別是90年代個人電腦的興起,現在許多臺式電腦還有很多的HDD硬碟,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/357166.html
標籤:其他
下一篇:新概念炒冷飯——運算子進階詳解
