File Based Optimizations(FBO,FBO焕新存储技术)介绍

背景

简介

  • File Based Optimizations,简称FBO,大概翻译为"基于文件的优化"。

  • 7月份的时候,看到小米公司发出的宣传文章,一种自研的"FBO焕新存储技术",并且加入了UFS规范。
    在这里插入图片描述

  • 看小米公司相关文章的介绍,这个技术主要应用在那些使用较久的设备上,让存储设备的读取性能恢复到类似于全新手机的性能。
    在这里插入图片描述

  • 8月份JEDEC正式发布这个名为"File Based Optimizations"的扩展特性。本文主要是介绍这个FBO标准的内容。

卡顿的原因

  • 设备使用长时间后,用户会明显感觉到卡顿的性能下降导致。比如我几年前买的某国产手机,使用一年后,软件的响应速度奇慢无比,所以我每隔1个月就恢复出厂设置一次,后来确实受不了就换了手机。
  • 导致这个问题的原因有很多,和存储器件关系比较大。比如长时间使用,存储器件容量剩余空间不多了,各种app的频繁写入,导致存储器件中存储介质碎片化严重,每次写入新数据需要触发数据搬移,从而导致写入性能下降。此外,还可能导致存储器件中数据物理存放的关联性下降,表现为一段连续的逻辑区间,却分布在NAND Flash不同的位置上,使得读取时无法利用最优的并发效果,导致读性能下降,FBO针对的是这种情况。

FBO实现

原理

  • 主要实现方式是上位机通过解析文件系统,把关键的的文件的逻辑区间(比如影响系统性能的只读文件)告知存储器件,存储器件去分析这个逻辑区间的存储结构,并且通过调整存储结构为较优的方式,从而提高读性能,从而达到“焕新”的效果。

流程介绍

分析结束
分析进行中
优化结束
优化中
上位机获取存储设备的FBO相关信息
上位机分析和决定需要优化的文件
上位机向存储器件发起分析请求
上位机获取分析结果
上位机决定优化等级
上位机发起优化指令
End
  • 上位机发送分析请求和优化请求,针对的是逻辑区间
  • 存储器件对指定的逻辑区间进行分析,看数据的分布对性能影响有多少,通过“Regression Level”告知上位机情况。
  • 上位机根据自身需要,设定优化等级,让存储器件对低于阈值的逻辑区间进行优化。

Regression Level

  • 协议定义了"Regression Level",用于描述分析性能下降的程度。
  • 这个值的设定方法根据存储器件固件自行去判定。
  • 这个值分为11个等级,定义如下
• 0x00 –no Regression 
• 0x01 – 1%-10% Regression Level 
• 0x02 – 11%-20% Regression Level 
• … 
• 0x0A – 91%-100% Regression Level 
• Other values: reserved

优化实现方式

  • 根据不同的固件实现方式有关系,比如把相关逻辑数据搬移可以并发的位置,具体看存储器件的实现。

后话

  • 本质还是主要通过存储固件对数据进行搬移,达到读性能提升。所以会造成存储介质NAND Flash的磨损。
  • 不过问题不大,毕竟不需要频繁触发,且触发优化的逻辑区间需要合理。
  • 整理后,由于数据存储的逻辑相关性更好了,所以对后续的使用可能也更好了。
  • 上位机和存储器件的交互很重要,比存储器件固件自行识别处理效率高多了,后续大有所为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值