非易失性存储器主导闪存发展的关键技术
在闪存中使用硬件控制器还可以让设计人员在混合系统中增加安全和加密等其他功能。硬件加速也可以从这些功能中受益。
将闪存接口标准化一定会简化系统设计人员的工作。开放NAND闪存接口(ONFI)工作组一直在致力于这方面的工作,他们于2011年发布了OFNI 3.0规范。该规范旨在提供400Mtransfers/s的传输速度和双数据速率(DDR)传输。其切换模式2.0可选地采用差分信令。此外,OFNI还规定了芯片级外形尺寸,不过闪存可采用的外形尺寸相当多。
闪存的尺寸
小型串行闪存设备的外形尺寸差异相当大。有支持一级(1Wire)协议的三引脚设备以及支持I2C和SPI的各种设备。四SPI(QSPI) NVM设备可将传输的位数增加四分之一,甚至还有微控制器,这类设备可以直接从像恩智浦半导体(NXP)公司的LPC1800系列这样的QSPI串行存储器中执行程序。
将程序保存在串行闪存中是相当常见的。大多数PC都将其BIOS保存在串行闪存中。芯片引导装载程序将该程序复制到执行该程序的RAM中。NXP公司的LPC1800一次读取存储器中的一个指令。
串行存储器是FRAM和MRAM等其他技术应用的首个用武之地之一。串行存储器一般包含温度传感器和实时时钟(RTC)等其他子系统。有些RTC甚至利用串行存储器保存时间戳信息。
具有JEDEC e-MMC(嵌入式多媒体卡)外形尺寸的芯片(比如San-Disk的iNAND)采用与可移动七引脚MMC外形尺寸相同的串行接口。对于开发人员来讲,其优势在于他们可以对固定存储器和移动存储器使用同样的接口。
该七引脚MMC设备可插入与九引脚SD和九引脚SDIO设备相同的插槽中,因此I/O设备可以置于该卡上。SD与MMC具有相同的引脚分布,其外沿附近增加了两个额外的引脚。MMC接口本质上是SPI接口,SD为QSPI接口。11引脚miniSD卡和八引脚microSD卡都采用相同类型的接口,只不过封装更小。这些串行设备的传输速率为832Mbps。
移动闪存也采用USB、SATA和SAS接口。SAS往往只用于驱动器上,而SATA则用于具有磁盘驱动器外形尺寸的闪存驱动器以及像Viking Technology公司的SATA Cube 3这样的嵌入式设备中。SATA Cube 3是一堆带闪存和控制器的电路板。电路板越多,表明存储容量越大。
板上SATA设备还包含mSATA和Slim SATA模块等标准。相比与SD卡等介质配合使用的SPI/QSPI 接口,SATA接口可以提供高相当多的吞吐能力。大型SATA闪存一般用于1.8、2.5和3.5英寸的硬盘驱动器外形尺寸中。
基于IDE的微型闪存仍是许多嵌入式母板上的常见功能部件。随着微控制器从IDE和PCI转换到SATA和PCI Express,这种情况正在发生变化。虽然摄像机往往采用SD卡,不过仍有许多移动设备(比如数码摄像机)使用微型闪存。
USB闪存驱动器已经有效地替代了CD、DVD和软盘。与现在的平均容量相比,首款USB 1.x闪存驱动器的存储容量相当小。如今的高端平台的规模相当大,并且采用USB 3.0总线标准。
容量和速度并不是随着USB闪存驱动器的发展而变化的唯一指标。增加的功能(特别是安全领域中)更为普遍。比如,Apricorn公司的Aegis安全密钥带一个内置键盘,可用来输入安全代码,阻止按键记录病毒捕获代码。它可以用在任何操作系统上。
大多数与安全相关的其他解决方案都采用在主机上运行并使用主机输入所有解码密钥的设备驱动器或者应用程序。Aegis安全密钥具有管理员和用户密码。这些功能可用来对加密和解密保存在闪存中的数据的密钥进行解码。
USB闪存驱动器一般用于便携设备中,不过它们也广泛地用在嵌入式设备中。许多母板都有一个内部A型连接器。大多数母板只有背板上有A型连接器。有些设备(像Eurotech公司的Helios Edge控制器)仅有用于闪存的USB接口和外设接口(请参见“Eurotech公司的Helios Edge控制器的实地操作评估”一文)。
USB头在母板上也很常见。它们用于通过线缆和背板连接的额外外部USB接口,还可以用于USB存储器中,比如Swissbit公司的USB存储器(图6)。Swissbit USB闪存模块可插入大多数母板的标准九引脚USB头中。母板上不一定总是使用安装孔,但是当板可以用螺栓固定到母板上时,安装孔确实可以提供稳固的解决方案。
像mSATA和Swissbit公司的USB闪存模块这样的模块并不是基于板的唯一闪存方案。闪存还可用于双列直插内存模块(DIMM)和小外形DIMM (SODIMM)外形尺寸,不过与DRAM一样,仅使用闪存的解决方案没有标准。
另一方面,有些方案(比如Viking Technology公司的ArxCis-NV)将DRAM与闪存整合在一起。闪存作为备份,用于在断电时保存DRAM的内容。超级电容器足以执行复制操作。
使用这些混合存储器的难题在于软件需要考虑非易失性。过去,具有磁芯存储器的计算机可以在不重装操作系统或应用程序的情况下关断和导通。这可以节省相当长的时间,对于嵌入式应用来讲非常方便。
现在,主要存储器一般是DRAM。关断系统后,这种存储器中的内容就会丢失,因此默认的恢复过程就会重启系统。与这些已经保存了DRAM先前内容的非易失性解决方案不同的是,保存在闪存中的引导程序不会丢失。
大多数这类混合解决方案的目标应用都是企业系统,不过由于它们采用标准DIMM插座,并且看起来像系统硬件的标准DDR2或DDR3 DRAM,因此这些混合方案可以轻松地整合到嵌入式应用中。
昙花一现的PCI Express
带宽是闪存可以使用的,不过诸如USB和SATA等诸多接口都受限于无法充分利用闪存的速度。PCI Express是加快数据移动的一种方法。
非易失性内存主机控制器接口(NVMHCI)工作组开发了NVM Express标准,并管理着该标准,该标准可以提供非易失性存储器(在这里基本上是指闪存)的接口。
SCSI Express是另一个正在准备阶段的标准,该标准可将闪存直接应用到PCI Express接口中。这两个标准的区别在于接口是SCSI适配器。SAS采用SCSI命令集,因此它可以有效地定义标准SAS接口。而传统的SAS控制器需要其各自的供应商提供的设备驱动程序。
串行ATA 组织的SATA Express标准是一个类似的标准,不过该标准可以提供SATA接口。与SCSI Express一样,SATA Express可以同样轻松地通过接口实现硬盘存储器和闪存。
NVM Express和SCSI Express标准都用于企业。支持热插拔的板和驱动标准融合在一起。随着这些平台的日益普及,它们可能会在嵌入式系统中找到用武之地。由于这些平台可以提供位于处理和网络硬件所在的板上的高速解决方案,因此它们适合用于嵌入式应用。
标准组织
上文已经提到了大多数与闪存相关的重要组织,比如JEDEC、ONFI工作组和NVMHCI工作组。SD协会负责移动存储器的SD卡系列。同样,CompactFlash协会负责管理CompactFlash标准。T10则负责管理SCSI和SCSI Express标准。串行ATA组织负责管理SATA Express标准。
晶体管相关文章:晶体管工作原理
超级电容器相关文章:超级电容器原理
存储器相关文章:存储器原理
晶体管相关文章:晶体管原理
评论