SSD之颗粒

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


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

你可能感兴趣的:(Linux运维基础)