存储背后的大脑:NAND 闪存控制器实际上是做什么的?

通信网络

647人已加入

描述

存储背后的大脑:NAND 闪存控制器实际上是做什么的?
 
围绕在基于 NAND 闪存的存储系统的讨论变得很混乱。通常当人们讨论存储时只会谈论 NAND 闪存而忽略了控制器这一独立但同样重要的组件。但是为什么需要控制器呢?简而言之,没有它什么都行不通。
 
NAND 闪存控制器,或简称“控制器”,专为不同的接口(如 PCIe、eMMC、SD、SATA 和 USB)而设计,具有不同的质量和不同的用例。它们的共同点是管理 NAND 闪存上的数据。这种存储技术在过去十年里变得越来越流行,如果没有它,就无法想像我们今天的世界会是什么样子。
 
NAND 闪存技术向 3D 结构的稳步发展,在复杂的控制器和固件的帮助下,成功取代HDD,成为最广泛使用的大容量存储介质。同时,为执行诸如纠错、映射、垃圾收集和数据刷新等任务,控制器面临的挑战也越来越大。那么,一个控制器及其固件相对于另一个有什么优势,又有什么区别呢?
 
控制器及其基本功能
 
控制器是任何 NAND 闪存存储系统背后的大脑。它确保从主机接收到的数据被发送到闪存并可以在以后检索。它将主机系统的读/写/状态命令转换并修改为闪存组件的各种读/写/状态命令。它还将主机的逻辑块地址 (LBA) 或由文件系统管理的扇区地址转换为闪存上的地址,这些地址被组织成块和页面。该控制器确保双方的兼容性并处理任何固有的闪存缺陷。
 
为什么不使用小程序将数据写入闪存呢肯定不会那么难的
 
NAND闪存本质上并不可靠。这是因为半导体(其中 NAND 闪存是其中一种)受到使用过程中变热的显著压力。此外,电子在矽内部迁移,随着时间的推移破坏内部结构。由于热会使得电子移动,所有老化过程都随着热的增加而呈指数加速。半导体内的几何形状或单元结构越小,器件就越容易受到这些影响。今天的半导体结构比以往任何时候都小,需要大量的开发来充分解决这些影响。
 
同时,不同的应用领域有不同的要求。用于消费产品的半导体,每天6 小时,每周 5 天,主要在室温下工作 5 年的设计,与在室外环境中 24/7 工作超过 10 年的工业产品的设计方式不同。同时,每个区域需要存储的数据量也在不断增加。闪存开发人员对此的回答要进入第三维度。
 
较新总是较佳!我们去买 3D 闪光灯吧,它也较便宜,不是吗?
 
基于NAND闪存的设备具有功耗低、速度快、可靠性高等优点。矽芯片的成本与面积成比例,并且很大程度上与上面的内容无关。因此,NAND闪存每字节的成本取决于在任何给定尺寸的芯片上可以存储多少位。在这方面,有几种技术已被用于提高 NAND 闪存的存储密度。
 
第一种技术是减小每个单元的大小。然而,这种尺寸的减小达到了它的逻辑极限。它还导致了一些不良副作用,例如更大的泄漏电流和更高的错误率。。
 
另一种技术是在每个单元中存储更多位。现代闪存不再是只能存储一位数据的单级单元 (SLC),而是每个单元可以存储两个 (MLC)、三个 (TLC) 或四个 (QLC) 位,并且这种发展仍在继续。这意味着需要精确的编程和测量。虽然这项技术增加了存储密度,但考虑到较低的性能、较短的寿命和较高的错误率,因此它也只是一种折衷办法。
 
3D NAND 闪存的主要优势是降低了每字节的成本。这是因为芯片的同一区域可以容纳更多位。 3D NAND 芯片中的存储单元比 2D 设备中的存储单元更紧密,它们分散在表面的外侧。现代闪存不是在芯片表面放置存储单元阵列,而是创建多层存储单元,以在矽片内创建完整的三维结构。这允许在同一区域内获得更大的存储容量,同样重要的是,与数据的连接更短,这反过来又允许更快的数据传输。
 
虽然 3D NAND 闪存在存储容量和每字节成本方面可能是正确的选择,但 3D NAND 闪存的有效使用在很大程度上取决于闪存控制器。控制器中需要复杂的机制来有效地管理大内存容量,最大限度地减少单元编程的影响,并确保高耸的单元结构内的最大寿命和可靠性。
 
那么,一个好的控制器有什么特点呢?
 
控制器的功能和特性范围存在许多差异。基本上可以将控制器分为两类:基于 DRAM 的控制器和无 DRAM 控制器。
 
无 DRAM 控制器非常适合用于需要绝对数据可靠性的工业环境或应用(医疗技术设备或移动式的无线电台)。带有 DRAM 的控制器可以实现更高的性能,但是,在可靠性方面,无 DRAM 控制器是更好的选择,因为它们可以保证将数据传输到 NAND 闪存上。在突然断电的情况下,一旦不再供电,由基于 DRAM 的控制器处理的数据将丢失通过 DRAM 缓存的数据。此外,少一个组件也就少了一个成本、考虑和潜在的复杂性。
 
电池会随着时间的推移而老化并失去其充电状态; 单元格的值“翻转”并发生所谓的位翻转。控制器可以检测这些不正确的位并在纠错的帮助下对其进行弥补。然而,如果这些位错误累积,控制器必须采取对策。大多数闪存控制器都包含一种刷新算法,该算法可以检测数据何时变旧并因此变得不稳定,例如,通过时间戳或记录位错误统计信息。较便宜的控制器仅在读取数据时检测和检查数据,即仅当主机请求读取时。更复杂的控制器将所有数据的驱动器扫描安排为另一个后台维护操作。
 
随着时间的推移,读取页面中的块也会对相邻页面的物理数据质量产生负面影响。为了解决这个问题,控制器具有读取干扰管理,可监控闪存中的读取并根据需要更新周围数据。
 
自我监控、分析和报告技术 (SMART) 提供有关 NAND 闪存的运用状况和寿命的信息。它允许用户根据各种属性监控闪存设备的寿命。例如,可以对备用块、擦除操作、读取总数或 ECC 错误总数进行计数,如果可以从闪存中检索相应的数据,则可以准确估计寿命。此功能是 ATA 接口的标准功能。但是,在为 Hyperstone 控制器所设计的其他高要求的应用中,此功能也适用于其他接口,例如 USB 或 SD 和相应的 dem。借助对特定用例的了解,基于 SMART 数据,也可以相应地调整设计。根据要求,控制器和固件可以在成本、性能或可靠性方面进行优化。
 
这些高端功能是否也适用于 SD 卡或 USB 驱动器
 
是的,事实上,对于这些被设计成便宜的产品,有一个平行的宇宙,一个由控制器、固件、制造和存储供应商组成的生态系统,其重点是可靠性和长期可用性。
 
Hyperstone 的新 SD 控制器 S9 采用交钥匙固件设计,可满足最苛刻应用的需求。为了延长使用寿命和提高数据完整性,控制器包括 FlashXE® ECC 和 hyReliability™ 功能。 hyMap® Flash 转换层确保只有最小的写入放大和最高的耐用性。结果:高效使用 NAND 闪存并降低故障率。功能范围由 hySMART™ 监控工具补充。可以使用应用程序编程接口 (API) 在 S9S 版本的 Hyperstone 控制器中实现的附加安全功能。
 
在存储系统和控制器方面,无论是接口选项还是质量,都有很多选择。为了实现一个兼顾性能和可靠性以及成本和收益的设计,需要大量的洞察力和经验。 Hyperstone 不仅可以从设计和咨询的角度提供帮助,还可以提供一系列控制器和完整的解决方案,例如针对特殊应用进行固件定制的 µSD 卡。如果数据存储对您的应用程序至关重要,或者故障会导致代价高昂的停机时间,那么谨慎选择控制器和存储技术是关键。
 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分