如何提升下一代高密度闪存的可靠性

SSDFans 2023-09-21 06:52

      本工作来自多伦多大学和谷歌Shehbaz Jaffer,发表于FAST 2022。为了解决下一代高密度闪存低耐久性带来的可靠性挑战,提出新的编码WOM-v (Voltage-based Write-Once-Memory),来提高SSD的使用寿命。通过重编程的方式,增加擦除操作间的编写次数来应对高密度闪存有限擦除次数的瓶颈问题。本文基于FEMU+LightNVM平台,实现WOM-v码,并基于FEMU实现QLC模拟。展示如何通过以可忽略的性能开销提高QLC闪存的寿命4.4x-11.1x。WOM-v开源代码: 

https://github.com/uoftsystems/womv。


01 背景&问题

    随着闪存密度的增加,其可承受的擦除次数逐渐减少。如下图所示。QLC的擦除次数不到1000次,而PLC仅为几十至几百次。特别是存储元尺寸小,擦除次数就更少了。针对这个问题,本文将从WOM编码的角度探索如何通过增加重编程次数来降低擦除次数。下面首先讨论传统binary-WOM码的原理及缺陷。


Binary-WOM codes

    Binary-WOM应用于较早的存储设备上,例如Punch Card。在这类介质上,数据以位为粒度写入,并且一旦写入,位只能在一个方向上更改。例如,只能从比特0变换到比特1。表1和表2给出的是WOM(2,3)和WOM(2,4),对于WOM(2,3),表示数据存储两位,但实际存储三位。可以看作底层是TLC闪存,抽象出MLC闪存。对于每个TLC页面,可以编程两次(两代)。第一代和第二代中的比特位是TLC三位组成的8种形式。因此,通过这种方式,两次编程后,实际写入的数据为2+2=4bits,比TLC的3bits要多。


    然而,Binary-WOM不适合新一代的闪存,如QLC。对于闪存存储元的真正限制是,电压值总是增加(达到最大电压Vmax),但不能降低,这与编码的位值无关。坚持采用二进制模型会产生不必要的约束。

    经过作者的测试发现,存储元中比特数量与其能够支持的重编程次数成反比关系。存储元每多增加一个比特,可实现的重编程次数少一个数量级。因此,WOM码本身的写放大,对QLC使用binary-WOM没有净增益。


02 WOM-v Code

    为了解决上述问题,本文设计了新的编码WOM-v (Voltage-based Write-Once-Memory),实现更高的写入量。WOM-v码借助于闪存编程的特征(往存储元中存储电荷)。编程以ISPP方式总是由低电压编程到高电压。因此,可以将电压分布范围划分成多个GEN,一个GEN中包含的电压区间表示一次编程可以到达的电压值。以QLC为例,存储元中存储4个比特,可以形成16种电压状态(V0-V15)。如下图所示,可以有WOM-v(3,4), WOM-v(2,4), WOM-v(1,4)。事实上,WOM-v(3,4)就是将QLC看作TLC使用,用户存储3个数据字,而实际存储4位码字。由于每次表示3位,因此单次编程只需要8个状态。这样QLC的16个状态就可以编程两次。更高阶WOM-v(2,4)则可以编程16/4=4次。


基于上述思想,有以下几个优化点:

1)同代转换:是指重编程后,存储元的电压状态还在同个GEN中。具体来说,在编程时,若编程后的DATA可以用当前电压值和当前GEN的最大电压值之间的电压状态表示时,同一个GEN内部也可以重编程。例如,当前是001(V1),编程后为101。那么无需进入GEN2,编程到GEN1中的V5即可,并做好记录;此优化点的问题是会产生写前读,每次重编程之前需要通过一次读取来确定存储元的电压状态。本文进一步提出NR模式来权衡是否采取此优化点。

2)码字共享:WOM-v(3,4)中的电压状态V7在GEN1和GEN2之间是共享的。数据111在GEN1和GEN2中都映射到V7。这种共享让我们可以挤出更多的重编程代数。例如,WOM-v(2,4)原先是4代,共享后为5代。

3)利用ECC容错空间:当写发生在页面粒度(而不是存储元)上时,一旦页面的任何一个存储元达到GEN_MAX,就不能再重编程。”当页面中少量存储元达到GEN_MAX的情况下,继续进行页面重编程而不擦除“。要实现上述目标,可以利用设备中的ECC纠错码的容错空间。通过标记少量已达到GEN_MAX的存储元为无效,剩余存储元组成的页面可继续执行重编程。而这些标记无效的存储元的值可以通过现有ECC来确定。当然,无效存储元的数量超过ECC_Threshold时,当前页面无法进行后续重编程,需要先执行擦除。


03 系统实现

    本文在Linux LightNVM Open-Channel SSD子系统模块中实现了WOM-v码,它允许在FTL中进行更改。并扩展FEMU来模拟QLC设备。通过WOM-v的系统实现,可以测试在SSD中实际减少的擦除次数(以EU为粒度执行擦除操作),以及评估在理论上无法准确收集的input data contents、workload patterns和performance overhead。


LightNVM架构

    LightNVM是一个Linux模块,它向主机公开了NVMe SSD的底层体系结构。有助于对读写方式进行修改,也能够控制垃圾回收,以及何时应该在底层设备上执行擦除操作。LightNVM的内部体系结构如下图所示。LightNVM模块的两个主要数据结构是1) Ring Buffer和2) Parallel Units。


要将WOM-v码合并到LightNVM代码中,需要做以下更改:

1)对设备的所有写入操作都需要进行编码。

2)发布给设备的所有读取都需要解码以前编写的数据。编码和解码涉及到简单的表查找。

3)需要修改默认的垃圾回收逻辑。与其在垃圾回收过程中擦除所有的EU,现在应该根据EU内部页面的状态(是否达到GEN_MAX)有选择地进行擦除。也就是说,如果垃圾回收选择的EU中页面未达到GEN_MAX,则只需要回收有效页面而无需擦除,回收后可与空闲资源一样拿过来直接覆盖写。

4)底层设备模拟器需要支持下一代配备QLC或更密集闪存介质的SSD设备。

5)本文进一步实现了两种优化,GC_OPT和NR模式,有助于提高性能和减少WOM-v的开销。


基本实现

将以下组件添加到LightNVM模块中:1) 编码和解码逻辑;2) WOM-v感知的垃圾回收逻辑;3) 基于FEMU的QLC支持。

  • 写入操作:应用程序或文件系统可以向LightNVM提交写请求。所有写数据在写入设备之前都进行编码。默认情况下,WOM编码首先读取设备上先前写入的数据(查看当前编程到哪一代了)。由于这种默认方法会带来写前读。在将环形缓冲区数据写入设备之前,在环形缓冲区中暂存页面的逻辑块地址(LBA)与设备物理页地址(PPA)之间创建一个映射。在此阶段,拦截所有的写操作,并执行以下转换:1)对正在写入的所有页面的PPA中读取预先存在的编码数据;2)使用现有的数据对页面进行再编码;3)将新的编码页面写入设备。

  • 读取操作:在读取工作流中,来自应用程序的原始读取bio请求首先被转换为相应的连续LBA地址bio请求。由于逻辑页面的局部性,连续的页面对应于单个页面。接下来,所有被读取的编码页面都在读取返回路径中被解码。解码后的数据被复制到最初提交的bio请求中,并且可以被应用程序读取而无需修改。

  • 垃圾回收:传统的GC是回收有效页面后直接擦除才能使用,然而本文使用的WOM-v码下,页面可重编程。因此只有当EU中任何一个页面达到最大可重编程次数后才会被擦除。所以每次GC只需要回收有效页面而不需要执行擦除操作。


一个WOM-v(k,N)方案可以自然地扩展到任何N级存储元,通过将N的值更改为设备的每个存储元的位数。k的值决定了容量和寿命的权衡——较低的k值会产生更高的闪存寿命,但也会消耗更多的物理空间。


WOM-v优化

  • GC_OPT模式:解决GC期间有效页面回收带来的写放大问题,进一步提高了SSD的耐久性。关键的观察是,在大多数情况下,如果EU中的无效页面可以被重写,则无需执行擦除。这意味着,在EU不需要擦除的情况下,我们可以保留有效页面,只要我们在未来写入EU时跳过这些有效页面。块中剩余的无效页面将以与以前相同的特定顺序被覆盖,以减少单元间的干扰,并像以前一样在EU的并行单元上条带化写入。

  • No_Read(NR)模式:解决写前读问题。由于采用同代转换,在数据写入存储元之前,需要知道存储元的内容,确定其处于哪一代的哪一个电压状态。因此,每次写都需要先读一次。如何消除写前读:去掉同代转换,只在GEN之间转换。通过记录当前编程的代数,下一次编程直接跳转到下一代。NR模式可优化性能,但对耐久性有轻微影响。


04 实验评估

实验采用微基准测试负载和真实世界收集的负载进行评估。

1. 微基准测试负载

1)数据缓冲区内容变化的影响

    由于WOM-v(k,N)码可能发生同代转换,因此其收益取决于被覆盖到已有数据块的数据内容。通过顺序填充设备,一旦设备满,翻转数据缓冲区中所有位的一部分(10%-100%),然后用修改后的数据再次填充整个设备。重复这一过程多次,并比较随着数据缓冲区内容变化速率的增加而被擦除的EU数量。

    下图显示了在写入期间因不同数据缓冲区内容而擦除的EU总数。与NO_WOM相比,WOM-v减少了被擦除的EU数量。然而,当后续写入之间的数据变化速率较小时,存储元达到Vmax的速率将会更慢。对于数据变化量较大的负载,将更快地达到Vmax,因此EU擦除增益将更低。NO_WOM与数据缓冲区内容无关。

2)访问模式的影响

    为了衡量访问模式的影响,以特定顺序写入来无效先前写入的数据,来产生不同程度的设备写放大。Hot-S是顺序更新数据,Hot-R是随机更新数据,Hot-S和Hot-R下保证所有的页面都是热写的并且垃圾回收中不产生写放大。Cold是只更新一小部分页面,Low-GC和High-GC则产生不同程度的垃圾回收操作。

    下图显示了在不同负载模式下被擦除的EU的数量。WOM-v(2,4)显著减少了被擦除的EU数量。然而,由于GC导致的写放大增加,WOM-v(1,4)的收益不断减少。最后,GC-OPT模式能保持较低的写放大开销。


2. 真实世界负载

    所有方法下物理空间一样大,并预先填充一半容量的数据。根据负载的footprint设置QLC容量大小。所有WOM-v(2,4)设置的逻辑地址空间是NO_WOM的逻辑地址空间的一半。同样,WOM-v(1,4)设置的逻辑地址空间是NO_WOM的逻辑地址空间的四分之一。


1)寿命评估

    WOM-v(2,4)减少EU擦除次数为68%-71%。针对GC密集型工作负载(MP-auth和MP-Backend),WOM-v(1,4)的性能不佳。这表明,WOM-v码通过重编程所带来的擦除操作的减少并不能弥补较高速率码所带来的写放大。引入GC_OPT后可以显著降低垃圾回收过程产生的写放大。与NO_WOM相比,WOM-v(2,4)-GC-OPT的擦除次数减少了77-83%,WOM-v(1,4)-GC-OPT减少了82-91%。这意味着在现实负载中,擦除操作减少了4.4-11.1×

    


2) 性能评估

  • 由于WOM需要写前读来确定当前写的代数,会影响写性能,并提出了WOM-v_NR来优化性能(可能以降低耐久性增益为代价)。

  • 由于WOM-v(k,N)产生的更高的写入量(写k比特的数据实际写N比特,导致每次写入都要添加额外的(N/k)数据)。


平均性能和吞吐量:与NO_WOM相比,WOM-v(2,4)的性能开销相当小(需要写前读),在3-8%的范围内。添加NR模式消除了这些性能开销,与NO_WOM差不多。同时,与WOM-v(2,4)相比,启用NR模式对耐久性影响不大。同时启用GC_OPT和NR模式大大降低了WOM-v(1,4)方案的性能开销,使性能在NO_WOM的0-8%以内。并且对比NO_WOM显著改善耐久性。


读尾端延迟:评估读取密集型负载的尾端延迟。观察到NO_WOM和WOM-v(k,N)基线编码方案的第95百分位尾端延迟为0.6-7%,并且没有引入较大的尾端延迟。


05 总结

    本文针对下一代高密度闪存提出一种新的编码方案,可以有效降低擦除次数,从而改善闪存寿命。即使对于高写放大的负载,WOM-v码也可以通过GC_OPT模式优化;对性能关键型负载,可以采用NR模式进行优化WOM-v使用时的性能问题。另外,WOM-v码本身的写放大问题可能是对空间利用率要求高的SSD所关注的。对于这样的设备,本文建议根据设备的使用情况或工作负载的容量要求,在具有不同码率的WOM-v码之间进行常规转换。WOM-v码可以很容易地扩展到更高密度的未来SSD,如PLC SSD和更复杂的编码方案。


The End

致谢


感谢本次论文解读者,来自华东师范大学的博士生吕熠娜,主要研究方向为企业级高密度闪存服务质量优化技术研究


关注我们

一起奔赴星辰大海

微信号|SCS-Storage

 点一下“阅读原文”获取论文


SSDFans AI+IOT+闪存,万物存储、万物智能、万物互联的闪存2.0时代即将到来,你,准备好了吗?
评论
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 117浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 619浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 297浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 433浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 159浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 116浏览
  • 80,000人到访的国际大展上,艾迈斯欧司朗有哪些亮点?感未来,光无限。近日,在慕尼黑electronica 2024现场,ams OSRAM通过多款创新DEMO展示,以及数场前瞻洞察分享,全面展示自身融合传感器、发射器及集成电路技术,精准捕捉并呈现环境信息的卓越能力。同时,ams OSRAM通过展会期间与客户、用户等行业人士,以及媒体朋友的深度交流,向业界传达其以光电技术为笔、以创新为墨,书写智能未来的深度思考。electronica 2024electronica 2024构建了一个高度国际
    艾迈斯欧司朗 2025-01-16 20:45 775浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 145浏览
  •  光伏及击穿,都可视之为 复合的逆过程,但是,复合、光伏与击穿,不单是进程的方向相反,偏置状态也不一样,复合的工况,是正偏,光伏是零偏,击穿与漂移则是反偏,光伏的能源是外来的,而击穿消耗的是结区自身和电源的能量,漂移的载流子是 客席载流子,须借外延层才能引入,客席载流子 不受反偏PN结的空乏区阻碍,能漂不能漂,只取决于反偏PN结是否处于外延层的「射程」范围,而穿通的成因,则是因耗尽层的过度扩张,致使跟 端子、外延层或其他空乏区 碰触,当耗尽层融通,耐压 (反向阻断能力) 即告彻底丧失,
    MrCU204 2025-01-17 11:30 209浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 187浏览
  • Ubuntu20.04默认情况下为root账号自动登录,本文介绍如何取消root账号自动登录,改为通过输入账号密码登录,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!添加新账号1、使用adduser命令来添加新用户,用户名以industio为例,系统会提示设置密码以及其他信息,您可以根据需要填写或跳过,命令如下:root@id
    Industio_触觉智能 2025-01-17 14:14 140浏览
  • 随着消费者对汽车驾乘体验的要求不断攀升,汽车照明系统作为确保道路安全、提升驾驶体验以及实现车辆与环境交互的重要组成,日益受到业界的高度重视。近日,2024 DVN(上海)国际汽车照明研讨会圆满落幕。作为照明与传感创新的全球领导者,艾迈斯欧司朗受邀参与主题演讲,并现场展示了其多项前沿技术。本届研讨会汇聚来自全球各地400余名汽车、照明、光源及Tier 2供应商的专业人士及专家共聚一堂。在研讨会第一环节中,艾迈斯欧司朗系统解决方案工程副总裁 Joachim Reill以深厚的专业素养,主持该环节多位
    艾迈斯欧司朗 2025-01-16 20:51 289浏览
  • 本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。源码修改修改源码根目录下文件device/rockchip/rk3562/package_performance.xml并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为AP
    Industio_触觉智能 2025-01-17 14:09 189浏览
  • 故障现象 一辆2007款日产天籁车,搭载VQ23发动机(气缸编号如图1所示,点火顺序为1-2-3-4-5-6),累计行驶里程约为21万km。车主反映,该车起步加速时偶尔抖动,且行驶中加速无力。 图1 VQ23发动机的气缸编号 故障诊断接车后试车,发动机怠速运转平稳,但只要换挡起步,稍微踩下一点加速踏板,就能感觉到车身明显抖动。用故障检测仪检测,发动机控制模块(ECM)无故障代码存储,且无失火数据流。用虹科Pico汽车示波器测量气缸1点火信号(COP点火信号)和曲轴位置传感器信
    虹科Pico汽车示波器 2025-01-23 10:46 60浏览
  • 日前,商务部等部门办公厅印发《手机、平板、智能手表(手环)购新补贴实施方案》明确,个人消费者购买手机、平板、智能手表(手环)3类数码产品(单件销售价格不超过6000元),可享受购新补贴。每人每类可补贴1件,每件补贴比例为减去生产、流通环节及移动运营商所有优惠后最终销售价格的15%,每件最高不超过500元。目前,京东已经做好了承接手机、平板等数码产品国补优惠的落地准备工作,未来随着各省市关于手机、平板等品类的国补开启,京东将第一时间率先上线,满足消费者的换新升级需求。为保障国补的真实有效发放,基于
    华尔街科技眼 2025-01-17 10:44 236浏览
我要评论
0