MLC闪存颗粒:技术特性与应用解析

在数字存储领域,NAND闪存是固态硬盘(SSD)、U盘、SD卡等介质的核心。根据每个存储单元(Cell)存储的电荷数量,NAND闪存颗粒被分为不同的类型,其中MLC(Multi-Level Cell)是常见的一种。本文将围绕MLC颗粒,深入探讨其具体特性、应用场景、性能表现以及与其它类型的差异。

MLC颗粒是什么?

MLC是“Multi-Level Cell”的缩写,意为“多层单元”。具体来说,MLC NAND闪存的设计允许在每个物理存储单元中存储2个比特(bit)的数据。

与早期和更简单的SLC(Single-Level Cell,单层单元)闪存相比,SLC每个单元只存储1个比特。存储2个比特意味着每个MLC单元需要区分四种不同的电荷状态或电压水平来表示00、01、10、11这四种二进制组合。

这种多层存储方式显著提高了存储密度,即在相同物理尺寸的硅片上可以存储更多的数据,从而降低了单位存储容量的成本。

为何使用MLC颗粒?它的优势与劣势是什么?

MLC颗粒的出现是在高密度存储需求和成本之间寻求平衡的结果。选择使用MLC,通常是基于以下考虑:

优势:

  • 存储密度较高: 相较于SLC(1 bit/cell),MLC(2 bits/cell)将存储密度提高了一倍,使得单位容量成本大幅下降,更容易制造出大容量的存储产品。
  • 成本适中: MLC的制造成本低于SLC,但高于更后期的TLC和QLC,因此其产品定价通常介于SLC和TLC/QLC之间。
  • 性能相对较好: 虽然不如SLC快,但MLC在读写速度和随机访问性能上通常优于TLC(3 bits/cell)和QLC(4 bits/cell),尤其是在写入密集型任务中,其延迟相对较低,性能衰减也较慢。
  • 耐久性优于TLC/QLC: 闪存单元的耐久性以编程/擦除周期(P/E cycles)衡量。MLC的P/E循环次数通常比TLC和QLC要高,这意味着MLC存储设备可以承受更多的写入操作,寿命相对更长。典型的MLC颗粒可以达到3,000到10,000甚至更多P/E循环。

劣势:

  • 耐久性低于SLC: 由于需要更精确地控制和区分四种电压水平,MLC单元在每次写入和擦除操作时承受的“压力”比SLC更大,导致其P/E循环次数远低于SLC(SLC通常可达50,000到100,000 P/E cycles)。
  • 性能低于SLC: 区分四种电压状态需要更复杂的读写算法和更精确的控制,这会增加读写操作的时间和延迟,使得MLC的原始性能通常不如SLC。
  • 更容易产生错误: 更多的电荷状态使得单元对电压波动和干扰更敏感,原始误码率(Raw Bit Error Rate, RBER)高于SLC,需要更强大的错误校正码(ECC)来确保数据完整性。
  • 读写速度会随容量占用率和写入模式波动: MLC在执行写入操作时,特别是需要修改数据的场景(如写入新数据到一个非空白页),需要先擦除再编程,这个过程比SLC更复杂和耗时。虽然控制器会使用缓存等技术缓解,但在持续高负载写入下,性能波动可能较大。

MLC颗粒在闪存类型中处于一个平衡点:它提供了比SLC更高的容量和更低的成本,同时保持了比TLC和QLC更好的性能和耐久性。因此,它常常被用于对性能和可靠性有一定要求,但成本预算又不允许采用SLC的场景。

MLC颗粒常在哪里被使用?

基于其性能、耐久性和成本特性,MLC颗粒被广泛应用于多种存储产品中:

  • 消费级固态硬盘(SSD): 过去许多中高端甚至部分主流消费级SSD都采用MLC颗粒,以提供比TLC更好的性能和更长的寿命,满足对速度和可靠性有较高要求的用户(例如游戏玩家、内容创作者)。尽管近年来TLC和QLC通过技术进步(如3D NAND、更好的控制器、SLC缓存)占据了消费级市场的大部分份额,但在一些定位高端或强调耐久性的产品中,仍可能见到MLC的身影(特别是工业级或特定专业应用)。
  • 企业级固态硬盘(SSD): 在对写入耐久性、性能一致性和可靠性有严苛要求的企业级存储领域,MLC曾是主流选择之一,尤其是在读写混合型或写入密集型应用场景。虽然企业级市场现在也大量使用高度优化的TLC,但MLC因其固有的耐久性优势,在某些关键任务应用中仍有市场。
  • 高端U盘和SD卡: 对于需要频繁写入、追求高速传输和数据可靠性的高端U盘、相机SD卡或行车记录仪存储卡,部分产品会选用MLC颗粒以提供更长的使用寿命和更稳定的性能。
  • 工业级存储解决方案: 在需要承受恶劣环境、宽温范围或极高写入负载的工业控制、交通、军事、医疗等领域,MLC因其相对优秀的耐久性和可靠性而常被用于固态硬盘、CF卡、SD卡等存储模组。
  • 嵌入式存储: 部分对性能和寿命有要求的嵌入式系统存储也可能采用MLC。

MLC颗粒的读写性能和耐久性如何?

MLC颗粒的具体性能和耐久性数值会因制造商、制造工艺(2D NAND还是3D NAND)、制程节点(如2xnm、1xnm等)以及搭配的闪存控制器技术而有显著差异。

读写性能:

相对于SLC,MLC的原始读写速度较慢,特别是编程(写入)操作。这是因为写入MLC单元需要更精确地控制电压,可能涉及多次编程脉冲和验证过程。读取操作相对较快,但识别四种电压状态也比SLC识别两种状态更耗时。然而:

  • 实际产品性能依赖控制器: 现代SSD控制器会利用SRAM、DRAM缓存以及SLC缓存(将一部分MLC单元模拟成SLC模式,快速写入,再慢速整理到普通MLC区域)来显著提升突发写入性能。因此,实际测试中,MLC SSD的峰值性能通常很高。
  • 持续写入性能: 在SLC缓存耗尽后,持续写入性能会回落到MLC颗粒本身的真实速度,这通常仍然优于TLC和QLC在同样无缓存状态下的表现。
  • 随机读写: MLC在随机读写,特别是随机写入方面,延迟通常比TLC和QLC低,性能更稳定。

耐久性:

MLC的耐久性以编程/擦除(P/E)循环次数衡量。一个P/E循环指对一个闪存块进行一次完整的擦除和随后的编程(写入)过程。

  • 典型MLC耐久性: 传统2D MLC颗粒的P/E循环次数通常在3,000到5,000次左右。先进的3D MLC颗粒通过改进结构和工艺,可以将耐久性提高到10,000次甚至更高。
  • 与SLC、TLC、QLC对比:
    • SLC:通常 50,000 – 100,000+ P/E cycles
    • MLC:通常 3,000 – 10,000 P/E cycles
    • TLC:通常 500 – 3,000 P/E cycles
    • QLC:通常 100 – 1,000 P/E cycles
  • 实际产品寿命: SSD的整体寿命还取决于其总写入字节数(TBW, Total Bytes Written)或每天写入量(DWPD, Drive Writes Per Day)。一个1TB的MLC SSD,如果MLC颗粒寿命为3000 P/E循环,那么其总写入寿命大致为1TB * 3000 = 3000TB。这对于大多数消费者的日常使用来说,寿命是绰绰有余的。企业级MLC SSD通过更大的OP(Over-Provisioning)空间和更强的控制器,TBW数值会更高。

MLC颗粒如何存储和读取数据?

存储和读取数据依赖于对闪存单元内浮栅(Floating Gate)上存储的电荷量的精确控制和测量。

存储(写入/编程):

  1. 要将数据写入一个MLC单元,首先需要确定要写入的2个比特对应的电压水平(例如,写入“01”对应某个特定的中间电压范围)。
  2. 闪存控制器通过施加一系列精确控制的编程电压脉冲到单元的控制栅(Control Gate)。
  3. 每个编程脉冲都会将一定量的电子注入到浮栅中。
  4. 在每次脉冲后,控制器会验证浮栅上的电荷量是否达到了目标电压水平。这个过程可能需要多次脉冲和验证,直到电荷量落入目标电压窗口。
  5. 写入2比特数据需要区分四个电压状态,这比SLC区分两个状态要精细得多,因此写入过程更复杂、耗时,且对电荷控制的精度要求更高。

读取:

  1. 要读取一个MLC单元的数据,控制器会施加一系列参考电压到控制栅。
  2. 根据浮栅中存储的电荷量(即单元当前的电压状态),单元的导通电流会发生变化。
  3. 控制器测量这些导通电流,并将其与预设的四种电荷状态对应的电流阈值进行比较。
  4. 根据测量结果判断单元当前属于哪个电压范围,从而确定存储的是哪组2比特数据(00, 01, 10, 或 11)。
  5. 由于电压窗口较窄且相邻,读取时更容易受到干扰或电荷丢失的影响,因此需要更强大的错误校正机制。

读写过程中,擦除操作是以块(Block)为单位进行的,而编程(写入)是以页(Page)为单位进行的。擦除是将块内所有单元的电荷清零,使其回到最低电荷状态(通常代表逻辑“1”)。

如何延长使用MLC颗粒存储设备的寿命?

虽然MLC的耐久性比TLC/QLC好,但闪存单元的P/E循环次数是有限的。存储设备控制器和文件系统采取了多种技术来延长MLC颗粒的实际使用寿命:

磨损均衡(Wear Leveling):

这是延长闪存寿命的关键技术。控制器确保数据写入操作均匀分布到闪存芯片的所有存储块上,避免某些块被过度频繁擦写而提前损耗。这包括:

  • 动态磨损均衡: 对经常变动的数据块进行均衡。
  • 静态磨损均衡: 对不经常变动(“冷”)的数据块进行均衡,将这些数据移动到磨损较高的块上,释放磨损较低的块供动态数据使用。

错误校正码(ECC):

MLC的原始误码率高于SLC,每次读写后,闪存单元中的电荷可能会发生微小变化。强大的ECC算法能够检测并纠正大多数数据错误,确保数据的准确性。随着闪存制程的缩小和层数的增加(如3D NAND),ECC变得越来越重要。对于MLC,通常采用更高级的ECC算法,如LDPC (Low-Density Parity Check)。

坏块管理(Bad Block Management):

在闪存的生命周期中,一些块会因为达到P/E循环上限或制造缺陷而损坏。控制器会标识这些坏块,并停止使用它们,确保数据不会写入到不可靠的区域。

垃圾回收(Garbage Collection):

当文件被删除时,对应的数据块并不会立即被物理擦除,只是被标记为无效。垃圾回收是控制器在后台运行的过程,它会找出包含无效数据和有效数据的块,将有效数据复制到新的位置,然后擦除整个块,以便后续重新使用。这个过程会产生写入放大(Write Amplification),影响寿命,但对于回收可用空间是必需的。

写入放大系数(Write Amplification Factor, WAF):

衡量实际写入到闪存的物理数据量与操作系统请求写入的逻辑数据量之比。WAF越高,闪存单元承受的实际写入量越大,寿命消耗越快。高效的垃圾回收和磨损均衡算法可以降低WAF。MLC因为需要更复杂的擦除/编程操作,其WAF控制也对控制器性能提出要求。

冗余(Over-Provisioning, OP):

制造商通常会在用户可见容量之外预留一部分闪存空间作为OP。这部分空间不用于用户存储数据,而是供控制器进行磨损均衡、垃圾回收和坏块替换使用。OP空间越大,控制器进行这些后台操作的空间越充裕,WAF越低,理论上可以提高闪存的耐久性和性能稳定性。企业级MLC SSD通常有比消费级产品更大的OP比例。

通过上述技术的协同工作,MLC颗粒存储设备能够在其有限的P/E循环次数基础上,提供可靠且具有一定寿命保障的存储服务。

MLC颗粒的成本和容量特性是怎样的?

MLC颗粒在成本和容量方面提供了介于SLC和TLC/QLC之间的折衷:

成本:

MLC在每个单元存储2比特,相比SLC(1比特)能以更少的物理单元存储同等容量的数据。这意味着在晶圆制造、封装等环节,MLC的单位比特成本低于SLC。然而,相对于TLC(3比特)和QLC(4比特),MLC的存储密度较低,需要更多的物理单元来实现同等容量,因此单位比特成本高于TLC和QLC。

总结来说:单位容量成本排序大致为:SLC > MLC > TLC > QLC。

容量:

由于每个单元存储2比特,MLC颗粒可以轻松实现比SLC更高的芯片容量。例如,一个设计用于存储4GB的SLC芯片,如果采用相同的工艺和面积,做成MLC就可以存储8GB。这使得MLC非常适合制造几十GB到几百GB容量范围的产品,并为制造TB级容量的SSD奠定了基础(尽管超大容量SSD现在更多依赖TLC和QLC)。

通过增加闪存Die的数量和采用3D堆叠技术,MLC同样可以实现大容量存储设备,只是在同等容量下,通常需要比TLC或QLC更多的芯片或更大的芯片面积,从而影响成本和产品尺寸。

总结

MLC(Multi-Level Cell)闪存颗粒作为一种每个单元存储2比特数据的技术,成功地在SLC的高性能/高成本/低密度与TLC/QLC的低性能/低成本/高密度之间找到了平衡点。它提供了比TLC/QLC更优越的耐久性和性能,同时比SLC更具成本效益和容量优势。

尽管在消费级市场的主导地位逐渐被技术进步的TLC和QLC所取代,MLC凭借其固有的耐久性和性能优势,在一些对写入寿命和性能稳定性要求更高的领域(如某些企业级应用、高端专业存储、工业级产品)仍然扮演着重要角色。

理解MLC颗粒的特性,有助于我们更好地选择和评估不同类型的存储设备,了解其在特定应用场景下的表现和寿命预期。

By admin

发表回复