非易失性存储器是主导闪存发展的关键技术
来源:电子发烧友 作者:—— 时间:2012-07-26 11:47
闪存技术
闪存实现方案可以分成NAND和NOR方案,不同的供应商提供的方案各有不同。他们一般采用浮栅晶体管。这两种技术都表明了晶体管是如何连接和使用的,而不是将晶体管作为数字逻辑的一部分与FPGA或定制逻辑整合在一起。
NOR闪存晶体管接地和位线,这样就可以访问单个位。与NAND闪存相比,它具有更好的耐写性能。NOR闪存一般用在有代码和数据的应用中。带片上闪存的微控制器一般都会整合NOR闪存。
NAND闪存晶体管一般是成组连接至字线。这就可以实现比NOR闪存更高的密度。NAND闪存一般用于面向块的数据存储器。从晶体管的角度来看,NAND闪存不如NOR闪存可靠,因此NAND存储平台就需要使用错误检测和校正硬件或软件。NAND闪存一般用于高容量数据存储。
闪存使用擦写周期。擦除本质上是将闪存设置为1。写入则是将位设置为0,只要现有的1被改为0,就可以写入不同的数据。由于允许在没有长时间的耗电擦除周期的情况下执行操作,因此闪存文件系统可以充分利用这种特性。NAND闪存一般工作在块级别,而NOR可访问更加精细的级别。
闪存从单级单元(SLC)数据编码开始,每个存储晶体管对1或0进行编码。多级单元(MLC)闪存一般是指每单元存储2位(而不是1位)信息的能力。在晶体管级,所有的信息都是模拟的,不过与构建MLC闪存所需要的四级检测电路相比,构建一个两级检测电路更加简单。
同样,对MLC单元进行编程需要有产生四个不同级的能力。三级单元(TLC)闪存则更进了一步,这种闪存将3位或八级装入单个存储单元中,比如美光(Micron)公司的3位34nm NAND闪存芯片。
MLC或TLC存储器的明显优势是密度更高。其通常会在性能上作出折衷,尤其是耐写性能方面。
典型的SLC NAND闪存的可写次数为10万次,而SLC NOR闪存的可写次数为100万次。MLC闪存的可写次数则仅为上述次数的10分之一,TLC闪存的可写次数则更少。随着技术的进步,这些可写次数在不断地增加。SLC具有更好的耐写性能,而MLC和TLC的成本效益将更高。
闪存系统的使用寿命取决于多重因素,包括其托管方式。如果一个区域出现耗损时(即出现写入失败,无法保存正确的信息的情况时),非托管型闪存就会出现问题。错误检测系统有助于确定何时出现这种情况,不过一旦出现这种情况,设备一般也毫无用处了。更糟糕的是,其失效可能会导致相当多的问题。这也就是为什么带有内置闪存(无法跟踪耗损情况)的微控制器等器件依赖于可写次数较高的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还规定了芯片级外形尺寸,不过闪存可采用的外形尺寸相当多。
上一篇:编码器工作原理、作用及其分类简介