在单片机开发过程中,我们也会遇到各种各样的Flash,比如SPI Flash、Nor Flash、 Nand Falsh等。
做单片机开发的小伙伴肯定会好奇:单片机内部的Flash,到底是什么类型的Flash?这篇文章就来讲一讲关于Flash的内容。
Flash又叫Flash Memory,也就是我们平时所说的“闪存”。
Flash结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的功能,还可以快速读取数据,具有NVRAM的优势(NVRAM:Non-Volatile Random Access Memory,非易失性随机访问存储器)。
在过去,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,Flash的出现,全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘、固态硬盘)。
Flash通常分为:NOR Flash 和 NAND Flash,
它们各自有各自的优缺点。
1、NOR Flash
Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。
NOR Flash
的读取和我们常见的SDRAM的读取是一样,即可以根据地址随机读写,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。因为其读取速度快,多用来存储程序、操作系统等重要信息。
2、NAND Flash
1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。
NAND Flash
没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的制作Flash的成本更廉价。
用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flash以外,还作上了一块小的NOR Flash来运行启动代码。
3、二者比较
相比于 NOR Flash,NAND Flash 写入性能好,大容量下成本低。
目前,绝大部分手机、平板、SD卡、固态硬盘等设备中所使用的Flash Memory 都属于 NAND Flash。
除了我们常见的(并行)
Nor Flash 和Nand Flash芯片,其实SPI Flash芯片同样的也分SPI NOR Flash和SPI NAND Flash芯片,你去很多卖SPI Flash的官方都能找到其分类。
回到本文主题:
单片机内部Flash是Nor,还是Nand Flash?
我们使用外部程序存储芯片,主要是
NOR Flash
,你没见过有谁用Nand Flash跑程序的吧?
所以,单片机内部Flash通常是Nor
Flash。