首页 > 其他分享 >闪存潜规则:你的毛病比方案重要

闪存潜规则:你的毛病比方案重要

时间:2023-06-12 18:12:34浏览次数:40  
标签:闪存 潜规则 写入 毛病 坏块 数据 page Block

大家好,我是五月。

前言

目前绝大数存储设备都是以闪存为存储介质的,内部许多固件算法方案都是在为闪存服务的。

无论是什么算法,都是遵循着Flash的特性为前提的。

那闪存究竟有哪些潜规则的特性呢?

 

先擦后写

闪存块(Block)是不能覆盖写的,它不允许开发者在一个地方上重复写入,必须先擦除一遍才行。

一般来说,当有一笔数据写入的数据,都是安排写到新的地址空间上,当你实在不清楚一个地址究竟有没有有效数据的时候,稳妥的做法一般都是先擦除一遍再写入。

整page写入,整Block擦除

闪存允许最小的写入单位就是page,最少写入的数据量都得是1个page。

FTL算法中有一个基本操作,会把主机Host传下来的数据凑成1page,再写入Flash中,不足1page的,就放在Dbuf中,等待下一次数据来凑成1page,再写入Flash中。

闪存允许擦除的基本单位是1个Block,只要发生了擦除操作,那么这一整个Block的数据都会被清除掉,所以我们一般不会轻易做整块擦除。

解决办法:当有一笔新数据下来的时候,会把数据放在新的物理地址上,这样做一来是为了不轻易做擦除操作,避免失误擦除掉了有效数据,二来也避免在同一个物理地址上做重复的擦写,过快消耗闪存块寿命。

写入数据需要随机化

我们写的时候,如果简单把数据写进去,会遇到很多错误,有时候是写失败,有时候是读出来数据不对。

这是由于闪存存储电子的工作模式导致的,其对数据写入的样式特别敏感,如果不断地写入全0或者全1,容易导致内部电荷量不足,造成信号抗干扰性下降。

直观的现象就是你会发现某些数据bit位发生了翻转。

解决办法:写入数据前需要先将数据做随机化处理,也就是打乱数据,使得0和1的分布均匀。

但是打乱也不是随便打乱的,它会以某种方式进行随机化处理写入flash,读取数据的时候,会先进行一次反随机化处理,得到真实数据。

数据写满整个Block才会稳定

闪存还有个奇怪的特性,就是数据你必须得写满一整个块,这个块的数据才会稳定下来。

但是很多时候,我们没有那么多数据正正好好去写满一整个Block。

解决办法:为了保证写入数据稳定,我们写入一笔数据后,会额外写入几页数据,目的就是让写入的那笔数据保持稳定,而额外写入的几页数据,称之为附加逻辑页数据。

闪存块都有一定的寿命

每一次写和擦,都会对闪存块造成磨损,磨损久了,闪存块也就坏掉了。其寿命是用PE(擦写次数)来衡量的。

在使用中,我们尽量避免集中在同一片区域上重复擦写,不然这片区域的块很快就磨损没了。

解决办法:FTL中需要做一个磨损平衡的处理,让所有的Block都来均摊数据的写入。

将数据分担到其他的Block上,让每一个Block都磨损的平均些,既可以保证闪存有最大数据写入量,还能延长闪存的寿命。

 

每个闪存块读次数是有限的

除了有擦写次数限制,闪存块还有读次数的限制,读取的次数多了,数据便会出错,这种现象称之为读干扰现象。

解决办法:FTL算法需要做一个读干扰处理,当某个Block的读次数达到一定的阈值时,就把数据从该Block上搬移到新的Block上。

数据保持会丢失

闪存能存储数据的原理就是电荷的存储,但是电荷是流动不定的,时间一旦久了,电荷就会流失,反映出来的现象就是数据的丢失。

这个时间不好说,长则十多年,短则几年,几个月,甚至更短。

如果是在高温的环境下,电荷流失的速度会更快。

解决办法:FTL算法需要做一个扫描处理,去发现是否有数据保持丢失的问题,如果发现了,立马将数据搬移到新的位置,未雨绸缪。

坏块产生不可避免

闪存出现坏块这是无法避免的,有的是出厂的时候就有的坏块,有的是闪存在使用中产生的坏块。

坏块的症状就是擦除失败,或者写失败,或者读失败(ECC纠错纠不过来)。

解决办法:FTL算法需要做一个坏块管理的处理,对坏块打上坏块标记,在使用的时候就不要用这些坏块了,挑好的Block用。

对于MLC或TLC而言,存在下页损坏问题

对于MLC,一个worlLine存在Upper page和Lower page;

对于TLC,一个worlLine存在Upper page、Extra page和Lower page;

在写入时,如果发生意外,比如异常掉电这些,Lower page上成功写入的数据会被破坏掉。

解决办法:一个办法是在电路上加上电容,一旦发生异常掉电,让电容开始放电,在这段时间将数据保存起来,并且开启正常掉电流程。

还有一个办法是在FTL算法中需要做一个掉电恢复的处理,通过重建映射表将丢失的数据恢复回来。

一般无论有没有电容,FTL中都会带有一个异常掉电处理模块。

小结

闪存存在这么多的毛病,但是依旧抵挡不住各大存储领域的企业入局去研究其毛病,毕竟,一切方案,都是以特性未前提的,先明白了特性,才能有解决方案。

好了,这次先写到这儿,祝各位生活愉快。

 

标签:闪存,潜规则,写入,毛病,坏块,数据,page,Block
From: https://www.cnblogs.com/wuyue525/p/17475752.html

相关文章

  • NOR闪存MT28EW01GABA1LJS-0SIT、MT28EW01GABA1HJS-0SIT(1Gbit)
    产品详情:MT28EW01GABA1Gbit并行NOR闪存器件具有较高的密度、就地执行(XiP)性能和架构灵活性,可满足汽车、消费类和移动产品的设计要求。该器件非常适合用于GPS/导航、汽车后视摄像头、手机、智能手机和电子阅读器。该器件还具有较宽的温度范围、经过验证的可靠性追踪记录,并可长期......
  • NOR - 闪存 S28HS01GTGZBHI033/S28HS01GTGZBHB033/S28HS01GTGZBHI030 1Gb存储器
    器件概述:Infineon带有HyperBus™的S28HS01GTSemper™闪存是一种高性能、安全可靠的NOR闪存解决方案。 这些组件集成了关键的安全功能,用于汽车、工业、通信等行业的各种应用。S28HS01GTSemper闪存采用HyperBus接口,符合JEDECeXpandedSPI(JESD251)规范。InfineonS28HS01GTSe......
  • FTL潜规则:调优,才是算法精华
    前言在存储领域中有一个FTL的概念,这是一种Flash的内存管理算法,属于各个厂商的核心机密,每个厂商的处理方式不同,有的处理简单,有的处理复杂。FTL,即FlashTranslationslayer,也就是闪存转换层,可以完成从逻辑地址到物理地址的转换,简称为映射。 为什么需要FTL因为Flash的质量参差......
  • 模拟运行600万年 数据0损坏!Solidigm把QLC闪存玩到了极致
    不可否认的是,SLC、MLC、TLC、QLC、PLC、HLC……闪存技术一路走下来,整体的可靠性、寿命指标是逐步走低的,这也是NAND闪存架构天然属性所决定的。当然,这不代表QLC、PLC闪存的就难堪大用,关键是看如何设计与优化,从闪存、硬盘的硬件优化,再到主控、算法、负载的软件优化,都至关重要,也直接......
  • 洗刷耻辱 QLC闪存性能追上TLC 可靠性逆袭:32PBW写不死
    提到QLC闪存,几乎没多少人待见它,性能、可靠性比其他闪存都要差不少,以致于对比之下TLC都成香饽饽了,但是技术也是在发展的,有着Intel血统的Solidigm推出的第四代QLC闪存已经刮目相看。Solidigm是SK海力士收购Intel闪存业务之后成立的合资公司,独立运营,技术体系源于之前的Intel、美光合......
  • 企业家礼仪:饭局里不可不学的潜规则
    在中国,办事吃饭是常事,但是这样的饭局往往是不好应付的,诸多的潜规则等待你去体味。为了不出丑,呵呵,还是提早学习下为好。 饭局里不可不学的潜规则细节注意细节:1—座次总的来......
  • eMMC、UFS与NVMe区别是什么?教你认识手机闪存规格
    近几年,手机影像不断发展,照片+视频占据大量存储空间,在愈发膨胀的微信、手游以及各种APP面前,128GB存储真的有点不够用了。放到2023年,再让我去推荐手机的话,我首推256GB,其次是5......
  • MKV10Z64VLF7(64KB)MKE06Z128VLH4(128KB)MC9S08PA32AVLC闪存微控制器
    技术参数1、MKV10Z64VLF7 ICMCU32BIT64KBFLASH48LQFP核心处理器:ARM®Cortex®-M0+内核规格:32位单核速度:75MHz连接能力:I²C,SPI,UART/USART外设:DMA,LVD,POR,WDTI/O数:40......
  • esxi7.0调整虚拟闪存,解决硬盘容量小
    ESXi7.0引入了系统存储引导介质布局,旨在确保可以在未来版本中添加新特性和功能。分区布局最多可消耗138GB的磁盘空间,这限制了在硬件资源有限的小型服务器上创建VMFS......
  • 在网页中加载闪存文件系统中的图片、css和javascript
    在网页中加载闪存文件系统中的图片、CSS和JavaScript–太极创客(taichi-maker.com)index.html:ESP8266开发板建立的网站首页main.css:控制网页的css(层叠样式表)JavaS......