半导体存储器介绍
半导体存储器介绍
随着信息技术的飞速发展,人们对数据存储的需求日益增长。 半导体存储器凭借其体积小、速度快、功耗低等优势,成为了现代电子系统中不可或缺的组成部分。 从智能手机到超级计算机,从物联网设备到数据中心,半导体存储器无处不在,为我们存储和处理海量数据提供了坚实的保障。
本文包含:
1. 存储器的分类
数据存储方式:
- 光存储:DVD、CD
- 磁存储:
- 半导体存储
半导体存储方式:
- 易失性:RAM
- DRAM动态,使用电容存储数据,需要经常刷新。集成度高,成本低。用于计算机的主存储器。
- SRAM静态,使用触发器存储数据,不需要刷新,速度快,功耗低但成本高。用于高速缓存。
- SDRAM同步动态,
- DDR-DRAM双速率DRAM
- 非易失性:ROM
- 掩膜Rom - 制造过程中写入数据,不可修改
- PROM - 只可编程一次,不可修改
- EPROM - 可擦除可编程,使用紫外线擦除,重新编程。
- EEPROM - 电气可擦除可编程,使用电气擦除,重新编程。
- FLASH - 闪存
- NAND - 数据存储,写入速度快
- NOR - 直接执行代码,写入速度慢,读取速度快
由于NAND的块访问机制,用户不能直接运行NAND FLASH的代码, 利用NOR的随机访问机制,通常使用NOR FLASH去运行NAND FLASH上的代码。
2. 易失性存储器
电路断电后丢失数据,常见的存储器为:
- SRAM:存储单元是触发器,电源一直保持就可以。 集成度低,容量小,常用作CPU的L1和L2级缓存。行列地址不复用。
- DRAM:存储单元是电容,电源需要自动化主动地刷新,给电容充电。
- 行列地址复用,许多都有页模式。
- SDRAM:在DRAM的基础上加入了时钟同步。图 2.1 显示了一种SDRAM的内部结构图。
- DDR-RAM: 双速率随机存储器,在SDRAM的基础上,数据在时钟的两个边沿都可以读取。
RAM的硬件结构一般由以下部分组成:
- 存储单元组成的存储矩阵
- 地址译码器(bank、行、列)
- 读写数据控制器
- 两种操作:
- 数据写入:当需要写入数据时,控制器通过行列地址译码器将地址解码以激活相应的存储单元。 在写入过程中,控制器将待写入的数据通过数据线输入到ram存储单元中。
- 数据读取:当需要读取数据时,控制器通过行列地址译码器将地址解码以激活相应的存储单元。 在读取过程中,控制器将待读取的数据通过数据线输出到外部存储单元中。
3. 非易失性存储器
电路断电后数据还在。不能写入数据或者写入数据困难。
常见的存储器有:
- 掩膜PROM数据通过掩膜在制造过程中写入,不可更改,成本低,适用于大批量生产。
- PROM用户可以使用编程器以烧断保险丝的方式写入一次数据,然后数据不再被更改。
- EPROM可以使用紫外线照射栅极上的电荷擦除数据,然后重新写入。
- EEPROM使用电信号的方式擦除数据,然后重新写入。
- FLASHEEPROM的另一种形式。
- NAND FLASH
- NOR FLASH
为什么有了Flash还有EEPROM?
- FLASH按扇区操作,EEPROM按字节操作,
- FLASH操作麻烦,用作程序存储器,EEPROM操作简单,用作数据存储器。
- 在操作小量数据时,操作的对比更加明显。
发展:只读 -> 可擦一次 —> 可多次擦 —> 光擦 —> 电擦
3.1 flash eeprom
一种特殊的EEPROM,以块为单位进行擦除写入,容量大、速度快,成本低的优点。适用于固态硬盘、U盘等设备
闪存(Flash Memory)的工作原理和硬件架构
3.1.1 工作原理
闪存是一种非易失性存储器,主要用于存储电子设备中的数据。它的工作原理主要基于浮动栅极技术。以下是闪存的工作过程的详细步骤:
存储单元结构:闪存的基本单位是存储单元,每个存储单元内部有一个浮动栅极(Floating Gate)和一个控制栅极(Control Gate)。 浮动栅极被绝缘材料包围,能够存储电荷,这种电荷的存在或缺失用来表示二进制数据,即逻辑“1”和逻辑“0”。
数据写入(编程):当需要写入数据时,控制器会向控制栅施加高电压(通常称为编程电压)。 该高电压使得电子通过隧穿效应跳过绝缘层进入浮动栅极,成功在浮动栅极上存储电荷。 存储单元的电荷状态表明其存储的是逻辑“1”。
数据读取:读取操作时,控制器会在控制栅上施加一个较低的读取电压。 控制器通过检测浮动栅极是否带电来确定存储的状态。 如果浮动栅极带电,电流会流过控制栅,从而读取出“1”;如果不带电,则读取出“0”。
数据擦除:擦除操作是在块级别进行的,即一次只能擦除一个块内的所有存储单元。 擦除时,会在整块上施加更高的电压,使得浮动栅极上的电荷被移除(通常是通过高电压和特殊的程序来实现)。 擦除完成后,所有的存储单元都会恢复为逻辑“1”状态。
3.1.2 硬件架构
闪存的硬件架构主要包括以下几个重要组件:
存储单元(Memory Cell):闪存的基本存储单元是由浮动栅极和通道构成的MOSFET(金属氧化物半导体场效应晶体管)。 存储单元以页(Page)和块(Block)的形式组织,典型结构包括NAND和NOR两种类型的闪存。
阵列(Array):存储单元按行和列组网形成存储阵列。每个单元的排列可以是二维或三维(如3D NAND闪存)。 制造商通过堆叠多个存储层来增加存储密度。
行解码器和列解码器(Row and Column Decoders):行解码器选择特定的行,列解码器选择特定的列,以便访问特定的存储单元执行读取或写入操作。 这些解码器负责将外部地址信号转换为内部存储单元的选择信号。
控制器(Controller):决定何时进行数据写入、读取和擦除的组件,是闪存的“指挥部”。 控制器负责处理数据流,确保在访问存储单元时操作的顺序和正确性,管理错误检测和纠正等功能。
数据缓冲区(Buffer):用于临时存储读写的数据,提高读写效率。 数据缓冲区可以在控制器与存储单元之间进行数据传输,提升存取速度及优化性能。
接口(Interface):闪存与主机系统之间的通信接口,如SATA、PCIe、USB等。 接口负责数据的传输和协议的实现,确保与其他系统的兼容性。
3.5.3 nand闪存和nor闪存的比较
flash的擦除是将某一段数据都变为1,写入是将某一bit的1变为0。
- 写入数据:写入flash之前必须先擦除,再写入。
- 读取数据:直接读取
闪存主要分为两种类型:NAND闪存和NOR闪存,它们在工作原理和架构上的一些重要差别如下:
NAND的存储单元是串联的,每一组单元串联形成一个存储块。 NOR的存储单元是并联的,每个单元直接连接到数据总线上。
NAND Flash根据存储单元存储的bit数不同分为:
- SLC(Single-Level Cell):存储1个bit
- MLC(Multi-Level Cell):存储2个bit
- TCL(Triple-Level Cell):存储3个bit
特性 | NAND闪存 | NOR闪存 |
---|---|---|
访问方式 | 页级访问(Page-level Access) | 字节级访问(Byte-level Access) |
写入速度 | 快 | 慢 |
擦除速度与次数 | 快 | 慢 |
读取速度 | 相近 | 相近 |
存储密度 | 较高(适合大容量存储) | 较低(不适合大容量存储) |
成本 | 较低(非常适合市场大规模应用) | 较高 |
应用场景 | SSD、USB闪存、移动设备等 | BIOS、固件和小型嵌入式系统等 |