这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » NAND闪存颗粒的组成

共2条 1/1 1 跳转至

NAND闪存颗粒的组成

高工
2021-02-13 00:01:31     打赏

手机越用越慢,排除各类软件后台等因素,手机存储也会影响手机运行速度,特别是在可用空间较少的时候。

什么是NAND闪存?

内存颗粒又称闪存,是一种非易失性储存器,掉电不会丢失内容。闪存颗粒有很多变种,其中NAND闪存常用于固态硬盘、手机存储器。

闪存颗粒:

根据NAND颗粒每个单元内储存的比特数不同又可以分为SLC(Single-LevelCell)、MLC(MulTI-LevelCell)、TLC(Triple-LevelCell)和QLC(Quad-levelcell)

储存密度越高读写性能可能会越差、寿命会越短,但成本越低。目前市面90%以上的固态硬盘、手机都是TLC颗粒。

TLC颗粒寿命一般在1000次完全写入(1000P/E)左右。所谓完全写入,例如128G存储,写入128G数据为一次P/E。

NAND颗粒的组成:

o4YBAGATcnKAYPMEAATGNWe9sO8069.png

在NAND闪存颗粒中:

1.Block是最小的擦除单位Block包含多个Page。

2.Page是最小的写入单位。

3.删除数据时,数据并没有擦除,而是把文件的储存空间(Page)标记为作废。

4.必须先擦除才能写入数据

当写入数据的时候:

如果存储空间充足,芯片会找一个新的(干净的/擦除过的)Block以Page为单位写入数据。

如果没有太多空闲容量时(已经没有闲置的(干净的)整个Block,只有作废的Page),芯片会将某个Block读取到缓存,然后将原本的数据和新添加的数据一起写入刚才的Block。

这种情况造成了原本只需要写入一个Page变成了一个Block,这就是闪存的写放大(WriteAmplificaTIon)。这种情况下原本只要写入4K的数据,却造成了整个Block的写入,写放大128倍。重新写入整个Block的操作造成速度变慢。

可用空间不足时写入数据的步骤:

o4YBAGATcnqAE2YuAAFR6QoWEQQ346.png

前面提到NAND闪存擦写次数是有限的,写放大不仅使写入性能下降而且加速了NAND闪存的磨损。

垃圾回收(GarbageCollecTIon)

当我们删除文件的时候,系统利用Trim命令通知闪存主控,闪存主控将他们标记为废块,不再搬动数据。并在适当的时间回收废块。

寿命均衡(WearLevelling)

为了避免某些物理快在写入后就没有再次更改(例如系统文件),而一些块不断的擦写导致有些块寿命还很长,而有些块磨损严重,闪存主控会在适当的时机给文件更换位置。

结论:

从上面可以看到闪存主控会在适当的时机不断的腾挪数据存储在NAND闪存物理块的位置,起到均衡磨损、减少写放大的作用。

随着数据越来越多,闪存存储空间越来越少,留给主控腾挪的空间也越来越少,IBMZurichResearchLaboratory做的研究表明写放大和空闲空间关系极大。如下图:

pIYBAGATcoOAQ2ZwAAJKlZNrG5Y603.png

空闲块少后,写放大达到3-4倍,当闪存存储空间使用大于75%后,会因为写放大而大大降低写入性能。所以删除掉一些文件吧。




工程师
2021-02-17 23:56:32     打赏
2楼

组成起来还是非常不错的


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]