嵌入式各类存储器介绍
嵌入式各类存储器介绍
前言:
使用单片机也很多年了,期间也试过多种存储器存储代码或数据,各有其特点但是一直都没深入去学习。直到今天和几个大佬交流后才感觉到自己懂的太少了,必须将这块知识补齐。
1 Rom
Rom(Read only memory)为半导体存储器[^1],掉电数据不丢失。只能读出无法写入信息,信息一旦写入就不可更改,又称为固定存储器。Rom存储稳定,掉电不丢,并且结构简单使用方便,常用于存储固定程序和数据。
[^1]: 是一种半导体电路作为存储媒体的存储器。 按其制造工艺可分为:双极晶体管存储器和MOS晶体管存储器。 按其存储原理可分为:静态和动态两种。 其优点是:体积小、存储速度快、存储密度高、与逻辑电路接口容易。
1.1 PRom
PRom(Programmable Rom)为可编程只读存储器,允许用户通过专用的设备(编程器)一次性写入自己所需要的信息,通常可编程一次,PRom通常出厂时存储单元皆为1或0。
Prom通常只能编写一次,例如双极性PRom具有两种结构:一种是熔丝烧断型,一种是PN结击穿型。它们只能进行一次性改写,一旦完成编程内容便固定。可靠性不高并且是一次性的,因此较少使用,适合小批量生产。
1.2 EPRom
EPRom(Erasable PRom)为可编程可擦除只读存储器,可多次编程但以读为主。可把已写入的内容擦去后再改写Rom。通过紫外线或脉冲电流等方法先将原数据擦除,然后通过写入器写入新的数据,EPRom笔PRom更方便灵活,更经济实惠,但是EPRom采用Mos管,速度较慢。
1.3 EEPRom
EEPRom(Electrically EPRom)为电可擦可编程只读存储器,是一种随时可写入的存储器。写入操作要比读取操作耗费的时间长得多。EEPRom把不易丢失数据和修改灵活的优点组合起来,修改时只需使用普通的控制、地址、数据总线。EEPRom比EPRom贵,集成度低,一般用于保存系统设置的参数、IC卡存储信息等,但由于其可以在线修改,所以可靠性不如EPRom。
2 Ram
Ram(Random Access Memory)也是半导体存储器[^1],也叫主存,掉电数据会丢失。Ram的访问速度比较快,它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统其他正在运行中的程序的临时数据存储介质。Ram工作时可以随时从任何一个指定的地址写入或读出信息。Ram在计算机或数字系统中用来暂时存储程序、数据和中间结果。
2.1 SRam
SRam(Static Ram)静态随机存储器是在静态触发器的基础上附加门控管而构成的。因此它是靠触发器的自保功能存储数据的。SRam存储的数据在不掉电的情况下能长时间保留,状态稳定,不需要外加刷新电路,从而简化了外部电路设计。但由于SRam的基本存储电路中所含晶体管较多,故而集成度较低,且功耗较大。存储原理为由触发器存储数据。
2.2 DRam
DRam(Dynamic Ram)动态随机存储器利用电容存储电荷的原理保存信息,电路简单,集成度高。由于任何电容都存在漏点,因此,当电容存储有电荷时,过一段时间由于电容放电会导致电荷流失,使保存信息丢失。解决的办法是每隔一定时间(一般为2ms)须对DRam进行读出和再次写入,使得处于逻辑电平“1”上的电容所泄放的电荷又得到补充,原处于电平“0”的电容仍然保持“0”,这个过程脚DRam的刷新。
3 Flash
Flash是一种高密度非易失性读/写半导体存储器,又称闪存,它既有EEPRom的特点,又有Ram的特点,是一种新的存储结构,俗称快速闪存存储器。它的价格及功能在EPRom和EEPRom之间,Flash使用电可擦技术,擦除速度比EPRom快得多,它能擦除存储器中某些块,而不是整块芯片,但是不提供字节级的擦除。在进行写入之前必须先进行擦除。NAND和NOR是市面上两种主要的非易失闪存。
3.1 NAND Flash
NAND闪存的存储单元则采用串行结构,存储单元的读写是以页和块为单位来进行的(每页含有若干字节,若干页则组成存储块,NAND的存储块大小为8到32Kb),这种结构的最大优点在于容量可以做的很大,NAND闪存成本较低,有利于大规模普及。其缺点在于读速度较慢。内部不存在专门的存储控制器,一旦出现数据块坏将无法修复,可靠性比NOR内存要差。与NOR闪存相比优势是可擦写次数多,擦写速度快,但是在使用以及使用过程中会出现坏块因此需要做特殊处理才可使用,NAND闪存可标记坏块并且跳过它们。主要用于数据存储,大部U盘是NAND Flash。
3.2 NOR Flash
NOR的特点是芯片内执行,应用程序可以直接在NOR Flash上运行,不必再把代码读取到Ram中。可像SDRam一样按照地址总线直接访问,可写的次数较少,速度也慢,由于其读时序类似于SRam,读地址是线性结构,多用于程序代码的存储。
4 Flash和EEPRom区别
- 擦写次数:一般Flash(指NOR Flash)的擦写次数可达到1w次甚至10万次。EEPRom的擦写次数比这大得多,可达100万次甚至1千万次;
- 使用寿命:Flash一般使用寿命可达10年。EEPRom数据可保存100年,具有更高的可靠性;
- 擦除方式:Flash是不能单字节擦写的,必须以Sector(扇区/页)为单位进行擦除操作。EEPRom则可以字节方式进行擦除;
5 NOR Flash与NAND Flash区别
- 擦写次数:通常NOR Flash的最大擦写次数可达十万次,而NAND Flash可达一百万次。
- 坏块处理:NAND Flash可以标记坏块并且跳过它们。