找回密码
 立即注册
搜索
查看: 2376|回复: 7

[硬件] 固态盘 有大文件长期占据 反复擦写小部分空间有影响吗

[复制链接]
     
发表于 2022-1-30 20:11 | 显示全部楼层 |阅读模式
忽然想起这点,全盘擦写寿命与只擦写一部分的寿命差距, 有的擦几次有的擦百次了。

一些软件游戏用不用挪动在复制回来一次。


回复

使用道具 举报

发表于 2022-1-30 20:18 | 显示全部楼层
取决于主控和固件,去年冷数据降速问题爆发之后,很多主控刷了新固件以后现在都会没事把你的文件挪一挪。
回复

使用道具 举报

发表于 2022-1-30 21:08 | 显示全部楼层
有磨损平衡算法,不过你留的空间越多它平衡的余地越宽裕
回复

使用道具 举报

     
发表于 2022-1-30 21:08 来自手机 | 显示全部楼层
我发现这个问题的时候是我SSD写入速度不到100M的时候。。。
好像是不可逆的,把空间腾出来了速度还是没上去

—— 来自 samsung SM-G9910, Android 12上的 S1Next-鹅版 v2.5.2
回复

使用道具 举报

     
发表于 2022-1-30 21:40 | 显示全部楼层
caibing 发表于 2022-1-30 21:08
我发现这个问题的时候是我SSD写入速度不到100M的时候。。。
好像是不可逆的,把空间腾出来了速度还是没上去 ...

你把文件删了实际上数据并没有删,等到下次写的时候要先擦除,再写
试着主动做一次 trim 可能会好点,或者放着等一段时间自动 trim
回复

使用道具 举报

     
发表于 2022-2-1 08:44 | 显示全部楼层
当然是空越多越好
但是你没必要自己移动,主控自己会处理
楼上提到的掉速的问题,其实往里面写一个很大的全是0的文件也可以解决,Linux下可以用dd
回复

使用道具 举报

     
发表于 2022-2-1 10:10 | 显示全部楼层
本帖最后由 downforce 于 2022-2-1 10:12 编辑
ls2021 发表于 2022-2-1 08:44
当然是空越多越好
但是你没必要自己移动,主控自己会处理
楼上提到的掉速的问题,其实往里面写一个很大的全 ...

nand flash未写入数据的单元是没有多余电子的,但在逻辑上却记作1而不是0,所以直接读固态颗粒的原始数据空闲部分读出来全是FF。你要是全写成0,将来要存数据时反而需要重新擦除。
NOR FLASH和NAND FLASH都是使用浮栅场效应管(Floating Gate FET)作为基本存储单元来存储数据的,浮栅场效应管共有4个端电极,分别是为源极(Source)、漏极(Drain)、控制栅极(Control Gate)和浮置栅极(Floating Gate),前3个端电极的作用于普通MOSFET是一样的,区别仅在于浮栅,FLASH就是利用浮栅是否存储电荷来表征数字0’和‘1’的,当向浮栅注入电荷后,D和S之间存在导电沟道,从D极读到‘0’;当浮栅中没有电荷时,D和S间没有导电沟道,从D极读到‘1’,原理示意图见图1.1[1],图1.2是一个实际浮栅场效应管的剖面图。
1605963103932307.png
注:SLC可以简单认为是利用浮栅是否存储电荷来表征数字0’和‘1’的,MLC则是要利用浮栅中电荷的多少来表征‘00’,‘01’,‘10’和‘11’的,TLC与MLC相同。
FLASH中,常用的向浮栅注入电荷的技术有两种---热电子注入(hot electron injection)和F-N隧道效应(Fowler Nordheim tunneling);从浮栅中挪走电荷的技术通常使用F-N隧道效应(Fowler Nordheim tunneling),基本原理见图2[2]。
  写操作就是向浮栅注入电荷的过程,NOR FLASH通过热电子注入方式向浮栅注入电荷(这种方法的电荷注入效率较低,因此NOR FLASH的写速率较低),NAND FLASH则通过F-N隧道效应向浮栅注入电荷。FLASH在写操作之前,必须先将原来的数据擦除(即将浮栅中的电荷挪走),也即FLASH擦除后读出的都是‘1’。
  擦除操作就是从浮栅中挪走电荷的过程,NOR FLASH和NAND FLASH都是通过F-N隧道效应将浮栅中的电荷挪走的。
  读出操作时,控制栅极上施加的电压很小,不会改变浮栅中的电荷量,即读出操作不会改变FLASH中原有的数据,也即浮栅有电荷时,D和S间存在导电沟道,从D极读到‘0’;当浮栅中没有电荷时,D和S间没有导电沟道,从D极读到‘1’。

回复

使用道具 举报

     
发表于 2022-2-1 16:37 | 显示全部楼层
downforce 发表于 2022-2-1 10:10
nand flash未写入数据的单元是没有多余电子的,但在逻辑上却记作1而不是0,所以直接读固态颗粒的原始数据 ...

全部写0,主控不见得会实际写入
你可以比较一下全部写0和写随机值的速度,有些主控你全写0它根本不写多少数据进去
记得跑到SLC Cache用完
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-15 04:24 , Processed in 0.030402 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表