存储器


存储器的分类方式

存储器的分类方式有很多种,列举如下:

1、按存储介质:半导体、磁性、光学。

2、按存储方式:随机、顺序。

3、按读写功能:只读、读写。

4、按可保存性:断电保存、断电不保存。

5、按存储架构:寄存器、缓存、内存、外存(辅存)。

下图结合各种分类方式对各种存储器进行了归类。

按照个人计算机存储器体系的通常情况,可以粗略地说:半导体RAM的特点是随机、读写、断电不保存、缓存/内存,半导体ROM、磁性和光学存储器的特点一般是:顺序、只读、断电保存、外存。这样的说法虽然便于理解,但并不准确,比如混合存储器就可以同时具备二者的一些特点。最终需要根据具体的芯片原理进行分析。

 

存储器的发展历史

 

各类计算机系统的存储体系

个人计算机存储体系

 个人计算机具有完整的存储体系,包括寄存器、缓存、内存、外存。

1、寄存器采用半导体材料,容量一般为1、2、4、8个字节,但数量很多、功能丰富。

2、缓存一般采用SRAM,容量一般在几KB到几MB之间。

3、内存一般采用DRAM,比如DDR SDRAM内存条,容量一般为2GB、4GB、8GB。

4、外存采用半导体、磁性、光学材料,如Flash(固态硬盘、U盘、SD卡、MMC等)、机械硬盘、光盘,容量一般在几百GB到几TB之间。

 

微控制器存储体系

微控制器(单片机),着重“控制”而非“处理”, 对成本敏感而对速度要求不高。因此,单片机具有精简的存储体系,包括寄存器、内存、外存。

1、寄存器类似个人计算机存储体系中的寄存器。

2、内存通常采用“SRAM+片内Flash”的组合方式,其中SRAM用于临时存储数据,片内FLASH用于存储程序。

3、外存采用半导体,如EEPROM,片外Flash(W25QXX、SD卡等)。

补充说明:

1、片内Flash为什么也是内存?内存的定义:CPU能直接寻址的存储空间。断电不保存并非内存必备的特点。单片机内部的FLASH一般采用NOR FLASH,CPU取指模块支持NOR Flash的硬件接口,所以CPU能直接寻址。这种情况,NOR Flash的硬件接口一般称作SRAM接口,也就是说CPU访问NOR Flash的方式类似于访问SRAM的方式。

2、由于Flash用作存储单片机程序,所以又称作程序存储器。SRAM存储中间数据,又称作数据存储器。小容量的EEPROM一般用作数据存储器(存放系统参数),较大容量的W25QXX(NOR Flash)和超大容量的SD卡(NAND Flash)一般用作数据存储器(存储较多数据)。

3、由于单片机一般没有操作系统且只有一种用户程序,所以外存不存放程序。但并不意味着不可以如此,如果单片机需要升级用户程序,就可以将新的用户程序首先存放在外存中。

4、外存只是程序和数据的仓库,必须加载到内存中才能使用。

 

微处理器存储体系

一般提到嵌入式系统,默认是微处理器系统,甚至默认是“ARM+LINUX”系统。微处理器系统采用高性能的嵌入式处理器芯片,并且运行操作系统,已经和个人计算机没有明显的界限。微处理器系统同样具有完整的存储体系,包括寄存器、缓存、内存、外存。

手机算不算嵌入式系统呢?从技术层面,手机采用嵌入式芯片和嵌入式操作系统,算嵌入式系统。从功能层面,手机并非专用设备,甚至比个人计算机功能更加丰富,不算嵌入式系统。手机虽然是可裁剪的设备,但裁剪度太低。

典型的嵌入式系统如DTU专注于通信、迪文屏专注于显示。

 

详解NOR Flash和NAND Flash

1、诞生

1971年,富士雄加入了东芝公司,受到了EEPROM的启发,钻研一种能快速擦除的EERPOM并于1980年取得突破,申请了一个叫做simultaneously erasable EEPROM的专利。由于新发明的这种EEPROM擦除速度飞快,富士雄的同事建议他把这种技术取名Flash,暗合相机的闪光灯飞快闪烁之意。这就是最初的NOR Flash。因为NOR Flash的制造成本高,富士雄在1986年发明了NAND Flash,大大降低了制造成本。

2、原理

采用双栅极结构(场效应管为单栅极结构)的浮置栅极存储电荷,向浮栅中注入电荷表示写入了0,没有注入电荷表示1,所以对 Flash清除数据是写1的,这与机械硬盘正好相反。

写:在写入新数据之前,必须先将原来的数据擦除,这点跟机械硬盘不同,也就是将浮栅的电荷放掉,两种Flash都是通过F-N隧道效应放电。NOR Flash通过热电子注入方式给浮栅充电,而NAND Flash则通过F-N隧道效应给浮栅充电。

读:检测晶体管的导通状态就可以获得存储单元中的数据,如果位线上的电平为低,说明晶体管处于导通状态,读取的数据为0,如果位线上为高电平,则说明晶体管处于截止状态,读取的数据为1。由于控制栅极在读取数据的过程中施加的电压较小或根本不施加电压,不足以改变浮置栅极中原有的电荷量,所以读取操作不会改变Flash中原有的数据。

3、特性

NOR Flash有自己的数据和地址总线,因此可采用类似RAM的随机访问。各单元之间是并联的,对存储单元进行统一编址(有独立地址线),所以可以随机访问任意一个字。应用程序可以直接在NOR Flash内运行(应用程序的Code和RO段可以直接在NOR Flash上运行,只需要把RW段和ZI段拷贝到RAM中运行即可),不必再把代码读到系统RAM中去。但NOR Flash不能像RAM以字节改写数据,只能按页依次写数据,故NOR Flash不能代替RAM。

单片机使用的就是NOR Flash。因为NOR Flash读取快而写入很慢,所以中间数据都是写入SRAM中。

NAND Flash接口和操作均相对复杂,NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。同时NAND Flash位交换操作也很多,关键性数据更是需安错误探测/错误更正算法来确保数据的完整性,因此出现问题的几率要大的多,坏区块也是不可避免的,而且由于坏区块是随机分布的,连纠错也无法做到。建议在使用NAND Flash时,要采用EDC/ECC等校验算法。

4、应用

NOR Flash常用作BIOS程序存储介质、单片机外挂Flash、单片机片上Flash。

NAND Flash广泛应用在各种存储卡(如SD卡)、U盘、固态硬盘、eMMC等等大容量设备中。

 

题外话

1、手机的运存和机身内存是什么?这是错误的叫法,所谓的“运存”其实是内存,所谓的“机身内存”其实是外存。

2、由于有固态硬盘的说法,磁性硬盘最好称为“机械硬盘”而不要简称为“硬盘”。

3、寄存器概念厘清。寄存器有狭义和广义两种理解。狭义的寄存器就是单独的电路模块,由触发器组成。广义的寄存器就是临时存放数据的局部电路。从广义的角度说,所有存储器的某地址临时存放了数据,都可以粗略称为寄存器。比如,51单片机将SRAM低32字节的地址空间称作“4个工作寄存器组”(每组8个工作寄存器)就是广义的寄存器概念。比如,51单片机中的特殊功能寄存器都是狭义的寄存器概念。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM