阅读引言: 在看一款芯片的数据手册的时候, 无意间翻到了它的启动模式(Boot Mode), 发现这种这么多种ROM,所以就写下了这篇文章。
目录
一、存储器汇总
存储器是计算机必不可少的组成部分,是用来存储程序代码和数据的部件,有了存储器,计算机才具有记忆功能。存储器通常分为内存和外存,内存是电路板上的半导体存储器件,外存包含硬盘、光盘、U盘、电子盘以及各类存储卡等等。
对于嵌入式系统的存储器系统而言,与通用计算机系统的设计方法有所不同,嵌入式微处理器片上也集成了一定数量的存储器,是构成嵌入式系统硬件的主要组成部分, 也叫做片上存储器, 这个片就是SOC, 将CPU, 存储器, 外设控制器, Bus等做在了一块硅片上。
考查存储器性能的一些指标主要在于易失性、只读性、位容量、速度、功耗、可靠性以及价格等等因素。嵌入式存储器按掉电信息是否保留可以分为以下两大类,ROM和RAM,图示如下。
二、易失性存储器(RAM)
1. SRAM
SRAM(Static Random Access Memory)是静态随机存取存储器的缩写,是一种随机存取存储器。它的特点是速度快、读写延迟低,但需要持续供电以保持数据不丢失。
单口SRAM和双口SRAM是SRAM的两种类型:
1.1 单口SRAM
单口SRAM:只有一个数据输入/输出端口,即一个端口可以同时进行读/写操作。在单口SRAM中,由于读/写操作共享同一个端口,因此需要进行同步控制,以确保读写操作不会相互干扰。
1.2 双口SRAM
双口SRAM:有两个独立的数据输入/输出端口,分别称为A端口和B端口。每个端口都可以独立地进行读/写操作,不需要进行同步控制。与单口SRAM相比,双口SRAM具有更高的并发性能和更好的可扩展性。
2. DRAM
DRAM(Dynamic Random Access Memory)是动态随机存取存储器的缩写,是一种常见的随机存取存储器。与SRAM不同,DRAM需要定期刷新以保持数据不丢失,因为它依靠电容来存储数据,而电容会随着时间泄漏电荷导致数据丢失。
2.1 SDRAM
SDRAM(Synchronous Dynamic Random Access Memory)是同步动态随机存取存储器的缩写,是一种常见的计算机内存类型。它与DRAM类似,但具有同步性,即需要与系统时钟保持同步,以确保数据的准确读写。
SDRAM的主要特点包括:
- 同步性:SDRAM需要与系统时钟保持同步,以确保数据的准确读写。
- 可扩展性:由于SDRAM支持多个模块的组合,因此可以实现更大的容量。
- 高速性能:相比于普通的DRAM,SDRAM具有更快的读写速度和更低的延迟。
- 可靠性:由于同步性的存在,SDRAM可以更好地抵抗噪声和干扰,从而提高了数据的可靠性。
总的来说,SDRAM适用于要求高性能和高可靠性的应用场景,如服务器、网络设备和图形工作站等。
2.2 异步DRAM
异步DRAM(Asynchronous Dynamic Random Access Memory)是一种随机存取存储器,与同步的SDRAM相比,它不需要与系统时钟保持同步。
异步DRAM的主要特点包括:
- 不同步性:异步DRAM不需要与系统时钟保持同步,因此可以实现更快的读写速度和更低的延迟。
- 可扩展性:由于异步DRAM支持多个模块的组合,因此可以实现更大的容量。
- 可靠性:由于不同步性的存在,异步DRAM可能更容易受到噪声和干扰的影响,从而降低了数据的可靠性。
- 成本相对较低:相比于同步的SDRAM,异步DRAM的成本较低,因此在一些对性能要求不高的应用场景中仍然被广泛使用。
总的来说,异步DRAM适用于对性能要求不高的应用场景,如嵌入式系统、物联网设备和低功耗应用等。
2.3 DDR DDR2 DDR3
DDR、DDR2和DDR3是一系列不断进化的内存技术
DDR(Double Data Rate Synchronous Dynamic RAM)是一种同步动态随机存取存储器,它使用一个时钟信号来同步数据的读写操作。DDR技术通过在单个时钟周期内同时读取和写入数据,提高了内存的带宽和性能。
DDR2是DDR技术的升级版,它在DDR的基础上进行了改进,提供了更高的数据传输速率、更低的功耗和更好的兼容性。DDR2采用新的芯片封装技术和更高效的电路设计,使得其在相同容量下可以提供更高的频率和更快的速度。
DDR3则是DDR2技术的进一步升级,它采用了更先进的制程工艺和电路设计,具有更高的频率、更低的功耗和更大的容量。DDR3还引入了新的内存架构和技术,如PCI Express总线接口和并行性传输技术等,进一步提高了内存的性能和效率。
总的来说,DDR、DDR2和DDR3是一系列不断进化的内存技术,它们在不同的应用场景中提供了不同的性能和效率优势。随着技术的发展,DDR4和DDR5等更高级别的内存技术也已经开始出现。
3.FRAM
FRAM( Ferroelectric Random Access Memory)是一种非易失性随机存取存储器,它利用铁电效应存储数据。与传统的RAM不同,FRAM不需要定期刷新来保持数据不丢失,也不需要使用时钟信号进行同步读写操作。
FRAM的主要特点包括:
- 非易失性:FRAM可以在断电的情况下保持数据不丢失,因此非常适合用于需要长时间保存数据的应用场景。
- 高速性能:FRAM具有快速的读写速度和低的延迟,可以提供高效的数据处理能力。
- 高可靠性:由于FRAM不需要刷新操作和同步时钟信号,因此具有较高的可靠性和稳定性。
- 低功耗:相比于其他类型的内存,FRAM的功耗较低,适合用于低功耗设备和电池供电的设备。
总的来说,FRAM适用于需要非易失性、高速性能和低功耗的应用场景,如工业自动化、物联网设备和便携式电子设备等
4. SRAM和DRAM的区别
SRAM(Static Random Access Memory)和DRAM(Dynamic Random Access Memory)是两种常见的随机存取存储器,它们在存储数据的原理、性能和应用方面存在一些不同。
- 存储原理:SRAM使用触发器(晶体管)电路来存储数据,因此不需要定期刷新操作;而DRAM则利用电容电荷的变化来存储数据,需要周期性地刷新以保持数据不丢失。
- 性能:SRAM的读写速度快,但价格昂贵;DRAM的读写速度相对较慢,但价格更便宜。
- 功耗:SRAM的功耗较高,而DRAM的功耗较低。
- 应用:SRAM常用于高速缓存、寄存器等对速度要求较高的场景;DRAM通常用于主内存、缓存等对成本和容量要求较高的场景。FRAM则适用于需要非易失性、高速性能和低功耗的应用场景。
三、非易失性存储器(ROM)
1. PROM
PROM(Programmable Read-Only Memory)是一种可编程只读存储器。
PROM是一种特殊的计算机存储芯片,它允许用户使用专门的硬件设备,即PROM编程器,将数据写入其中。一旦数据被写入PROM,这些数据就永久存储在芯片上,无法被修改或删除。每个比特的数据内容由熔丝或反熔丝的状态决定。
总的来说,PROM主要用于存储不经常更改的数据或程序代码,例如固件或系统程序。由于其不可重写的特性,PROM在需要保护数据不被篡改或在产品生命周期内无需更新数据的应用中非常有用。
2. EPROM
EPROM(Erasable Programmable Read-Only Memory)是一种可擦除可编程的只读存储芯片。
它允许用户多次写入和擦除数据,但与EEPROM不同,EPROM的擦除过程需要使用紫外线照射IC上的透明视窗来进行。这种类型的存储器在早期的微控制器和一些需要固件更新的设备中非常常见。
EPROM的关键特性包括:
- 可擦除性:EPROM可以通过紫外线照射来清除存储的信息,然后重新编程。
- 重复编程:与一次性编程的PROM不同,EPROM可以多次擦除和重写,这使得它在开发和测试阶段非常有用。
- 不挥发性:即使断电,EPROM也能保持其存储的数据不丢失。
- 透明视窗:EPROM芯片通常有一个透明的石英窗口,允许紫外线照射到芯片上,以进行擦除操作。
总的来说,EPROM在现代电子设备中的应用已经不如EEPROM和闪存那样广泛,因为后者提供了更方便的电擦除和编程能力。然而,在一些特定的应用和旧设备中,EPROM仍然有其用武之地,尤其是在需要定期更新固件或存储少量重要数据的场合。
3. EEPROM
EEPROM(Electrically Erasable Programmable Read-Only Memory)是一种电可擦除可编程的只读存储芯片,它允许用户在不移除芯片的情况下多次擦除和重编程数据。
EEPROM的特点包括:
- 非易失性:即使在断电的情况下,EEPROM也能保持其存储的数据不丢失。
- 可重复编程:用户可以多次擦除EEPROM中的信息,并且重新编程,这使得它在需要频繁更新数据的场合非常有用。
- 随机访问:EEPROM可以随机访问和修改任何一个字节的数据,提供了灵活的数据管理方式。
- 低功耗:相比于其他类型的存储器,EEPROM具有较低的功耗,适合用于功耗敏感的应用环境。
- 高可靠性:由于EEPROM的结构特点,它能提供较高的数据可靠性。
总的来说,EEPROM是一种非常有用的存储技术,它在需要非易失性、可重复编程和随机访问的应用场景中表现出色。
4. FLASH
Flash存储器,也被称为闪存,是一种非易失性的内存器件,它允许数据在断电后仍然保持,并且可以多次擦写。以下是一些详细的介绍:
- 工作原理:Flash存储器利用浮栅MOS管存储电荷来保存信息,并通过控制栅极来进行读取操作。这种存储方式使得Flash存储器在没有电源供应的情况下也能保持数据不丢失。
- 特点:Flash存储器以其长寿命、非易失性和低功耗而著称。它可以进行快速的读取和相对高速的写入操作,而且可以在线擦除和重写,这使得它在代码存储和数据存储方面非常有用。
- 应用:Flash存储器被广泛应用于各种数字设备中,如计算机BIOS、数字相机的存储卡、USB闪存盘等。它的使用方便了数据的传输和存储,同时由于其易于擦除和重写的特性,也简化了设备的升级和维护工作。
- 分类:Flash存储器可以根据不同的标准进行分类,例如按照存储容量、页容量、读取和写入性能等。不同类型的Flash存储器适用于不同的应用场景和需求。
- 与其他存储器的比较:与一次性固化的ROM(只读存储器)相比,Flash存储器具有可重复编程的优势;而与RAM(随机访问存储器)相比,Flash存储器则提供了非易失性的数据保存能力。
总的来说,Flash存储器是现代电子设备中不可或缺的存储元件,它的发展和普及极大地推动了信息技术的进步。随着技术的不断进步,Flash存储器的容量越来越大,速度越来越快,成本也越来越低,使其在未来的存储市场中仍将占有重要地位。
4.1 NOR FLASH
NOR Flash是一种非易失性存储器,主要用于代码存储和预设信息存储。以下是NOR Flash的一些详细介绍:
- 技术原理:NOR Flash是基于浮栅晶体管的非易失性存储技术,它允许数据在断电后仍然保持,并且可以多次擦写。
- 性能特点:NOR Flash以其高速读取能力而著称,适合存储少量数据,如启动代码、固件等。它的读取速度快,但写入和擦除速度相对较慢。此外,NOR Flash的成本通常高于NAND Flash,但其可靠性和耐用性较好。
- 应用场景:由于其快速读取的特性,NOR Flash常用于存储程序代码,如BIOS更新、嵌入式系统的固件等。它也用于存储预设信息,如路由器的启动代码等。
- 市场发展:NOR Flash的市场份额相对于NAND Flash较小,但由于其在特定应用中的优势,市场需求仍然存在。随着智能化领域的发展,NOR Flash的需求空间有望增长。
- 技术对比:与NAND Flash相比,NOR Flash的主要优势在于其快速的读取速度和直接执行代码的能力。然而,NAND Flash则在写入和擦除速度以及成本效益方面更具优势,适用于大量数据的存储。
总的来说,NOR Flash虽然在某些应用领域受到NAND Flash的竞争,但它在代码存储和预设信息存储方面仍然占有一席之地,特别是在需要快速读取和执行代码的场景中。
4.1.1 Serial NOR FLASH
Serial NOR Flash,通常被称为SPI NOR Flash,是一种通过串行外设接口(SPI)进行通信的非易失性存储器。与传统的并行NOR Flash相比,它具有以下特点和优势:
- 接口简单:Serial NOR Flash通过SPI进行通信,这意味着它只需要少量的引脚即可与微控制器或其他电子设备通信。常见的SPI通信需要四条线,包括时钟线(SCLK)、数据线(SI/DI、SO/DO)和片选线(#CS或#CE)。
- 硬件兼容性:由于采用串行接口,不同容量的Serial NOR Flash在硬件上是兼容的,这使得设计师可以在不同的产品设计中使用同一种接口,简化了硬件设计和库存管理。
- 体积小巧:相比于并行NOR Flash,SPI NOR Flash的封装更小,占用的电路板空间更少,这对于空间受限的应用来说是一个显著的优势。
- 成本效益:尽管Serial NOR Flash的成本可能高于并行NOR Flash,但它提供了更好的性价比,尤其是在考虑到节省的PCB空间和简化的设计时。
- 应用领域:Serial NOR Flash主要用于存储固件、设备配置数据或任何需要在设备断电后保持不变的信息。它在许多嵌入式系统、消费电子产品和工业应用中得到广泛应用。
- 性能考虑:虽然Serial NOR Flash的读取速度可能不如并行NOR Flash快,但它的性能对于大多数应用来说是足够的。同时,它的写入和擦除速度也比并行NOR Flash要快。
总的来说,Serial NOR Flash(SPI NOR Flash)以其简单的接口、硬件兼容性、小巧的体积和成本效益等优势,在非易失性存储解决方案中占有一席之地。
4.1.2 Parallel NOR FLASH
Parallel NOR Flash是一种与CPU通过并行接口连接的非易失性存储器,它能够直接映射到CPU地址空间,使得存储内容可以直接被CPU访问,无需先拷贝到RAM中。
Parallel NOR Flash的特点包括:
- 直接执行:由于Parallel NOR Flash可以映射到CPU地址空间,它可以支持片上执行(XIP, eXecute In Place),这意味着存储在NOR Flash中的代码可以直接被CPU执行,而不需要先加载到RAM中。
- 高容量:Parallel NOR Flash主要占据的是高容量NOR市场(128Mb以上),适合需要存储大量数据的应用场合。
- CFI接口标准:大多数生产Parallel NOR Flash的厂商都兼容CFI(Common Flash Interface)接口标准,这为软件驱动的开发带来了便利。
- 引脚数量:与Serial NOR Flash相比,Parallel NOR Flash需要更多的引脚来完成数据传输,这是因为它采用并行方式与CPU通信。
- 应用范围:Parallel NOR Flash通常用于嵌入式系统、代码存储和固件存储等场景,尤其是在对执行速度要求较高的应用中。
总的来说,Parallel NOR Flash因其高速的读取性能和直接执行的能力,在需要快速启动和执行代码的应用场景中非常受欢迎。尽管随着技术的发展,Serial NOR Flash在某些领域逐渐占据优势,但Parallel NOR Flash仍然在高容量存储需求的应用中保持其重要地位。
4.2 NAND FLASH
在讨论存储技术时,通常会提到NAND Flash和NOR Flash这两种类型的闪存。以下是关于这两种闪存的一些详细信息:
- NAND Flash:NAND Flash是一种非线性宏单元模式的存储器,它提供了一种廉价有效的解决方案,用于实现固态大容量内存。NAND Flash的特点是具有较大的容量和较快的改写速度,适用于大量数据的存储,因此在U盘、MP3以及固态硬盘等设备中广泛应用。
- NOR Flash:NOR Flash则以其高速读取能力和直接执行代码的特性而著称,适合存储少量数据,如启动代码、固件等。NOR Flash的内容可以直接映射到CPU地址空间,使得存储内容可以直接被CPU访问,无需先拷贝到RAM中。
总的来说,NAND和NOR是闪存技术的两种主要形式,它们各自有不同的特点和适用场景。在提及AND FLASH时,可能是对NAND Flash的误称。
4.3 NOR FLASH和NAND FLASH对比
特性 | NOR Flash | NAND Flash |
---|---|---|
读取速度 | 快 | 慢 |
写入/擦除速度 | 慢 | 快 |
容量范围 | 小(通常几十KB到几MB) | 大(通常几十MB到几GB甚至更高) |
接口类型 | 并行(也有串行版本) | 串行 |
直接执行 | 可以 | 不可以 |
成本 | 高(相对于NAND) | 低(相对于NOR) |
用途 | 存储固件、启动代码等小量数据 | 存储大量数据如文件、音乐、视频等 |
可靠性 | 高 | 相对较低 |
寿命 | 长(更多的擦写次数) | 相对较短(擦写次数较少) |
随机访问 | 支持 | 不支持(需要按页访问) |
典型应用 | BIOS更新、嵌入式系统固件等 | 固态硬盘、U盘、SD卡、智能手机存储等 |
5. NAND FLASH常见存储器
5.1 EMMC
eMMC(Embedded Multi Media Card)是一种针对移动设备如手机和平板电脑设计的嵌入式存储解决方案。以下是eMMC的一些关键信息:
- 结构:eMMC在单一芯片上集成了NAND Flash内存和控制器,提供一种完整的存储解决方案。这种集成化设计简化了制造过程,因为它减少了额外组件的需求,并允许制造商更快地推出产品。
- 性能:eMMC的接口速度可以达到每秒52MBytes(1.0版本),而随着技术的发展,更高版本的eMMC提供了更快的数据传输速率。eMMC的一个明显优势是其集成控制器,它管理闪存并提供标准接口。
- 应用:由于其紧凑的尺寸和高容量,eMMC被广泛应用于移动设备,如智能手机和平板电脑。它也适用于其他需要紧凑、可靠和非易失性存储的电子设备。
- 优点:eMMC的主要优点是易于集成和快速上市时间。它还通过减少组件数量来帮助降低系统总体成本。此外,eMMC提供了可靠的存储解决方案,因其内置的错误校正功能而增强了数据完整性。
- 发展趋势:虽然eMMC是目前许多设备的常用存储形式,但随着技术的进步,新的存储标准如UFS(Universal Flash Storage)开始出现,提供更高的性能和效率。例如,UFS 2.0具有比eMMC 5.0更快的读取性能。
总的来说,eMMC为移动和嵌入式设备提供了一个成本效益高、集成度高的存储解决方案,尽管随着新技术的出现,它可能会逐渐被更先进的存储技术所取代。
5.2 SSD
固态硬盘(SSD)是一种基于固态存储芯片阵列的数据存储设备,以其快速访问时间和高可靠性而广受欢迎。
首先,与传统的机械硬盘(HDD)相比,SSD没有移动部件,因此能够提供更快的数据访问速度和更高的抗震性。这使得它们特别适合用于笔记本电脑、桌面电脑以及需要快速数据访问的各种应用场合。
其次,从技术角度来看,SSD由控制单元、存储单元和缓存芯片组成。控制单元负责管理和处理数据,存储单元则是实际存储数据的闪存芯片,而缓存芯片则用来临时存放常用数据以提高访问速度。
再者,在分类上,SSD可以根据颗粒类型、接口形式等不同标准进行分类。例如,根据使用的闪存类型,常见的有SLC(单层单元)、MLC(多层单元)、TLC(三层单元)和QLC(四层单元)等。不同类型的闪存颗粒在性能、寿命和价格上各有差异。
此外,在性能方面,SSD通常具有比HDD更快的读写速度,尤其是随机访问能力更强。在寿命方面,SSD的预期使用寿命通常比HDD长,因为它们没有机械磨损的问题。然而,SSD的价格通常高于HDD,尤其是在大容量产品上。
最后,在应用领域上,除了在个人计算机中作为主要存储设备外,SSD还广泛应用于军事、车载、工控、电力和医疗等领域,这些领域往往对数据的可靠性和访问速度有更高的要求。
总的来说,了解SSD的基本概念和特点对于选择和使用存储设备非常重要,尤其是在当今数据密集型的应用环境中。
5.3 SD卡
SD卡(Secure Digital Memory Card)是一种非常常见的存储设备,广泛应用于数码相机、笔记本电脑、个人电脑和许多其他电子设备中。以下是对SD卡的详细介绍:
- 类型与分类:
- SD卡有不同的规格,如标准SD卡、Mini SD卡和Micro SD卡(又称TF卡),它们在尺寸和形状上有所不同。
- Micro SD卡可以通过转接卡转换为标准SD卡使用,使得它可以在支持标准SD卡的设备上工作。
- 性能参数:
- 读写速度是衡量SD卡性能的重要指标,高速的SD卡能够更快地传输数据,特别适合需要快速写入大量数据的应用场景。
- 容量是另一个重要参数,它决定了SD卡可以存储的数据量。随着技术的发展,SD卡的容量不断增加,目前市面上已有数TB容量的SD卡。
- 应用场景:
- SD卡被广泛用于手机、相机、行车记录仪、安防监控等设备,它们的便携性和大容量存储能力使其成为这些设备的理想存储介质。
- 选购建议:
- 在选择SD卡时,应根据设备的兼容性、所需的存储容量以及预算来决定。不同品牌和型号的SD卡在性能和价格上可能有很大差异。
- 购买时还应考虑SD卡的品质和保修服务,选择信誉良好的品牌和正规渠道购买,以确保数据的安全和产品的质量。
总的来说,了解SD卡的基本知识和选购技巧对于选择合适的存储解决方案非常重要。
5.4 U盘
U盘是一种便携式存储设备,以其小巧的体积和即插即用的特点而广受欢迎。以下是对U盘的详细介绍:
- 技术特点:
- U盘利用的是闪存技术,因此有时也被称为闪盘。
- 它可以在没有物理驱动器的情况下工作,用户只需将其插入电脑的USB端口即可使用。
- U盘的存储容量远超传统的软盘,且便于携带,这使得它成为数据传输和存储的理想选择。
- 选购要点:
- 在选择U盘时,应考虑其接口类型(如USB 2.0、USB 3.0等)、主控芯片、闪存类型、传输速度和存储容量等因素。
- 不同品牌的U盘在速度、价格和稳定性方面会有所不同,如闪迪、金士顿、三星、雷克沙等都是市面上知名的品牌。
- 使用建议:
- 在购买U盘时,可以参考专业的评测和用户评价,以便选择性价比高的产品。
- 为了避免购买到假冒伪劣的产品,建议通过正规渠道购买,并注意检查产品的包装和质保信息。
- 使用U盘时,应注意定期备份数据,以防数据丢失或损坏。
总的来说,U盘作为一种便捷的数据存储和传输工具,已经成为日常生活中不可或缺的一部分。了解其特性和正确的选购使用方法,能够帮助我们更好地利用这一技术产品。