非易失性存储器主导闪存发展的关键技术
确定何时出现这种情况,不过一旦出现这种情况,设备一般也毫无用处了。更糟糕的是,其失效可能会导致相当多的问题。这也就是为什么带有内置闪存(无法跟踪耗损情况)的微控制器等器件依赖于可写次数较高的NOR闪存的原因。
有多种方法可以用来提高总系统寿命,比如耗损均衡。这种方法需要重新映射信息位置的能力。该方法对于面向块的器件最有效,尽管它可以应用到块大小的单个字中。实现耗损均衡会引起开销,因此块尺寸较大的话,效率就会更高。
耗损均衡可将写入操作分布在存储设备中。系统的使用寿命可以视为系统的总写入容量,而不是单个块的最大值。耗损均衡需要跟踪块写入使用情况以及记录和利用该信息的能力。如果出现缺陷的话,块的使用寿命往往会缩短至不到其建议的写入寿命。
在这种情况下,如果存储器被超额配置的话,则可以使用重新映射机制。额外的块或扇区在硬盘驱动器上很常见,对闪存可以采用同样的方法。唯一的区别是,如果在规则的块中检测到不可校正的错误,那么就会使用额外的块。
使用耗损均衡之后,所有的块往往就都是存储池的一部分。如果系统是以软件方式实现的,也可以根据系统所需的使用寿命来选择逻辑设备尺寸。逻辑尺寸越小,出现的“额外”块越多。
像FRAM、MRAM和PCM等其他一些技术不会出现与闪存一样的耐写能力问题。但是仍然可以使用诸如存储器过度配置和重新映射等技术,特别是在硬件缺陷等其他错误可能比较常见的大型设备中。
闪存软件和控制器
对闪存的受控访问使软件可以忽略从擦除要求到耐写能力等一系列支持闪存的问题。在哪里以及以何种方式实现这种控制差别很大。
闪存文件系统是开发人员处理原始闪存的一种方法。这些系统是可访问闪存芯片接口的设备驱动器。明显地,相对于操作系统和应用而言,驱动器处理所有的闪存常规工作,如错误检测、耗损均衡和坏块重新映射。它可以将部分闪存用于内部表,并负责说明闪存擦除和写入特性。
驱动器可以提供一定的文件和目录管理功能,或者只代表一个低级逻辑块器件。这两种方法有各自的优势,需根据具体的应用环境来选择。
采用硬件方案时,一般会提供块级接口。由于软件方案一般无法提供硬件加速,因此硬件方案还可以整合更具鲁棒性的纠错和映射系统。早期阶段出现过众多闪存控制器公司,不过现在它们都已经被致力于提供集成度更高的方案的闪存公司收购了。
将闪存放在硬件控制器后面可以起很大的作用。比如,它可以简化设备接口、提供诸如降低功耗(包括各种休眠模式)等更加先进的功能,并实现混合存储系统。
混合系统可在同一封装中整合不同类型的存储器。这种方法可以通过在混合系统中增加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一次读取存储器中的一个指令。
串行存储器是
- 基于X24C45芯片的非易失性数据存储设计(10-01)
- 铁电存储器及其在电表存储中的应用(06-28)
- flash接口电路的实现(07-18)
- 基于AT89S52汉字多方式显示屏的设计(01-06)
- 3D集成电路将如何同时实现?(04-09)
- 快速创建存储器接口的设计(10-22)