摘要:Flash存儲器是一種非易失性內存,其作為數據、系統存儲的關鍵介質,在嵌入式系統中扮演著重要角色。常見的Flash有NAND Flash 、Nor Flash、eMMC等,本文將簡單介紹不同Flash的區別及應用場景。 圖1 HD6Q-CORE ARM核心板板載Flash
圖2 并行NAND Flash接口 圖3 串行NAND Flash接口 按照顆粒密度區分,并行NAND Flash可以分為SLC、MLC、TLC、QLC等,其中SLC、MLC顆粒較為常用。圖4 SLC、MLC、TLC、QLC
NOR Flash是一種非易失閃存技術,是Intel在1988年創建。是市場上兩種主要的非易失閃存技術之一。按照接口區分, Nor Flash也可以分為并行和串行兩種。由于并行Nor Flash易存在兼容性問題,現已逐漸淘汰,目前常用的Nor Flash通常指串行Flash,即SPI Flash,其接口定義和圖3一致。 與NAND Flash相比,Nor Flash容量較低,且讀寫速度和擦寫速度較慢。不同于NAND Flash的是,NOR Flash支持Execute ON Chip,程序可以直接在Flash片內執行,因此很適合作為嵌入式系統中的程序啟動介質。 表1 NAND Flash &Nor Flash 存儲介質對比表 3.eMMC eMMC 本質上還是Nand flash ,數據接口支持1bit、4bit和8bit三種。eMMC=Nand flash +閃存控制芯片+標準接口封裝,其內部集成的閃存控制器具有讀寫協議、擦寫均衡、壞塊管理、ECC校驗、電源管理、時鐘管理、數據存取等功能,極大降低了Nand-flash的使用難度。 圖5 eMMC架構 在嵌入式系統中,Flash除了用來存放數據,還有一個重要的功能就是存放uboot啟動程序。一般來講,系統可以直接從Nor Flash啟動,而不能直接從NAND Flash啟動。系統要從NAND Flash啟動,則需要先將NAND Flash低4K的代碼拷貝到CPU內部的SRAM中,然后從SRAM中驅動。再將FLASH剩下的代碼拷貝到SDRAM中,從SDRAM開始執行main函數,啟動流程如下圖所示。圖6 NAND Flash啟動方式 一般來講,當主控制所需搭配的存儲容量較低時(如256M、512M),通常選擇Nand flash。當主控制所需搭配的存儲容量較高時(如4GB、8GB甚至32GB),選擇eMMC將更具性價比。 |