SSD之颗粒

news/2025/2/4 3:45:41/

浅谈常用存储之固态颗粒那些事


2019-02-04 新年特稿

首先,关于Flash闪存不得不说的故事:固态硬盘、U盘、TF卡都是基于Flash闪存技术的,这个技术很流行,但作为存储器,其自身技术的局限性,主要来源于存储单元技术。

  • SLC:Single Layer Cell (单层单元),即只有一层,每次只可以存储一个bit数据;SLC的特点是成本高、容量小、速度快,每个存储单元有1bit数据,每个单元可擦写次数可达到10万次,一般应用于工业级产品和服务器级的SSD中,适用于频繁擦写,因此,如果当设备主要提供频繁擦写,使用SLC比较合适,但是由于成本高,其价格非常昂贵。
  • MLC:Multi-Level Cell(多层单元),实际是双层的,即可以存储2bit数据;在相同的单元密度下可以存储2bit数据。同时,这也是目前市场上消费级SSD使用的最主要存储技术,但是由于密度和存储结构(算法)原因,每个单元理论可擦写次数为3000~10000次。
  • TLC: Triple-level Cell(多倍单元),在相同的单元密度下可存储3bit数据,这也是目前低价U盘、TF卡常用的存储技术,其特点是密度大、成本低,但是其缺点是速度慢、易损坏,用于单元存储密度的提高,其每个单理论可擦写次数为500~1000次。

综上,对于有条件的亲们可以考虑MLC的存储,就SSD而言,目前市场的大多厂商都采用TLC颗粒,从理论上说,TLC可以在10年不间断的擦写下,正常使用,因此,对于普通的使用TLC已经足矣。
同时,衡量一个SSD的整体性能还需要考量主控和缓存(某些低端的可能没有),主控是固态硬盘的大脑,担负合理调配数据在各个闪存芯片上的负荷,二则是承担了整个数据中转,连接闪存芯片和外部SATA接口。
缓存即高速的缓存芯片辅助主控芯片进行数据处理。

使用与保养 [1]

对于固态硬盘的使用和保养,最重要的一条就是:在机械硬盘时代养成的“良好习惯”,未必适合固态硬盘。

一、不要使用碎片整理

碎片整理是对付机械硬盘变慢的一个好方法,但对于固态硬盘来说这完全就是一种“折磨”。
消费级固态硬盘的擦写次数是有限制,碎片整理会大大减少固态硬盘的使用寿命。其实,固态硬盘的垃圾回收机制就已经是一种很好的“磁盘整理”,再多的整理完全没必要。Windows的“磁盘整理”功能是机械硬盘时代的产物,并不适用于SSD。
除此之外,使用固态硬盘最好禁用win7的预读(Superfetch)和快速搜索(Windows Search)功能。这两个功能的实用意义不大,而禁用可以降低硬盘读写频率。

二、小分区 少分区

还是由于固态硬盘的“垃圾回收机制”。在固态硬盘上彻底删除文件,是将无效数据所在的整个区域摧毁,过程是这样的:先把区域内有效数据集中起来,转移到空闲的位置,然后把“问题区域”整个清除。
这一机制意味着,分区时不要把SSD的容量都分满。例如一块128G的固态硬盘,厂商一般会标称120G,预留了一部分空间。但如果在分区的时候只分100G,留出更多空间,固态硬盘的性能表现会更好。这些保留空间会被自动用于固态硬盘内部的优化操作,如磨损平衡、垃圾回收和坏块映射。这种做法被称之为“小分区”。
“少分区”则是另外一种概念,关系到“4k对齐”对固态硬盘的影响。一方面主流SSD容量都不是很大,分区越多意味着浪费的空间越多,另一方面分区太多容易导致分区错位,在分区边界的磁盘区域性能可能受到影响。最简单地保持“4k对齐”的方法就是用Win7自带的分区工具进行分区,这样能保证分出来的区域都是4K对齐的。

三、保留足够剩余空间

固态硬盘存储越多性能越慢。而如果某个分区长期处于使用量超过90%的状态,固态硬盘崩溃的可能性将大大增加。
所以及时清理无用的文件,设置合适的虚拟内存大小,将电影音乐等大文件存放到机械硬盘非常重要,必须让固态硬盘分区保留足够的剩余空间。

四、及时刷新固件

“固件”好比主板上的BIOS,控制固态硬盘一切内部操作,不仅直接影响固态硬盘的性能、稳定性,也会影响到寿命。优秀的固件包含先进的算法能减少固态硬盘不必要的写入,从而减少闪存芯片的磨损,维持性能的同时也延长了固态硬盘的寿命。因此及时更新官方发布的最新固件显得十分重要。不仅能提升性能和稳定性,还可以修复之前出现的bug。

五、学会使用恢复指令

固态硬盘的Trim重置指令可以把性能完全恢复到出厂状态。但不建议过多使用,因为对固态硬盘来说,每做一次Trim重置就相当于完成了一次完整的擦写操作,对磁盘寿命会有影响。
随着互联网的飞速发展,人们对数据信息的存储需求也在不断提升,现在多家存储厂商推出了自己的便携式固态硬盘,更有支持Type-C接口的移动固态硬盘和支持指纹识别的固态硬盘推出。

[1] 参考:https://baike.baidu.com/redirect/f631VikDHaaPaK7f9r_P6Ttafvnm5pVsicy_Y7G1raN_y3XXPKwSiqJXFSrsVt55kkD1o5fg4IdarTStSCF68ztDBU5lJj3lE0N_SOYP-_N4PaxMC1tg8BSmfw


http://www.ppmy.cn/news/469693.html

相关文章

固态硬盘进阶知识:颗粒篇

前言—— 大家可能知道固态硬盘由主控芯片、闪存、缓存芯片、接口几部分组成。 固态硬盘的内部结构 在这其中,如果将主控比作心脏,那么闪存就是大脑,因为闪存起着存储数据的作用,而对于固态硬盘来说,它尤为重要&#…

1-Single Thread

单线程执行模式 案例-1 背景 模拟3个人频繁地经过同一个只能容许一个人经过的门 。 (模拟三个线程调用同一个对象的方法) 当人通过门的时候,这个程序会在计数器中,递增通过的人数。另外, 还会记录通过的人的 “ 姓名与…

Java分类递归优化

分类递归很多功能都可以遇到的但是如果数据特别大的情况下就会很慢了 原代码 List<CategoryEntity> res entities.stream()// 过滤找出一级分类.filter(categoryEntity -> categoryEntity.getParentCid() 0)// 处理&#xff0c;给一级菜单递归设置子菜单.peek(men…

二叉树oj以及前中后序非递归写法

1. 根据二叉树创建字符串 给你二叉树的根节点 root &#xff0c;请你采用前序遍历的方式&#xff0c;将二叉树转化为一个由括号和整数组成的字符串&#xff0c;返回构造出的字符串。 空节点使用一对空括号对 “()” 表示&#xff0c;转化后需要省略所有不影响字符串与原始二叉…

正则表达式中+ 与 * 有啥区别?

在正则表达式中&#xff0c;"“和”*"都是量词&#xff0c;用于指定前面的模式可以重复出现的次数。它们之间的区别如下&#xff1a; “”&#xff08;一次或多次&#xff09;&#xff1a;表示前面的模式必须出现至少一次或更多次。它要求前面的模式在匹配中至少出现…

mongo 副本集部署

当前我们使用docker-compose 的方式部署mongodb 副本集。当然&#xff0c;最佳还是使用kubernetes进行mongodb副本集的部署。 环境准备 1.安装docker&#xff0c;docker-compose 生成keyFile MongoDB使用keyFile认证&#xff0c;副本集中的每个MongoDB实例使用内容作为认证…

耳朵疼痛, 导致整个脸都疼痛并且张不开嘴 , 因为张嘴的时候耳后的肌肉疼痛---外耳道炎

近期亲身经历了这种疾病&#xff0c; 经过就诊查明 &#xff0c; 基本原因是因为外耳道损伤引起的伤口细菌感染 &#xff0c; 造成外耳道炎 &#xff0c; 用头孢 连续3天&#xff0c; 外加耳道使用氧氟沙星滴耳液 &#xff0c; 和酒精碘伏棉球消毒 每日三次 &#xff0c; 三天…

UE5下载完打开就崩溃,和用的A卡有关吗

显卡AMD XR 6600XT 内存16G,刚下载完打开就提示GPU崩溃或D3D设备已移除&#xff0c;创建了TdrDelay和TdrDdiDelay两个新注册表的方法不行&#xff0c;卸载Bridge插件也没有用。 崩溃报错&#xff1a;Fatal error: [File:D:\build\UE5\Sync\Engine\Source\Runtime\D3D12RHI\Priv…