请选择 进入手机版 | 继续访问电脑版

使用机器学习开启更长寿命、更高容量的SSD

2017-7-4 03:04 147 0
0
摘要: 申明:本文源自翻译,详情请阅读社区提供的英文原文摘要机器学习可用于闪存设备中以优化存储容量,耐力和数据保留。数据存储在闪存设备中的方式会导致磨损和数据保留的限制,重复擦除和程序循环甚至引起多个单元读数 ...

申明:本文源自翻译,详情请阅读社区提供的英文原文


摘要

机器学习可用于闪存设备中以优化存储容量,耐力和数据保留。数据存储在闪存设备中的方式会导致磨损和数据保留的限制,重复擦除和程序循环甚至引起多个单元读数。每个闪存单元的位数增加使这些问题变得越来越重要。2D中的寄存器调整以及3D闪存内存均可用于优化闪存磨损,存储容量以及数据保留;但随着这些寄存器的数量增加,这个任务变得不可能手动进行。该NVMdurance Pathfinder产品使用机器学习来自动优化闪存寄存器并用于实际闪存产品中。该公司的先驱者在SSD上运行的产品通过驱动器使用实现了这些优化的寄存器设置。这种方法创造更长久的闪存产品,并将会变得普及行业。它为实现它的人提供了竞争优势。


闪存存储容量,耐久性和数据保留简介

我们将基于闪存和各种应用的控制器讨论耐力,保留和存储之间容量设计的权衡。但首先让我们讨论闪存是如何写和擦除的,以及通常随着存储容量的增加耐久性和数据保留问题是如何导致变差的。


闪存是将闪存中的浮动栅极或电荷陷阱上的信息作为电子存储存储单元晶体管。在浮栅中,这些电子是量子力学的(Fowler-Nordheim隧道)在绝缘体内隔离通过绝缘层传导到导电栅极(见图1)。当一个位被编程时,电子被存储在浮动门上。这里晶体管的栅极有抵消控制电荷的效果。


Fowler-Nordheim隧道需要高电压(通常在7-12伏特之间)放置在晶体管的源极和控制栅极之间。如果电压足够,电子通过栅极氧化层“隧穿”并停留在浮动栅极上


在NAND和NOR闪存技术中,在一个称为“块”的子阵列中单个非常大的晶体管会擦除所有晶体管。这为闪存芯片节省了显著的成本而不需要单独擦除内存的每个位或字节的设计者。


通过隧道氧化物隧穿电子有时会导致困难。电子将被擦除和写入而被困在隧道氧化物中是不可避免地。这些电子一旦被困住,就不能被去除,但是它们可以自己释带来时间和温度的影响。取决于捕获在氧化物中的电子数量将会影响电池的运行:如果有很多电子被困,那么会有很大的影响,但是电子数量不太可能造成很大的影响。由于氧化物中被俘获的电子数量太大增加浮动栅极上的表观电压,并可能引起位错误或擦除失败。


电子的隧穿也削弱了绝缘体,使其难以保持电子在浮动门上。cell随着时间的流逝而离开栅极,电压就会变化.浮动门也会导致位错误。泄漏量直接影响到在浮动门上可以存储正确数据的时间长度(保留时间)。电池被编程和擦除的次数越多,保留期较低绝缘体层越弱。闪存中隔离绝缘子的损坏记忆细胞被称为细胞磨损。


捕获在任何一个电池中的隧道氧化物的电子数是芯片功能所具有的,更重要的是在特定记忆单元规范中有多少次擦除并重写。因此,在故障之前需要设计好一个规范来推荐最大值,而芯片上的存储单元可以承受的擦除/写入周期数的发生,这个规范被称为芯片的“耐力”。


在电荷阱设计中,电子存储在绝缘层中而不是在绝缘层上导体,如浮动栅极(见图2)。电荷阱可以使用更薄的绝缘层产生更快的擦除速度。


存储在闪速存储器单元上的电子逐渐从浮动栅极隧道返回或充电陷阱。由于存储在单元格中的电荷下降,最终表示信号存储在单元中的数据下降,导致信噪比(SNR)降低。什么时候信噪比变得太低,不能非常地使用数据,不能从单元中恢复复杂数据和昂贵的纠错码(ECC)以及数据恢复方法。


数据保留是闪存单元以前可以存储记录位的时间长度,该数据变得无法恢复。闪存产品保留最高新的数据并在闪存设备的指定寿命内下降。数据保留密且加上闪存耐力。通常给出SSD的数据保留规范对于闪存单元,在其指定的耐久寿命结束时1。对于企业SSD,数据产品寿命结束时的保留期限应至少为3个月,客户端SSD为寿命终止后,数据保留应至少一年。请注意,可能还有其他的特定应用的保留要求。


闪存类型

有两种闪存,NOR和NAND。这两个术语是类型的名称逻辑门,否定“或”功能和否定“和”功能“。最大的区别两种类型的建筑之间是房地产。 NAND具有明显较小的裸片尺寸比NOR。这意味着显着的成本节省。


这些成本节省来自于权衡。 NAND不像其他回忆一样。而NOR,SRAM和DRAM是随机存取设备(DRAM的“RAM”部分SRAM代表“随机存取存储器”(NAND Access)),NAND是部分随机和部分序列。一次地址给予设备,有一个长暂停,那个地址和几个相邻地址数据快速出现。


NAND单元容易发生位错误。为了纠正这些错误,NAND厂商使用纠错技术。例如,256位扇区可以附加一个附加的16位用于纠错。这些检查或奇偶校验位用高度压缩编程代码,指示其他256位中的数据应如何。


每次编程一个扇区时,必须计算相应的奇偶校验位与原始位一起存储。控制器通常被赋予这个任务。这是其中之一NAND最常遇到的原因是与控制器芯片相连,尽管有些情况其中控制器的功能嵌入在其中的另一个处理器内系统。


在读取期间,扇区中的数据位不能总是被信任,所以它们不能简单的从NAND读入系统。相反,扇区中的256位与之组合错误检测和校正引擎中的16个奇偶校验位,其呈现扇区价值更正的系统数据。


如前所述,闪存磨损由闪存控制器管理。这个是控制闪存单元操作的微处理器。磨损是通过在所有闪存单元上传播写作以及更改寿命内的单元的擦除周期来管理程序的特性和设备。


随着磨损均衡,控制器在基于NAND的系统中负责块管理。控制器作为其数据更正责任的一部分跟踪对NAND的每个扇区执行多少纠错。如果数字达到预定的高水平,该部门被标记为“坏”,将不再由控制器使用。在具有坏块管理的NAND中,该系统中块被取出,NAND器件的总体容量逐渐减少。


Flash制造商通过使晶体管更小而增加闪存芯片的容量使用更精细的器件光刻特征。除了增加细胞的数量设备,每个单元的位数也可以增加。每个单元格的单个位称为a单级单元(SLC)。如果每个单元有两位,则称为多级单元(MLC)。如果每个单元有三个位,称为三电平(TLC)。每个单元的四位是四进制级别单元(QLC)。我们展示了闪存单元中相同的电压跨度是如何分开的进入多级以使图3中的MLC和TLC闪烁


为了在MLC中存储每个单元的2位,由这两个表示的四个不同状态位必须分别存在(00,01,10和11)。您可以通过存储四个电压电平来实现(或阈值电压)。而不是在浮动上存储高电荷门逻辑1,低电荷为逻辑0,使用中途点作为决策在1和0之间的电平,可以存储四个充电(电压)电平:没有,三分之一,两个三分之二,全部,分别代表四个州之一。

当读取MLC单元时,读取电路必须辨别四个小电压而不是两个大的。数字芯片噪音越大系统越难以识别彼此之间的小电压。这个挑战已经引起了闪存供应商的头痛。一部分解决方案是在决定之前给芯片时间安排噪音。该解决方案是减慢芯片速度,这就是为什么MLC芯片的读取周期通常比它们慢SLC同行


同样的,写入MLC芯片比写入SLC芯片要困难得多。跨芯片,不同的Cell行为不同,而且状态相对复杂首先使用机器(小型电脑)将少量电荷放在一个浮动门,以查看浮动门的充电是否接近最佳充电细胞代表四个层次之一。然后它继续迭代这个过程,直到它完成。通常使用较小的电流来对电荷进行更好的控制,而这会减慢下编程。


当我们从每个单元的2位增加到每个单元的3位,甚至每个单元增加4位时,我们划分浮动门上的充电电平数量更多。每个级别的信噪比下降随着数量的增加。除了减慢单元的写入时间之外,信噪比更低使记忆对相邻细胞的干扰更敏感,其中一部分电荷的一部分闪存单元泄漏到相邻的单元中。随着浮动门上的电荷水平的变化越来越小,几个电子从一个浮动门迁移到的影响另一个变得越来越重要。


调整闪存参数

如上所述,有一些方法可以取代闪存的容量设备,与其耐久性及其数据保留(见图4)。

这可以在设备的初始设计和制造中部分完成,但是这些还可以通过改变各种设置来优化应用的特性在控制器中注册控制闪存随着时间的推移。让我们看看这些寄存器控制的一些事情。寄存器的数量可以少于50个用于2D(平面)闪存,超过1000张用于3D闪存。


例如,将存储或捕获的电子隔离在闪存中的绝缘体电池需要电压以允许电子在写入时被隧穿到栅极或阱上或在擦除时从门陷阱中移除。当闪存单元是新的时,移动这些电子(特别是用于擦除)所需的电压小于电压需要在记忆体单元的生命中使用。一个较高的电压应用早期的寿命电池将导致绝缘体开始分解,因此电池会更快地磨损。控制在写入或擦除单元格期间施加的电压的寄存器可以是改变了Cell的寿命,以增加细胞的耐力。


在多级单元上还有一些寄存器可以控制确定记录位数的电压阈值(见图5)。

最佳电压阈值在闪存的使用寿命内改变,与此相关随着时间的推移,细胞的磨损。此外,由于光刻特征降低了这些电压地区开始相遇。作为这个运动的结果和更细的细胞光刻误码率(BER)受损,并且纠错码(ECC)运行在控制器上必须更强大,而且应用更频繁,哪个是负面的影响整体设备性能。


由于这些阈值也彼此靠近并且重叠,所以每个单元的位数随着时间的推移,这些阈值的变化可能会影响存储容量恢复存储位的能力。这些变化可能是由个人的变化引起的随着时间的推移,细胞以及诸如嘈杂的邻居和写入和读取干扰等问题


可能会导致错误。请注意,很多设备寿命的TLC阈值控制比MLC阈值控制更重要。


成功恢复单元格中记录的位是实现所需要的重要的存储容量,并且还涉及单元的数据保留。如果寄存器那个控制这些阈值电压随时间而变化,数据恢复时间更长一段时间,使存储单元的有效数据保留更长。


还有其他闪存寄存器来控制电压的时间量与电子移动到存储单元的数量有关。那里也是控制电压应用斜坡的寄存器,以及数量在单元被宣布死亡之前需要的反复,然后从工作中取消分配存储。多级单元中的每个电压电平具有与其相关联的一个或多个寄存器。


平面闪存设备通常具有50-100个8位寄存器。附加3D闪存中的单元格层数,寄存器数量要大得多一个数量级或者更多。随着层数的增加,寄存器的数量将进一步增加。在平面闪存设备中手动优化100个寄存器是令人生畏的。在3D闪存设备中手动优化1000+个寄存器是不可能的,如图6。



因此,调整或修整现代闪存设备中的寄存器,以便优化存储容量,耐久性和数据保留的应用要求,将需要使用机器学习技术的自动化工具。导航仪定期测量闪存芯片的“健康”(BER,读取,写和擦除时序,加上历史分析)在现场确定何时更改SSD寄存器,对应于SSD寿命的新阶段。


导航仪还可以使用控制器的嵌入式功能,进一步延长使用寿命闪存。例如,如果更高级别的ECC可用,Navigator可以延长时间,它可以在闪存单元上使用弱写入电流,从而降低绝缘体损坏的速率生长。也可以从总体上处理或删除弱或受损的众多的块人口,所以他们不会影响更健康的区块。


机器学习可以从数据集中学习模型和趋势,然后可以作为模型用于实际系统的运行。然后可以询问这样的机器学习模型并搜索以找到使用此模型的结果的最佳方式,具体取决于约束和目标。在这种情况下,目标是优化存储的组合容量,耐久性和数据保留,取决于产品用例。


开创者

NVMdurance解决方案中仅有两个重要的软件元素。这两个软件元素分别是Pathfinder和Navigator。 Pathfinder用于确定最佳寄存器在实验室的闪存设备的使用寿命期间的设置。导航员坐在SSD上的领域来控制这些寄存器设置的应用使用和健康监视器。


Pathfinder算法确定搜索空间并生成初始候选解决方案,候选解决方案是一组潜在的闪存寄存器值。然后测试这些初始候选人在硬件。它使用硬件结果构建预测模型并使用该模型预测更好的候选解决方案。然后测试这些。


如果所得到的候选者通过所有测试,那么它将添加到集中并最终被放置在该设备类型的控制器寄存器中。重复此过程根据需要多次寻找更有用的候选解决方案。


图7显示了Pathfinder操作和Navigator坐标的框图SSD。

绘图仪是机器学习引擎,集成了闪存上生成的测试数据为了调整寄存器设置,由给定的制造商制造的给定类型的装置,这将在SSD寿命期间由SSD上运行的Navigator程序使用。该FlashQueue程序在实验室中安排硬件测试并在线执行

搜索和数据收集,以供给绘图仪。 FlashProbe是运行的测试头固件闪存设备收集FlashQueue的测试数据。


绘图仪使用一组规则,如图8所示,它用于找到最佳的register并符合这些规则的设置。

绘图工具与FlashQueue和FlashProbe上运行的软件的数据配合使用Pathfinder硬件平台,以便在数百万个虚拟闪存上运行测试试验设备。绘图仪利用这些试验的结果来确定闪存的型号存储设备随着时间的推移。请注意,Plotter和Plotter之间至少会有3次迭代测量的闪存数据和多达10次迭代取决于目标装置。


例如,如果你有一个1000擦写/写周期耐力闪存芯片,有几个迭代可以创建一个完成2,000次擦除/写入周期的计划。还有很多为了完成15,000次擦除/写周期耐久性,需要进行迭代相同的闪存芯片。


FlashQueue由用于安排候选测试使用的网络组件组成FlashProbe并收集诸如BER和定时的数据,如图9所示

图10显示了FlashProbe的操作。这是一台单板电脑标准闪存读/写/擦除操作语法(例如,根据ONFI规范),扩展测试模式语法通过加密的AFT(抽象闪存修剪)驱动程序,温度测试头的控制和定时测量能力。


对于NVMdurance(或SSD控制器固件编程器)来更改闪存寄存器因此他们需要获得闪存供应商非常不愿披露的“测试模式”的价值。NVMdurance通过设计(并获得专利)的Abstract Flash来缓解这一需求修剪概念。这将在编程器和闪存之间放置加密层设备。它允许所有功能,而不会公开方法。


探路者可以创建满足的最佳模型(随时间推移的闪存寄存器设置集)机器学习规则并创建最佳性能以满足预期用途闪存设备(包括这些闪存的全系列制造变体存储设备)。这种优化可能会使存储容量,耐力和数据保留。


摘要Flash修剪文件是在Pathfinder优化过程中创建的加密。 AFT文件从实际的硅操作中抽象出来。它记录如何寄存器彼此交互,而不是它们在哪里或如何被访问或存储在SSD上。然后,这个加密的文件被解包,并在运行的导航器上运行产品SSD如图11所示。

导航仪定期测量闪存芯片的“健康”(BER,读取,写和擦除时序,加上历史分析)在现场确定何时更改SSD寄存器,对应于SSD寿命的新阶段。


导航仪还可以使用控制器的嵌入式功能,进一步延长闪存使用寿命。例如,如果更高级别的ECC可用,Navigator可以延长时间它可以在闪存单元上使用弱写入电流,从而降低绝缘体损坏的速率生长。也可以从总体上处理或删除弱或受损的众多的块人口,所以他们不会影响更健康的区块。


使用机器智能优化闪存

更快速地调整或修整闪存寄存器的能力可以提高产量产品升级过程中的改进,也减少了现场的问题。自动化在设备寿命期间调整这些寄存器也提供了选择为特定用例优化的参数设置组合。这些组合的参数设置将增加闪存制造商的能力产品到更快更广阔的市场,提高他们的收入和盈利能力


NVMdurance 

来自利默里克爱尔兰的年轻公司NVMdurance开创了机器的使用学习在闪存的使用寿命内确定最佳的闪存寄存器设备。



闪存机器学习将变得普及

闪存内存耗尽,因此存储在闪存单元中的数据将消失随着时间的推移。在耐用性以及指定的使用寿命方面都有长期的使用寿命数据保留时间以及最高存储容量需要不变测量和控制闪存单元中许多参数。


这些参数或寄存器必须在设备的使用寿命内进行优化产品生命。随着时间的推移优化这些寄存器值难以手动完成用于平面闪存。随着3D闪存中单元格寄存器数量的增加,找到了随着时间的推移,最好的闪存设置是不可能手动进行的。


NVMdurance从代表闪存的迭代测量内存硬件中使用机器学习,与基于降解闪存单元的健康状况的Pathfinder软件确定适当的顺序,可以随时随地应用寄存器设置。该公司的Navigator软件在SSD中运行,然后自动使用这些软件预定的Pathfinder寄存器设置来优化耐力和/或数据SSD在实际使用/应用环境中的保留


减少优化闪存寄存器设置的时间将导致生产速度更快。这个优化可以为许多人创建TLC甚至QLC而不是MLC闪存设备也可以不需要采用昂贵的LDPC(低密度奇偶校验)纠错或更强大的控制器。 LDPC纠错更复杂比BCH(Bose,Chaudhuri和Hocquenghem)更常见的纠错码和需要更多的处理能力,这可能降低整体芯片性能。该NVMdurance技术还可以避免运行时间的影响和不良的延迟(长延迟)在分配操作中)由于读取重试。此优化可以进一步复合通过其他方式实现的任何耐力增益,如更强大的ECC或过度配置。


这些优点使其自动调整闪存,使用机器学习,应该吸引人并使得这种方法在行业中普遍存在,特别是在行业转向3D闪存的这个方面。


特别声明:更多详细内容请关注SSD PK 社区(www.pkssd.com)转载本文请务必保留原文所有内容,注明出处并包括本行及如下二维码。尊重知识,感谢您的阅读和支持!


每天一个段子:二货同桌不想上课,找老师请假说:老师,我奶奶今天过世了,然后眼泪就朴素朴素的掉了下来,老师幽幽的来句:你奶奶刚刚到办公室了,还叮嘱我,这熊孩子该打时别手软。


注:本文由SSD PK社区提供,如有错误和不足之处欢迎在留言中批评指正,如果您喜欢本文,也可以分享给你的朋友。转载本文请务必保留原文出处,更多热门请关注SSD PK 社区网,www.pkssd.com是有关SSD最专业的社区网,提供全球有关SSD的最新热门资讯、各大厂商产品热门评测,最新前沿技术动态、有关企业级SSD选型以及最佳实践。


鲜花

握手

雷人

路过

鸡蛋
分享到

TylerDong

管理员
这个人很懒什么都没写!
  • 40

  • 文章
  • 0

  • 收听
  • 0

  • 听众

热门文章

SSD社区微信公众号

SSD社区微信公众号

扫我关注
返回顶部