非易失性存储
ROM
ROM在制造时刻录数据,数据在 写入后无法更改。ROM存储的数据是静态的,通过选择性地断开和连接电路来存储信息。通常用于存储固件和系统启动程序,如计算机BIOS或嵌入式系统中的基本操作程序。
掩膜只读存储器(Mask ROM)
-
特点
- 在制造过程中,程序和数据通过半导体制造工艺中的掩膜技术被永久性地写入存储器芯片中。
- 一旦制造完成,其内容无法更改。
- 具有较高的可靠性和稳定性,因为数据是在生产阶段固化的,不会因电源故障或其他外部因素而丢失。
-
应用场景
- 适用于存储那些不需要修改的程序和数据,如计算机的引导程序、微控制器中的固化程序等。
可编程只读存储器(PROM)
-
特点:
- 用户可以一次性编程写入数据。
- 编程过程通常需要使用特殊的编程设备,通过施加高电压或其他特定的编程条件来熔断芯片内部的熔丝或改变晶体管的状态,从而实现数据的写入。
- 一旦编程完成,内容也不能再更改。
-
应用场景:
- 用于一些特定的应用场景,如设备的参数设置、少量的定制化程序等。
可擦除可编程只读存储器(EPROM)
-
特点:
- 可以通过紫外线照射进行擦除,然后重新编程。
- 芯片上通常有一个透明的窗口,用于允许紫外线照射到存储单元,以擦除数据。
- 编程和擦除操作相对复杂,需要使用专门的编程器和擦除设备。
-
应用场景:
- 在软件开发和调试阶段,EPROM 可以方便地进行程序的修改和更新。
- 也用于一些需要频繁更新程序的设备中。
电可擦除可编程只读存储器(EEPROM)
-
特点:
- 可以通过电子信号进行擦除和编程,无需紫外线照射或特殊的编程设备。
- 可以逐字节地进行擦除和编程,具有较高的灵活性。
- 擦写次数有限,但通常比闪存(Flash Memory)的擦写次数要多。
-
应用场景:
- 广泛应用于各种电子设备中,如计算机的 BIOS、数码相机、手机等,用于存储设备的配置信息、用户数据等。
闪存(Flash Memory)
-
特点:
- 是一种非易失性存储器,可以在断电后保持数据。
- 可以进行大规模的擦除和编程操作,通常以块为单位进行擦除,以字节或页为单位进行编程。
- 具有较高的存储密度和较快的读写速度。
-
应用场景:
- 是目前最广泛使用的存储介质之一,用于存储各种数据,如操作系统、应用程序、文档、照片、视频等。在固态硬盘(SSD)、USB 闪存盘、存储卡等设备中都使用了闪存。
磁带
基本原理
- 磁带:磁带是由长而窄的塑料带制成,带上涂有一层磁性材料(通常是铁氧体),用于记录数据。数据通过改变磁性材料的磁化方向来存储。
- 读写头:磁带驱动器使用磁读写头读取和写入数据。读写头会在磁带上移动,根据磁性材料的变化来读取或写入数据。
工作原理
-
写入数据:数据通过电磁感应的方式写入磁带。当数据写入时,读写头会在磁带上产生磁场,从而改变磁带上磁性材料的磁化方向。
-
读取数据:数据读取时,读写头会检测磁带上磁性材料的磁化状态,并将这些变化转化为电信号,进一步解码成计算机可用的数据。
优缺点
优点
- 高容量:磁带能够存储大量数据,适合长期存档和备份。
- 成本效益:相较于早期的硬盘存储,磁带存储的成本较低。
- 耐用性:在适当的存储条件下,磁带的寿命较长。
缺点
- 顺序访问:磁带数据访问是顺序的,不如硬盘的随机访问速度快。因此,检索特定数据时需要较长的时间。
- 物理体积:磁带驱动器和磁带本身较大,占用空间。
- 维护:磁带和驱动器需要定期维护和校准,以确保数据的完整性和驱动器的正常运行。
现代应用
- 大规模备份和归档:由于磁带的高容量和成本效益,它在企业级备份和数据归档中仍然被使用,尤其是在需要长期保存大量数据的场合。
- 数据恢复:磁带还用于数据恢复和灾难恢复计划中。
HDD
工作原理
结构
磁盘(Platters
):HDD内部包含一个或多个平坦的圆盘,称为磁盘,这些磁盘通常由铝合金或玻璃材料制成,并涂有磁性材料。
磁头(Read/Write Heads
):每个磁盘上方和下方都有一个读写头,用于读取和写入数据。
主轴(Spindle
):磁盘通过主轴旋转,通常以每分钟数千转(RPM)的速度进行旋转。
磁臂(Actuator Arm
):磁头通过磁臂移动,在磁盘表面上不同的位置读取或写入数据。
数据存储
磁道(Tracks
):磁盘表面被划分为同心圆形的轨道,每个轨道上记录有数据。
扇区(Sectors
):每个磁道进一步被划分为扇区,是数据存储的最小单位。一个扇区通常为512字节或4096字节(4KB)。
读写数据
写入:数据写入时,读写头在磁盘表面上通过改变磁性材料的磁化方向来记录数据。 读取:数据读取时,读写头检测磁盘上的磁化状态,将其转换为电信号,以便计算机处理。
优缺点
优点
成本效益:相比于固态硬盘(SSD),HDD的单位存储成本较低,因此对于需要大量存储空间的应用更加经济。 高容量:HDD可以提供较大的存储容量,适合存储大量数据,如高清视频、数据库等。 成熟技术:HDD技术成熟,兼容性强,广泛应用于个人计算机、服务器等设备。
缺点
速度较慢:相比于SSD,HDD的读写速度较慢,因为数据访问是顺序的,需要时间移动磁头和磁盘旋转。 机械部件:HDD内部包含机械部件(如磁头和旋转盘),容易受到震动和冲击影响,可能导致故障。 能耗较高:HDD需要持续旋转磁盘,相比于SSD,能耗更高。
应用
个人计算机:传统的桌面电脑和笔记本电脑中,HDD曾是主要的存储设备,尤其是在需要大容量的情况下。 服务器和数据中心:HDD用于存储大量数据,如文件服务器、数据库服务器和备份存储等。 存档和备份:HDD适合用于长期数据存档和备份,因为其大容量和相对较低的成本。 消费电子产品:一些消费电子产品,如外部硬盘驱动器和游戏主机,也使用HDD来扩展存储空间。
光盘
光盘是一种光学存储介质,使用激光读取和写入数据。常用于分发软件、音乐、电影等,也用于备份和数据归档。
类型
CD(Compact Disc)
容量:约700MB。 用途:音频、数据存储。 格式:CD-ROM(只读)、CD-R(可录制)、CD-RW(可重写)。
DVD(Digital Versatile Disc)
容量:单层4.7GB,双层8.5GB。 用途:视频、数据存储。 格式:DVD-ROM(只读)、DVD-R(可录制)、DVD-RW(可重写)
BD(Blu-ray Disc)
容量:单层25GB,双层50GB。 用途:高清电影、数据存储。 格式:BD-ROM(只读)、BD-R(可录制)、BD-RE(可重写)。
工作原理
光盘通过激光束读取数据,数据被刻录在光盘的表面,以微小的坑(凹坑)和山(平面)形式存在。激光束反射回来时,通过检测反射的变化来读取数据。
优缺点
优点
便携性:光盘体积小、重量轻,易于存储和携带。 兼容性:光盘在许多设备上都可以读取,包括电脑、DVD播放器和Blu-ray播放器。 耐用性:光盘对数据损坏的耐受性较高,不易受磁场干扰。
缺点
存储容量有限:相比于现代存储设备(如SSD),光盘的存储容量较小。 读写速度慢:光盘的读写速度较慢,尤其是在处理大量数据时。 物理损坏:光盘容易被刮伤或污染,导致数据读取困难。
应用
音乐和视频:光盘广泛用于音乐专辑、电影和电视节目的发布和分发。 数据存储:用于存储软件、游戏和备份数据。 数据传输:在互联网普及之前,光盘是软件和资料传输的重要媒介。
EEPROM
EEPROM(Electrically Erasable Programmable Read-Only Memory
)是一种非易失性存储器,意思是即使在断电后,数据也会被保留下来。EEPROM在嵌入式系统、微控制器、配置数据存储等应用中非常常见。常用于存储少量需要经常更新的数据,如计算机和嵌入式设备的配置设置和小型固件更新。
基本概念
- 非易失性:EEPROM能够在断电时保留数据,适合存储需要长期保留的信息,如校准数据、设备配置参数等。
- 电可擦除:EEPROM中的数据可以通过电信号进行擦除和重写,因此相比一次性可编程的ROM(如PROM),它更具灵活性。
- 按字节擦除和写入:EEPROM允许单字节擦除和写入,意味着可以对特定地址进行操作而不会影响其他存储内容。这使得EEPROM特别适合用于需要频繁更新小块数据的场景。
分类
按生产商分类
Atmel(AT,爱特梅尔,已被Microchip收购):AT24C系列、AT45DB系列等; Microchip(微芯科技):11AA02E系列、25AA02E系列、MC93C系列等; ST(意法半导体):M24C系列、M93C系列等; 聚辰半导体(国内):GT24C系列、GT93C系列等;
按通信协议分
I2C:I2C总线(Inter-Integrated Circuit
,内部整合电路)是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。
SPI:SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线。
Microwire:Microwire串行接口是一种简单的四线串行接口,由串行数据输入(SI)、串行数据输出(SO)、串行移位时钟(SK)、芯片选择(CS)组成,可实现高速的串行数据通讯。它是SPI的精简接口,能满足通常外设的需求。
工作原理
- 存储单元:EEPROM的基本存储单元是由一个浮栅晶体管组成的。[浮栅](浮栅金属氧化物半导体场效应晶体管 - 维基百科,自由的百科全书 (wikipedia.org))(floating gate)是在绝缘层之间被电场影响的一个小电荷存储区域。通过将电荷注入或从浮栅中移除,可以改变晶体管的阈值电压,从而表示存储的位(0或1)。
- 写入数据:写入数据时,会通过一种叫作Fowler-Nordheim隧道效应的机制,将电子注入浮栅。这样就会改变浮栅上的电荷,改变存储单元的状态。
- 擦除数据:擦除数据时,同样通过隧道效应,将电子从浮栅移除,恢复初始状态。
- 读取数据:读取时,通过检测浮栅上的电荷状态,可以知道该位是0还是1。
特性
- 寿命:EEPROM的寿命通常由写入擦除周期(write/erase cycles)决定。一般EEPROM的寿命在10万到100万次写入擦除操作之间。
- 速度:相比于其他类型的存储器(如SRAM或Flash),EEPROM的写入速度较慢,因为写入操作涉及复杂的电荷移动过程。
- 容量:EEPROM的容量通常较小,一般在几KB到几MB之间,适合存储少量重要数据。
应用
-
配置参数存储
EEPROM常用于存储系统的配置参数,如微控制器中的校准数据、启动配置、用户设置等。
-
固件更新
在一些嵌入式设备中,EEPROM被用来存储可更新的固件,这样即使断电也能保持更新的内容。
-
数据记录
在需要断电后仍保存重要数据的应用中,EEPROM可以作为数据记录的存储介质,如电表读数、事件日志等。
与其他存储器的比较
-
EEPROM vs. Flash
Flash内存和EEPROM都属于非易失性存储器,但Flash通常用于存储更大容量的数据,比如固件,而EEPROM更适合存储小数据块。Flash的擦除通常是以块为单位的,而EEPROM可以按字节操作。
-
EEPROM vs. RAM
RAM(随机存取存储器)是易失性存储器,在断电时数据会丢失,而EEPROM则不会。RAM的读写速度比EEPROM快得多,但它不能在断电后保留数据。
-
EEPROM vs. PROM/ROM
PROM是一次性可编程的,而EEPROM则可以多次擦除和重写。EEPROM比ROM灵活,可以随时更新内容。
注意事项
-
写入周期限制
由于EEPROM有写入擦除周期限制,所以在频繁更新数据的应用中,需要设计合理的写入策略,以延长EEPROM的寿命。
-
擦写速度
由于EEPROM写入速度较慢,需要注意写入操作的频率和时间,避免对系统性能造成影响。
-
数据完整性
在进行EEPROM数据更新时,要考虑电源掉电、数据冲突等问题,确保数据的完整性和一致性。
Flash
Flash存储使用浮动栅极技术来存储数据,通过在半导体芯片上存储电荷来表示数据位。根据不同的存储模式,有NAND型和NOR型两种主要类型。NAND型适用于高容量存储,而NOR型则用于需要快速随机访问的应用。常用于固态硬盘(SSD)、USB闪存驱动器、SD卡、手机内存等,需要快速读写和耐用的数据存储场景。
基本概念
- 非易失性:Flash Memory 可以在断电时保持数据,适合存储需要长期保留的信息。
- 大容量:相较于 EEPROM,Flash Memory 通常具有更大的存储容量,范围从几百兆字节 (MB) 到数百千兆字节 (GB) 或更大。
- 可重写:Flash Memory 支持擦除和重写数据,但与 EEPROM 不同的是,它通常以块为单位进行擦除,而不是以字节为单位。
工作原理
Flash Memory 的存储单元通常是一个浮栅晶体管,通过控制浮栅上的电荷来存储数据。以下是其工作原理的详细描述:
- 存储单元:与 EEPROM 类似,Flash Memory 也是由浮栅晶体管构成的。浮栅(floating gate)被电荷隔离在绝缘层之间。
- 写入数据:写入数据时,电子通过 Fowler-Nordheim 隧道效应注入浮栅。浮栅的电荷量改变晶体管的阈值电压,从而表示 0 或 1。
- 擦除数据:擦除数据时,电子从浮栅移除,恢复到原始状态。擦除操作通常在 Flash Memory 中是以块(Block)为单位进行的。
- 读取数据:通过检测浮栅的电荷状态,Flash Memory 可以读取存储的数据位。
类型
Flash Memory 主要分为两种类型:NOR Flash 和 NAND Flash。
-
NOR Flash:
- 特点:NOR Flash 提供随机访问(Random Access),可以像传统的内存一样直接访问任意地址的数据。这使得它非常适合存储代码和执行程序,因为它可以直接从 Flash 中读取和执行代码。
- 应用:NOR Flash 常用于存储固件和代码,如 BIOS、嵌入式设备的固件等。
- 缺点:NOR Flash 的写入和擦除速度较慢,单元密度较低,因此成本较高,容量相对较小。
-
NAND Flash:
- 特点:NAND Flash 提供的是按块(Block)存取数据,它的结构更紧凑,单元密度更高,因此容量大且成本低。NAND Flash 的写入和擦除速度更快,适合存储大容量数据。
- 应用:NAND Flash 广泛应用于 SSD、USB 闪存盘、存储卡等存储大量数据的设备中。
- 缺点:由于是按块操作,因此在执行随机访问时效率较低。NAND Flash 还需要纠错机制来确保数据的完整性。
特性
- 擦除周期限制:Flash Memory 有有限的写入擦除周期(通常在 1,000 到 100,000 次之间)。一旦超过这个限制,存储单元的可靠性会降低,可能导致数据丢失。
- 块擦除:Flash Memory 的擦除操作是以块为单位的,意味着你不能只擦除或重写一个字节,而必须擦除整个块的数据。
- 速度:NAND Flash 具有较高的写入和读取速度,尤其适用于需要快速存取大量数据的场景。
应用
- 固态硬盘 (SSD):SSD 是基于 NAND Flash 的存储设备,相比传统的硬盘驱动器 (HDD),它具有更快的读写速度、更低的功耗和更高的耐用性。
- USB 闪存盘:利用 Flash Memory 的非易失性和大容量,USB 闪存盘成为便携式数据存储的主要选择。
- 嵌入式系统:许多嵌入式设备使用 NOR Flash 来存储固件和代码,使用 NAND Flash 来存储用户数据和日志。
- 数码相机和智能手机:这些设备使用 NAND Flash 存储照片、视频和应用程序数据,提供快速的存储和访问。
挑战
-
磨损均衡(Wear Leveling)
由于 Flash Memory 的写入擦除周期有限,为了延长其使用寿命,通常会采用磨损均衡技术,确保写入操作均匀分布在整个存储空间上,而不是集中在某些特定的块上。
-
纠错代码(ECC)
NAND Flash 可能会产生读取错误,因此通常需要使用纠错代码(ECC)来检测和纠正数据错误,保证数据的完整性和可靠性。
-
速度与耐久性之间的权衡
在设计和使用 Flash Memory 时,需要在读写速度和存储单元的耐久性之间进行权衡,以确保设备的长期可靠性。
未来发展趋势
- 3D NAND Flash:为了提高存储密度和降低成本,3D NAND Flash 技术逐渐普及。它通过将存储单元堆叠在多层结构中,大幅度提高了存储容量。
- QLC、TLC、MLC:这些是 Flash Memory 中的不同级别的单元表示法,分别代表四级单元 (Quad-Level Cell)、三级单元 (Triple-Level Cell)、和多级单元 (Multi-Level Cell)。每个单元可以存储更多的位数,从而提高存储密度。
- 持久性内存(Persistent Memory):新的持久性内存技术(如 Intel 的 Optane)结合了内存的高速和存储的非易失性特点,有望在未来替代部分 Flash Memory 的应用场景。
Flash Memory 因其高密度、低成本、非易失性以及良好的读写性能,已成为现代电子设备中不可或缺的一部分。理解其工作原理、优缺点及应用场景,有助于在设计和使用中充分发挥其优势。