嵌入式系统中内存和flash的区别

时间:2021-10-15 19:26:21

在嵌入式系统中,文件系统和pc的存储介质有些不同。PC 机中常用的是硬盘、内存、光盘和 U 盘等; 嵌入式系统中文件系统常用的有 SDRAM, DDR-SDRAM ,NOR-FLASH ,NAND-FLASH ,SD 卡,U 盘和硬盘等,种类比PC 机要多,有些是两者都有使用;如内存, PC 机上称为内存,在 嵌入式系统中有多个名字,可以叫内存,也可以叫SDRAM 和DDR 。

  内存(sdram或ddr) 在嵌入式系统中可以用做文件系统的存储介质, 内存在掉电的情况下,不能保持原有数据不变,所以基于内存的文件系统只能是临时的文件系统 ,可以用来保存临时的文件,不能用来保存需要永久记录的文件,好处是只存在内存之中动态变化,重起系统不会产生垃圾,而且SDRAM中的文件操作要比其它介质中的文件操作要快。内存目前常用的有两种 SDRAM 和DDR SDRAM ,使用SDRAM 需要CPU 提供SDRAM 接口控制器,使用DDR SDRAM 需要CPU 提供DDR SDRAM 接口控制器,两者最大的不同是DDR SDRAM 比SDRAM 至少快1 倍,这就意味着读取一个文件如果使用SDRAM 需要2 秒钟,使用DDR 就可能只需要少于1 秒钟。

  FLASH 是嵌入式系统最常用的文件系统存储介质,有两种类型 NOR 和NAND ,NOR FLASH 可以直接进行读操作,但写操作是按块而不是按字节来进行,不能直接写,需要通过命令来做控制;NAND FLASH 即不能直接进行读操作,也不可以直接进行写,读写都是按块来进行,都需要通过命令来做控制。比较而言NOR 比NAND 读速度要快些,NANDNOR 的单位密度要高,就是单片IC NAND-FLASH 可以有4GB(Byte) 的存储空间,NOR-FLASH 最多也只有1Gb(bit)NAND FLASH 通常有坏块,所以文件系统的设计相对复杂(需要对坏块进行处理)。当然最后体验(点)也不一样。需要指出的是FLASH 掉电可以保持文件不丢失。

  最后,在修改bootload等操作中,只能通过修改flash,来实现操作。