首页 » 通讯 » 独家揭秘|小米14魔改存储芯片多出8GB空间背后的窍门_数据_空间

独家揭秘|小米14魔改存储芯片多出8GB空间背后的窍门_数据_空间

admin 2024-11-28 19:38:42 0

扫一扫用手机浏览

文章目录 [+]

在昨天揭橥的文章下面,有粉丝朋友哀求“评价下小米256GB多8GB的技能”。

首先,让我们看看雷总在小米14发布会上对这个“小创新”的阐述:

发布会内容中,提到的256GB内存,实在便是一个UFS4.0设备(基于NAND存储颗粒的移动存储产品)。
这里还有一个名词“FBO焕新存储”。

根据公开信息查到,针对UFS文件系统功能优化FBO特性是由小米与西部数据联合研发,并得到了其他厂商(比如美光、三星、海力士、铠侠等)支持,合入了UFS 4.0规范,在2022年8月正式发布在JEDEC组织。
基于这一点,也得给小米点这个赞,创新不易!

独家揭秘|小米14魔改存储芯片多出8GB空间背后的窍门_数据_空间 通讯

小米工程师向linux社区提交的UFS FBO功能优化patch记录:

基于文件优化特性(FBO)是一种帮助移动设备在其利用寿命内保持性能上风的新技能,紧张目的是为理解决手机的碎片化。

碎片化的实质:碎片化会导致数据存储效率低下。
随着韶光的推移,当一个存储设备被填满并且无法再按顺序写入数据时,或者当一个数据更新过程发生时,碎片化就会产生。
在更新过程中,新的NAND块被利用,而未更新的数据仍旧保留在原始的NAND块中。
纵然数据在逻辑上是顺序更新的,它也可能不是物理NAND块中的顺序存储。
当这种情形发生时,数据会分散(随机)存储在存储设备的不同位置上。
这反过来会导致较慢的性能,由于设备须要从各个物理位置网络数据时进行多次读取。

小米14中的UFS 4.0,跟SSD一样,底层存储颗粒都是NAND。
那你知道NAND闪存是怎么事情的吗?实在,它便是由很多个晶体管组成的。
这些晶体管里面存储着电荷,代表着我们的二进制数据,要么是“0”,要么是“1”。
NAND闪存事理上是一个CMOS管,有两个栅极,一个是掌握栅极(Control Gate), 一个是浮栅(Floating Gate). 浮栅的浸染便是存储电荷,而浮栅与沟道之间的氧化层(Oxide Layer)的好坏决定着浮栅存储电荷的可靠性,也便是NAND闪存的寿命。

但是呢,这些晶体管的电荷可不是永久存在的。
它们就像一群顽皮的孩子,喜好跑来跑去。
如果你常常让它们进行“擦除”和“写入”的操作(NAND闪存中,P/E Cycle,也称为擦除次数),它们就会以为累,电荷的存储能力也会逐渐低落(浮栅与沟道之间的氧化层被磨损的越来越严重,导致浮栅中电子的掌握越来越困难)。
直到有一天,它们再也不想存储电荷了,那这个时候,你的SSD的寿命也就差不多了。

以是呢,SSD寿命评估的底层机理,实在便是打算NAND闪存的擦除和写入次数(P/E Cycle)。
每个晶体管都有一个固定的擦除和写入次数,就像我们的腿一样,跑多了会累,会磨损。
当这些晶体管达到一定的磨损程度时,它们就再也存储不了电荷了,这时候你的SSD可就要退休了哦!

目前市情上紧张流利的便是4种NAND类型:SLC、MLC、TLC、QLC。
随着每个寿命从高到低依次是SLC>MLC>TLC>QLC.

随着单个cell含有的bit数越多,NAND的可靠性也会有所降落。
同时写延迟也在不断的增加。
SLC写延迟在0.5ms级别,到QLC写延迟达到10-20ms,40倍的差距。

NAND存储产品的寿命,最怕垃圾数据太多,也便是碎片化严重,会导致NAND颗粒的写放大增加,降落NAND的寿命。

举个例子,最坏情形下的,如果我要写入一个4KB的数据Z覆盖A,并恰好目标块没有空余的页区,须要进行GC回收。
这个时候就须要把B、C、D、E、F五分数据都搬走,然后擦除全体数据块,擦除完成后再整体写入6个数据页。
这个全体过程,Host虽然只写了4KB的数据,但实际过程中,由于GC的问题,NAND终极写入了24KB。
那么写放大WAF=24KB/4KB=6.

SSD产品中影响WAF的成分有很多,个中“OP预留空间”是跟本次雷总说的魔改8GB的空间有关。

SSD FTL算法的设计会影响写入放大的大小Wear Leveling,WL磨损均衡:这一机制紧张是通过均衡所有的闪存颗粒,从而延长整体的利用寿命,然而依旧是增加整体的写放大Over-Provisioning,OP预留空间:也会影响NAND写入的比例,终极影响写放大Garbage Collection,GC垃圾回收:比如上面的例子,便是GC垃圾回收迁居数据,擦除数据块后写入带来了整体写放大提升。
业务读写的数据模型:随机写和顺序写对NAND的写入比例有非常大的影响,直接影响写放大的系数系统层的TRIM操作:会影响invalid无效数据是否在GC过程中迁居,对写放大影响也有主要的浸染。

预留空间OP是什么呢?当一块SSD的数据写满时,须要额外的空间在启动垃圾回收之前接管新写入的数据,这块额外的空间,我们就称为预留空间。
当然,这块预留空间是对用户不可见的。
预留空间紧张分为两个部分:

(1)由于标称容量与NAND闪存打算差异造成的本征预留空间OP1。
市场上SSD标称的容量是按照千进制(1000)来打算的,但是NAND闪存的容量是按照1024打算的。
我们大略列个式子打算一下:

市场SSD标称 1GB(GigaByte)= 1000MB= 10001000KB= 100010001000Byte= 10^9Byte (1,000,000,000Byte).

NAND闪存 1GB(GibiByte)= 1024MB= 10241024KB =102410241024Byte =2^30Byte (1,073,741,824Byte).

这两个打算办法之间恰好相差7.37%。
以是说SSD本征的预留空间就有7.37%。

(2)SSD由于性能哀求而预留空间OP2,这部分也是标称OP。
这个部分预留空间紧张用于垃圾回收GC,存储SSD主控的固件(Firmware),备用数据块(Spare Blocks)等。
标称预留空间OP=(SSD物理总容量-用户数据空间)/用户数据空间

从上面这个表格中我们看到标称预留空间(Marketed OP)为0%的时候,实在这时的内部仍旧有7%的本征预留空间。

预留空间OP有什么好处?预留空间捐躯了用户数据空间,那TA假如再没有什么好处,用户就真的要崩溃咯。
实在预留空间OP的好处有很多:提高写入性能、降落写放大、提升NAND闪存利用寿命等。

以是,结合上面几个关键信息点,这个事情的逻辑该当是这样:

小米研发了基于文件优化的特性FBO,减小碎片化,增加NAND的顺序写入,降落了写放大,提升了UFS利用寿命。
原来UFS 4.0 256GB预留了10GB空间,用于坏块管理和FW垃圾回收等功能,现在由于有FBO的涌现,只须要2GB就可以完本钱来10GB的事情,这样就省出来了8GB给用户。

小编理解大概是这个逻辑,不知道各位是否有其他的意见,欢迎评论区留言互换!

标签:

相关文章

技能|电脑无法通电怎么解决_戴尔_电脑

如果按下电源按钮后戴尔打算机无法打开,不通电,请按照以下步骤打消故障。视频加载中...01检讨电源线、互换适配器与外设首先检讨电源...

通讯 2025-01-24 阅读1 评论0