如何为系统选择合适的NAND FLASH
在设计使用NAND FLASH的系统时选择适当的特性平衡非常重要。闪存控制器还必须足够灵活以进行适当的权衡。选择正确的闪存控制器对于确保闪存满足产品要求至关重要。
NAND FLASH是一种大众化的非易失性存储器,主要是因为小型,低功耗且坚固耐用。尽管此技术适合现代存储,但在将其列入较大系统的一部分时,需要考虑许多重要特性。这些特性适用于所有类型的存储,包括耐用性和密度以及性能,每千兆字节价格,错误概率和数据保留。
闪存概述
闪存单元由修改的场效应晶体管(FET)组成,在控制栅极和通道之间的绝缘层中具有额外的“浮置”栅极。通过施加高压将电荷注入到浮栅上(或从浮栅上去除)。这会改变打开晶体管所需的栅极电压,该电压代表存储在单元中的值。这些单元的阵列构成一个块,整个存储器由多个块组成。
由于浮栅完全被绝缘层包围,因此即使断电,也会保留存储的数据。
NAND FLASH单元图(在HyperstoneYoutube频道上有详细说明)
闪存阵列的简化图。黄色框突出显示die,浅灰色为plane,深蓝色为块,浅蓝色框则为page。该图仅用于可视化层次结构,而不能按比例绘制。(HyperstoneYoutube频道有更加详细说明)
NAND FLASH的关键挑战是管理使用可用页面写入数据的方式。在将新数据写入页面之前,必须先擦除该页面。但是,只能擦除包含许多页面而不是单个页面的整个块。此过程很复杂,由单独的设备(称为闪存控制器)进行管理。控制器需要做大量工作才能最有效地利用闪存:管理数据的存储位置和块的重复使用方式。
闪存编程和耐久性
每次对单元进行编程和擦除时,浮栅下的绝缘层都会受到轻微损坏,从而影响存储单元的可靠性。每个单元具备有限的保证编程擦除周期数量,这被称为持久性。这种耐久性可有效测定存储器的寿命。凭借闪存控制器,可以通过仔细管理块的使用方式,达到最大限度化提高有限的耐用性,以确保它们均被平等地使用。这是由闪存应用的一种技术,称为损耗平衡。尽可能减少开销量也很重要,从而达到写入放大。
内存的寿命也可以通过预留空间来延长,这会减少用户可见的内存并增加备用内存。额外的容量在应用损耗均衡时提供更多灵活性,因为冗余容许有些块无法用超出容量的块来取代。但是由于增加冗余块会降低有效存储容量,因此反过来会增加每位的有效成本。
增加存储密度
选择存储技术时,考虑的主因之一是管理每GB的成本。硅芯片的制造成本几乎完全取决于面积,而不是功能。因此可以通过提供特定容量所需的面积来降低每GB闪存的成本。最可行的办法是通过转往更小的制造工艺来减小存储单元的尺寸。但是闪存的物理性质限制了这种缩放比例,因此闪存供应商已转向其他方法来提高密度。
第一步是在每个存储单元中存储两位而不是一个位。这就是所谓的多级单元(MLC)闪存。从那时起就已经制造出在三级单元(TLC) 中存储三位并且在四级单元(QLC)中存储四位的闪存。内存的原始类型现在称为单级单元(SLC)。