一、RAM和Flash的区别
RAM有两大类,一种称为静态RAM (Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲cache。另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
Flash是一种存储芯片,全名叫Flash EEPROM Memory,通过程序可以修改数据,即平时所说的“闪存”。Flash又分为NAND flash和NOR flash二种。Flash闪存是非易失存储器,可以对存储器单元块进行擦写和再编程。Flash的编程原理都是只能将1写为0,而不能将0写为1。任何Flash器件的写入操作只能在空或已擦除的单元内进行,所以在Flash编程之前,必须将对应的块擦除,而擦除的过程就是把所有位都写为1的过程,块内的所有字节变为0xFF。
而我们平时接触最多的就是RAM,即内存。内存与Flash的区别是易失性,即断电后RAM里面的数据就没了,而Flash里面的数据依然存在。NOR闪存更适合存储少量的代码。而NAND则是高数据存储密度的理想解决方案。NOR Flash的读取和我们常见的SDRAM 的读取是一样,用户可以直接运行装载在NOR Flash里面的代码,这样可以减少SRAM的容量从而节约了成本。NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flas