查看原文
其他

关于NAND闪存11个误解

常华Andy Andy730 2024-03-16

Source: 11 More Myths About NAND Flash, March 9, 2021


您对NAND闪存及其设计考虑因素的了解程度如何?本文将揭穿有关该技术的神话。


NAND闪存由KIOXIA于1987年发明,从根本上改变了我们的生活方式。然而,尽管这项重要技术无处不在,但它仍然经常被误解。


这完全可以理解。从温度范围到密度再到功率,NAND闪存的设计考虑因素多种多样。适用于下一代存储应用的基于闪存的产品的深度和广度是惊人的,设计工程师也有疑问。


1. QLC闪存将取代TLC闪存,后者已经取代了MLC闪存,同时也取代了SLC闪存。


随着固态磁盘(SSD)容量变得更大、更便宜,QLC 闪存在存储行业中变得越来越明显。虽然QLC闪存是最经济的,但TLC 提供更好的性能和可靠性,以涵盖各种主流存储应用。QLC和TLC将继续共存,因为它们都非常适合特定的应用。


例如,QLC 更适合读取密集型应用程序,而 TLC 更适合性能更高的混合工作负载和写入密集型应用程序。只要 QLC和TLC性能和可靠性之间存在差异,QLC就不太可能完全取代TLC。



2.虽然越来越密集,更便宜,但3D闪存并没有变得更快。


一代又一代的3D闪存在密度和性能方面不断提高,同时成本降低。正在实施新的设计策略和功能以提高性能。例如,增加平面数和新功能(如虚拟多 LUN (VML) 读取)(其中每个平面都可以随时独立读取)会增加随机读取 IOPS。此外,新的标准规范(如切换 DDR5)将 NAND 接口速度推高至 2.4 Gb/s。



3.数据将始终存在于硬盘上,因为它们的每比特成本最低。


通常,从长远来看,提供最低成本的技术会获胜。硬盘驱动器继续提供最低的每存储位成本,但由于数据检索时间,固态存储正在缩小差距。 


由于密度增加,每比特成本和每容量性能的降低,SSD的市场份额将稳步增长。这是一个重要的指标,因为随着驱动器容量的增长,但读取和写入性能无法扩展,每 GB 的总 IOPS 会变差,并且每个驱动器的总用户数会成为瓶颈。



4. 串行接口正在各个设计层面上取代并行接口。


对于I/O接口来说,这绝对是 一个长期趋势:PATA到SATA,PCI到PCIe,eMMC(嵌入式多媒体卡)到UFS(通用闪存存储)。但对于原始内存接口来说,它更像是一个混合包。 


虽然并行NOR闪存确实已经大部分被串行NOR闪存所取代,但DRAM和NAND闪存仍保持了其多位宽总线。在可预见的未来,在商用芯片上实现超高速I/O电路的延迟和成本很可能会阻止在DRAM或NAND上采用高速串行电路。



5. 托管 NAND(eMMC、UFS、PCIe SSD)始终是比原始 NAND 更好的解决方案。


带有控制器(托管NAND)的NAND闪存仍然是最容易使用的固态存储设备,因为它是一个完整的非易失性存储系统。使用原始 NAND 闪存需要由主机处理器或控制器芯片进行管理:逻辑到物理块转换、坏块管理和纠错。因此,托管 NAND 将更易于使用,因为它将自己呈现为系统的理想块存储设备。 


但是,原始NAND将占有一席之地。例如,从托管的NAND设备构建SSD或闪存阵列是没有意义的,因为级联控制器的延迟增加,成本增加,性能降低。 


托管 NAND 最好用作黑盒存储子系统。但是,有时出于性能或成本原因,您需要灵活地实现自己的存储子系统,在这种情况下,将原始 NAND 内存与您自己的体系结构和固件结合使用是唯一的出路。



6. SD和microSD卡将在短短两年内失去作为可移动存储外形的主导地位。


SD卡(以及microSD)长期以来一直是世界上使用最广泛的存储器外形 。最近,高分辨率录制和需要更高带宽的5G移动应用程序的需求已经浮出水面,并且正在开发支持PCIe和NVMe的新外形尺寸。这些新的外形尺寸,如KIOXIA的XFMEXPRESS,现在已接近标准化,这意味着比传统SD接口更快的性能近在咫尺。


话虽如此, SD / microSD卡不会很快消失。没有其他外形尺寸更容易被接受或如此小巧。



7. 在内存内部执行的 ECC 比主机控制器处理的 ECC 更有效。


纠错码(ECC)是一种前向纠错形式,其中计算校验位并将其添加到用户希望存储的数据中。然后,将用户数据和ECC存储在存储 介质上; 在这种情况下,使用NAND闪存芯片。发生的错误位在读出时被检测到,并且可以根据ECC的强度和错误位的数量进行校正。但是,所有这些都需要处理能力 —— 首先在存储之前计算检查位,其次在读出时纠正错误位。 


但是,ECC应该在哪里进行呢?在内存芯片上,还是在控制器芯片上?答案是:视情况而定。如果需要的NAND芯片数量为1,那么在NAND芯片本身上安装ECC电路就很方便,因为它使NAND看起来没有错误。


当连接到为智能设备和物联网设备供电的小型微控制器时,这非常有用,因为其中许多处理器缺乏ECC引擎的硬件,并且在软件中执行ECC相对缓慢且效率低下。此外,具有内置 ECC 的 NAND 支持将较新的 NAND 光刻技术与较旧的处理器配合使用,这些处理器不支持更新、更小的 NAND 几何体的更高 ECC 要求。  


另一方面,如果应用所需的NAND芯片总数较高,则不给每个NAND芯片增加ECC电路的开销,而只是将ECC引擎放在控制器中,这在经济上是有意义的。更高的处理速度通常是可能的,因为控制器将使用逻辑进程而不是内存进程进行设计。在SSD中,如果一个控制器连接到许多 NAND 芯片,如果控制器中有一个ECC引擎,则整体设计将更便宜。



8. UFS并不比eMMC快多少。


事实上, 确实如此。


虽然由于某些瓶颈,eMMC和UFS确实难以以最大接口速度运行,但实际性能差异很大。UFS Ver3.1 的最大接口速度为 2320 MB/s,约为 eMMC Ver5.1(400 MB/s)的六倍。尽管eMMC和UFS部件的实际性能低于此水平,但仍存在很大差异。


例如,我们可能会看到eMMC的顺序读取速度约为325 MB / s,而UFS的顺序读取速度超过2000 MB/s。此外,顺序写入和随机读写的性能也存在很大差异。



9. 最佳设计导入选项始终是最新版本的 UFS 而不是 eMMC。


虽然 UFS v3.1 确实为 eMMC/UFS 提供了最佳性能,但有许多因素需要考虑,这些因素可能无法使其成为可行的选择。所需的内存密度可能是一个重要因素。为了利用UFS更快的接口,  器件内需要多个芯片进行交错。因此,对于密度小于 32 GB,通常不支持 UFS。这意味着我们可以期待只需要4,8或16 GB的应用程序继续使用eMMC。


这在以一定密度支持的UFS版本中也发挥了作用。在 v2.1 中,通常继续支持 32 GB 和 64 GB UFS。这是因为当v3.0/3.1接口出现时,可用的最小3D 芯片 密度太大,无法在这些密度下进行多个芯片交错,以利用更快的接口。事实上,如果使用较新的3D代芯片来构建32或64 GB UFS设备,这将导致性能下降,因为需要交错的芯片更少。 


随着每一代3D闪光芯片的层数增加,该代的最小芯片密度也随之增加。SoC支持什么接口是另一个因素。



10. eMMC/UFS 耐久性可以以写入的 TB 数 (TBW) 为单位进行指定。


TBW 是闪存设备在其生存期内可以可靠地写入闪存设备的 TB 总数。这是 SSD 的流行耐久性规范,一些实体也开始指定或请求 TBW 作为 eMMC 和 UFS 的耐久性功能。


但是,不能准确地依靠 TBW 作为规范来了解 实际能够写入设备多少 TB。这是因为此规范忽略了写入放大,这会降低写入次数。写入放大因主机处理器的访问模式而异。


设计人员应与闪存供应商合作,了解其应用程序用例的访问模式如何影响闪存设备的真正耐久性,以及如何潜在地优化闪存设备的访问模式以延长其使用寿命。



11. 由于eMMC和UFS是JEDEC标准,因此不同供应商的部件之间的性能和可靠性大致相同。 


虽然托管闪存(eMMC/UFS)将负责基本任务,但实际实施可能因供应商而异。例如,需要优化执行垃圾回收的频率和算法,因为每个操作都会暂时降低性能并增加写入放大。如何执行磨损均衡,例如,当设备在本机模式和增强模式之间分区时,是影响设备寿命的另一个因素。


在性能和可靠性方面通常存在重要差异,在比较不同供应商的eMMC和UFS设备时需要考虑权衡。通常,在内部开发自己的eMMC或UFS控制器的供应商会获得更好的结果,因为他们能够优化控制器以使用最新一代的闪存。

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存