NAND闪存控制器的重要性

2018-02-01 14:00:58 来源: 老杳吧
NAND闪存的固态硬盘(SSD)正逐渐取代许多应用产品所使用的传统硬盘驱动器(HDD),尤其是便携式和消费类设备。 由于其强大的性能,固态硬盘也已进军企业储存领域和工业应用,同样由于其坚固性(robustness),也得以进军工业应用领域。 闪存在系统中扮演至关重要的角色,其中的控制器扮演着主机和闪存设备间的物理接口,有效利用闪存提供所需的可靠性和性能 。

控制器架构

图1所示为一个典型闪存控制器的简单架构,其中包括三个主要的部分:NAND闪存的接口,主机系统的接口,以及执行所有功能管理的中央处理器。 ROM只提供初始引导 (bootstrap)代码,控制器的韧体储存在闪存中,以便于更新升级。 选择使用何种CPU是决定控制器性能、功能和功耗的关键。



图1 : 一个闪存控制器的通常架构
主机和闪存接口包含用于读写数据的缓冲区,由于主机和闪存采用的速度和数据大小不同,而且主机上的数据在写入之前可能需要重新组织,因而缓冲区是必需的。 控制器应该能够直接交互存取多个闪存,以达到所需的读写速度。

为达到要求的性能、可靠性和使用寿命,控制器必须能够管理闪存的许多特性。

地址转换和映像

主机通常会将基于文件系统的区域大小及使用「逻辑区块地址」以组块、区块为单位写入闪存。 控制器必须管理这些数据传输到闪存储存器的页面和区块,并追?主机的逻辑地址和闪存物理地址之间的映像,如图2所示。 出于速度考虑,数据映像将保留在RAM中,但需要储存到闪存,以便在断电时能够得以保存。



图2 : 基本的基于区块的地址映像
所使用的映像类型和更新方法将决定性能和稳固性,例如电源意外中断的情况。

纠错码

与所有储存设备一样,数据读取时可能会出现错误。 这些可能是由辐射引起的错误,或者是附近的单元被读取或编程时储存值受干扰引起的暂时故障,或是编程单元时的失效。 使用闪存时,由于闪存单元的编程/擦除周期受限,这些错误随着时间的推移会变得更加频繁。

为此,控制器使用纠错码(ECC)来检测和纠正错误。 意味着当数据写入闪存时,会额外写入包含ECC的位。 为了检查错误,当读取数据时,ECC会被重新计算,并且与储存的值进行比较。 一般情况下,此举可校正单一位的错误,也可检测多位的错误。 重复的故障可能表示坏块(bad block)或受损区块。 控制器需要追?受损区块,以免再次使用它们。

因此,高质量ECC的实施是确保Flash储存器中数据完整性的关键。 可使用的ECC类型很多,这些都包括非常复杂的数学函数,可以在校正速度和质量硬件要求和处理性能方面提供不同的权衡。 ECC的选择需要与闪存的特性相匹配,例如原始位的错误率和错误率分布等。 好的控制器需要认真考虑这些因素,并有足够的处理能力来实现最佳的ECC算法

磨损平衡

为达大幅减少闪存单元在编程/擦除耐久性方面受限的影响,并延长闪存的使用寿命极限,控制器使用磨损平衡(wear levelling)算法来确保所有区块的均匀使用。 这意味着控制器在写入数据时必须从未使用的区块中选择使用最少的页面。 此外,有几种方法可以在有效性和处理性能之间进行不同的取舍。

闪存的一个特点是数据只能写入已擦除的页面。 因此,如果随机写入小于一页的数据区块,则现有页中的数据可能需要被重新定位到新的已擦除页面。 这是造成写入量扩增的主要原因之一,意即实际写入闪存的量要比主机要求的还多。 控制器必须确保数据重新定位期间的数据完整性,并需要更新逻辑地址映像。

由于数据是以页的形式写入,但却只能由多个页面组成的区块进行擦除,因此控制器将必须进行垃圾收集(garbage collection)。 这意味着需要复制数据将已使用的页面整合到区块,以便释放可被擦除并重新使用的空白区块。 垃圾收集的时间和频率需要进行管理,以减少对主机系统性能的影响,并需确保断电时数据不会遗失。

控制器可以利用闪存中超量配置的区块,使得损坏的区块不会降低闪存的可用容量或寿命。 可用的备用区块也能够提高垃圾收集和随机写入的性能。

半导体可靠性

系统可靠性的一个重要因素是控制器本身的质量。 首先,透过严格的设计和测试流程可以确保在特定的环境中设备作业的可靠性。 此外,由于半导体对辐射的敏感性,所选择的封装受到α粒子的影响须达到最小化至关重要。 同样地,封装和互连材料在使用期间也需要耐受温度变化引起的应力。 生产测试使用加速老化的方法来确保设备能达到故障率和平均无故障时间(MTBF)的要求。

健康监测

与任何其他储存系统一样,闪存的使用寿命有限。 控制器可以监控和记录总体的擦除和编程周期次数、损坏区块和备用区块的数量、以及由ECC检测到的错误率等数据,并藉此向主机系统和用户提供闪存健康状态的相关信息。 如此可提前预警潜在的故障,以便在发生数据遗失风险前更换设备。 对于透过标准ATA接口连接的SSD设备,此类信息可经由自我监测、分析和报告技术(SMART)协议取得。

结论

藉由数据传输管理以及「隐藏」闪存储存技术原有的缺陷,控制器是实现可靠、基于闪存储存的关键组件。 要达到消费和企业等级,尤其是工业或嵌入式系统数据储存所需的性能、可靠性和使用寿命,高质量的控制器至关重要。

(本文由Hyperstone公司提供)























































文章来源:http://laoyaoba.com/ss6/html/90/n-661790.html

责任编辑:星野
半导体行业观察
摩尔芯闻

热门评论