做明星同款的网站,互联网营销主要学什么,如何解决WordPress强制跳转,承包活应该上什么平台FTL Flash Translation Layer 闪存转换层 作用#xff1a;完成主机逻辑地址空间到闪存物理空间的映射 简言之#xff0c;使用者在C盘下写入一个文件#xff0c;对应这个文件资料写进SSD,SSD会记录这份资料存储的位置#xff0c;在HOST再次读取时#xff0c;从SSD闪存对应位…FTL Flash Translation Layer 闪存转换层 作用完成主机逻辑地址空间到闪存物理空间的映射 简言之使用者在C盘下写入一个文件对应这个文件资料写进SSD,SSD会记录这份资料存储的位置在HOST再次读取时从SSD闪存对应位置再取出资料的一张对照表。有点像仓库管理员的职责记录出入库产品位置信息别人来拿的时侯准确拿到 FTL的作用不仅仅只是做地址映射还包含如下功能
1.GC : Garbage Collection 垃圾回收 这是由于我们的闪存时不可覆写的就是写资料前你得保证这个Page里面是空的所以当我们写的资料更新以后可能就会存在Block里面有一些有用数据有一些没用得数据这些存储没用的数据得空间我们得给他空出来呀不然整个SSD里面存了好多无用资料把空间盛满了就没办法写新的资料进去了。 所以在SSD空闲或者空间不太够的时候就需要主动去做GC把有用的数据读出来重新放到新的地方去然后这个Block整个擦掉整理出来更多的空间以便后续写入 注意GC同时也会影响读写性能但又不得不去做否则我们不停的更新资料不做来不及GC擦掉无用数据最终SSD会没办法写入新更新的资料所以这个是需要SSD固件去平衡的一个点 2.WL : Wear Leveling 磨损均衡 之前提到闪存有寿命有擦写的上限。假如我们一直在对同一个地方高强度的写入再擦除就会造成这个位置的Block的擦写次数P/E Cycle [Program/Erase Cycle]严重高于其他地方的Block,长此以往这些Block很快就寿终正寝了。所以为了平衡整体的寿命就需要适时调整让数据尽量均匀的分布到每个闪存块上。 3.处理Read disturb问题 之前说闪存存在读干扰一直不停读会导致最后数据出错所以FTL也需要适时的将这些一直在读取的位置的资料做搬移再写入的操作避免最后数据出错 4.处理Data Retention问题 数据长时间保存会导致电子偷偷溜走导致数据丢失。在上电的情况下FTL也需要定期维护这些数据假如存在问题就需要做重新读取写入动作以免数据丢失 5.坏块管理 闪存存在寿命又坏块如何处理自然是标注起来不再使用FTL也需要记录这些坏块 坏块包含擦写失败ECC无法纠正的读失败 6.闪存类型配置 简单说就是为了性能或其他因素在条件允许的情况下将原本是QLC或者TLC的闪存配置为SLC来使用一方面提升读写速度一方面也可以提高寿命和可靠性 当然所以我们在消费级SSD上能看到最开始写入速度飞快写到一定数据量比如50G以后速度突然以下就断崖式跌落就是因为SSD上配置的SLC被消耗完了TLC或QLC写入相对就会慢非常多 衍生问题思考 针对第六点QLC配置为SLC提速了但容量变小了我如果一直写把SLC都写完继续写QLC为了保证容量原本的SLC是否还会再继续释放出来变成QLC这个处理过程是不是更会影响速度 SLC变QLC的过程应该也算GC的一种吧那我之前认为的顺序写不会有GC的理解是错误的对于这样的消费级产品顺序写也会造成GC