主导闪存发展的关键技术
时间:04-21
来源:互联网
点击:
闪存软件和控制器
对闪存的受控访问使软件可以忽略从擦除要求到耐写能力等一系列支持闪存的问题。在哪里以及以何种方式实现这种控制差别很大。
闪存文件系统是开发人员处理原始闪存的一种方法。这些系统是可访问闪存芯片接口的设备驱动器。明显地,相对于操作系统和应用而言,驱动器处理所有的闪存常规工作,如错误检测、耗损均衡和坏块重新映射。它可以将部分闪存用于内部表,并负责说明闪存擦除和写入特性。
驱动器可以提供一定的文件和目录管理功能,或者只代表一个低级逻辑块器件。这两种方法有各自的优势,需根据具体的应用环境来选择。
采用硬件方案时,一般会提供块级接口。由于软件方案一般无法提供硬件加速,因此硬件方案还可以整合更具鲁棒性的纠错和映射系统。早期阶段出现过众多闪存控制器公司,不过现在它们都已经被致力于提供集成度更高的方案的闪存公司收购了。
将闪存放在硬件控制器后面可以起很大的作用。比如,它可以简化设备接口、提供诸如降低功耗(包括各种休眠模式)等更加先进的功能,并实现混合存储系统。
混合系统可在同一封装中整合不同类型的存储器。这种方法可以通过在混合系统中增加RAM,从而使NAND闪存等块设备能够在比特级或文字级进行访问。三星(Samsung)的OneNAND将SRAM与其NAND闪存控制器整合在一起。该方案可使系统用作程序存储器,并根据需要在SRAM中对块设备进行缓存。
此外,RAM的速度也比闪存快,特别是写入速度方面。它也不受闪存耐写能力限制的影响。并且RAM不受块访问的限制。作为一般缓存系统使用时,混合系统兼具闪存和RAM的诸多优势。由于在这类设计中闪存往往比RAM更多,因此必要时数据需从RAM中转入闪存中。
希捷公司(Seagate)推出的Momentus XT硬盘驱动器表明,混合系统可以变得更加复杂。该存储系统整合了三种存储器:DRAM、SLC闪存和旋转磁性存储器。它具有SATA接口,因此除了闪存和硬盘驱动器控制器之外,还有一个SATA控制器。这对于用户来讲完全是透明的。
在闪存中使用硬件控制器还可以让设计人员在混合系统中增加安全和加密等其他功能。硬件加速也可以从这些功能中受益。
将闪存接口标准化一定会简化系统设计人员的工作。开放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,因此这些混合方案可以轻松地整合到嵌入式应用中。
对闪存的受控访问使软件可以忽略从擦除要求到耐写能力等一系列支持闪存的问题。在哪里以及以何种方式实现这种控制差别很大。
闪存文件系统是开发人员处理原始闪存的一种方法。这些系统是可访问闪存芯片接口的设备驱动器。明显地,相对于操作系统和应用而言,驱动器处理所有的闪存常规工作,如错误检测、耗损均衡和坏块重新映射。它可以将部分闪存用于内部表,并负责说明闪存擦除和写入特性。
驱动器可以提供一定的文件和目录管理功能,或者只代表一个低级逻辑块器件。这两种方法有各自的优势,需根据具体的应用环境来选择。
采用硬件方案时,一般会提供块级接口。由于软件方案一般无法提供硬件加速,因此硬件方案还可以整合更具鲁棒性的纠错和映射系统。早期阶段出现过众多闪存控制器公司,不过现在它们都已经被致力于提供集成度更高的方案的闪存公司收购了。
将闪存放在硬件控制器后面可以起很大的作用。比如,它可以简化设备接口、提供诸如降低功耗(包括各种休眠模式)等更加先进的功能,并实现混合存储系统。
混合系统可在同一封装中整合不同类型的存储器。这种方法可以通过在混合系统中增加RAM,从而使NAND闪存等块设备能够在比特级或文字级进行访问。三星(Samsung)的OneNAND将SRAM与其NAND闪存控制器整合在一起。该方案可使系统用作程序存储器,并根据需要在SRAM中对块设备进行缓存。
此外,RAM的速度也比闪存快,特别是写入速度方面。它也不受闪存耐写能力限制的影响。并且RAM不受块访问的限制。作为一般缓存系统使用时,混合系统兼具闪存和RAM的诸多优势。由于在这类设计中闪存往往比RAM更多,因此必要时数据需从RAM中转入闪存中。
希捷公司(Seagate)推出的Momentus XT硬盘驱动器表明,混合系统可以变得更加复杂。该存储系统整合了三种存储器:DRAM、SLC闪存和旋转磁性存储器。它具有SATA接口,因此除了闪存和硬盘驱动器控制器之外,还有一个SATA控制器。这对于用户来讲完全是透明的。
在闪存中使用硬件控制器还可以让设计人员在混合系统中增加安全和加密等其他功能。硬件加速也可以从这些功能中受益。
将闪存接口标准化一定会简化系统设计人员的工作。开放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,因此这些混合方案可以轻松地整合到嵌入式应用中。
CMOS 仿真 电压 德州仪器 MSP430 FPGA 电路 恩智浦 半导体 NXP 传感器 嵌入式 USB 总线 连接器 电容 电子 相关文章:
- 适用于消费性市场的nano FPGA技术(09-27)
- Virtex-5推动超宽带通信和测距的发展(01-06)
- FPGA中嵌入式存储器模块的设计(03-28)
- 基于FPGA的高速图像采集系统设计(03-30)
- 利用FPGA和CPLD数字逻辑实现ADC(06-04)
- FPGA控制CLC5958型A/D转换器高速PCI采集(06-08)