赞
踩
flash内部有一个存储颗粒,只跟flash本身功率有关。如nand、nor flash。
nand flash中的存储颗粒也有技术差异,如slc、mlc。
这些东西是内部封装起来的用于存储的内核,对外编程的接口还需要一个外部控制器。
我们买到的flash芯片,其实是内部的flash存储颗粒+外部封装的控制器来构成的。
即,对外是外部控制器,对内是存储颗粒。
存储颗粒决定容量大小,外部用什么控制器访问,不过大部分的内部存储颗粒都是一样的。全世界做这个的也没有几家。
外部控制器会影响读写速度,就比如U盘读写速度的差异。存储颗粒也会影响。
像EMMC、SD、MMC、SPI FLASH、NAND FLASH内部都一样用的是NAND存储颗粒,对外通过不同的控制器实现了不同的协议,所以外部可以通过不同的协议去访问它。
如SPI FLASH内部是NAND存储颗粒,对外的接口是用SPI协议开放出来的。
主芯片若想与SPI FLASH对接,只需要其支持SPI FLASH姐可以了
NAND FLASH是最原始的NAND接口,其本身有它的时序特征,时序会非常复杂。这样就会非常麻烦,对于芯片来说还需要一个NAND控制器,接口复杂。
如果没有专门的NAND控制器,有SPI控制器就行了。而市面上的大部分芯片都有SPI FLASH。
NANDFLASH现在用的越来越少了,因为NANDFLASH的兼容性不好。EMMC是无缝替换,不同容量的封装兼容,换一个容量或厂家什么都不用改
接口简单就是SPI FLASH最大的优势
但是如stm32,SPI内置的成本非常高,内置1M或2M Flsah的成本比内置512k或256k的成本高出一倍不止。
内置Flash 的成本可能会占到整个MCU成本的一半甚至更多。
所以现在很多的单片机都倾向于外挂一个SPI Flash,外挂的就特别便宜。买一个8M只有几块钱,板载16M的不到20块。内置的话就不可想象。
如果需求是512M或者1G以上的这种大容量的建议选择EMMC(板载)及SD(tf卡)。现在的手机都逐渐由外扩的SD(tf卡)转为EMMC(板载)了。
很多MCU或CPU在需要外扩一个8M、16M、32M、64M这个容量的外部存储器时,选择SPI Flash是很好的。成本低
NAND Flash控制器是最老的,EMMC、SD等都比NAND Flash更新一些,更好一些。
NANDFLASH现在用的越来越少了,因为NANDFLASH的兼容性不好。
比如iphone的64g、128g版本,用的就是EMMC方案
如EMMC是有接口规范的,很多东西是在接口内部实现,不需要用户去实现。
主CPU通过EMMC接口对不同的存储颗粒实现了共通管控,用的是8g还是16g的卡是直接自动识别的
EMMC在封装上本身就是pin to pin的,要换不同容量、不同厂家的芯片,什么都不用改,可以无缝替换。
所以EMMC的涉及是更加优秀的,比直接使用NAND Flash要好很多
在分析完EMMC后就可以发现,画板子时往板子上加NAND Flash不是一个好的设计
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。