硬件-固态硬盘

本文最后更新于:2020年9月27日 晚上

信息

固态硬盘(SSD)主要包括主控芯片、闪存颗粒和缓存单元三大组件

预算>主控>颗粒>无缓存>容量

主控

一款主控芯片的好坏直接决定了固态硬盘的实际体验和使用寿命
主要分为两种:原厂和主控厂商

主控的工作

  • 同时连接多个闪存单元
    这意味着能获得更高的吞吐量

  • 损耗均衡
    平均分配,延长寿命
    SSD闪存单元写入次数有限,如果SSD只往同一个闪存单元理读写东西,那么这个闪存单元很快就会因为写入次数过多而报废
    主控将东西平均分配到各个闪存单元,通过平均写次数来延长硬盘寿命

  • GC 垃圾回收
    把现存数据重新转移到其他闪存位置,并且把一些无用的数据彻底删除的过程
    可以将块中的没用的数据打上“过期”的标签,在转移数据到其它块的时候,只转移那些没有被打标签的内容。这样能避免无意义写入,延长硬盘寿命

    写入放大
    当写入新数据时,如果SSD控制器找不到可以写入的page时,会执行GC过程,然后GC机制会将一些block中的有效数据合并写入其他的block中,然后将这些block的无效数据擦出,再将新数据写入到这些block中,而在整个过程中除了要写入用户的数据之外,实际上SSD还写入了一些其他block合并过来的数据,所以这就叫写入放大

  • Trim
    减少写入负担
    Windows识别到SSD并确认SSD支持Trim后,在删除数据时,会不向硬盘通知删除指令,只使用Volume Bitmap来记住这里的数据已经删除。
    Volume Bitmap只是一个磁盘快照,其建立速度比直接读写硬盘去标记删除区域要快得多。这一步就已经省下一大笔时间了。
    写入数据的时候,可以直接根据Volume Bitmap的情况,向快照中已删除的区块写入新的数据,而不用花时间去擦除原本的数据。

  • 控温、SMART健康度报告、坏块管理、纠错、断电保护等等

主控的好坏

各个主控厂商对主控的设计保密很厉害,实际上你很难评价主控的好坏
也许只有等你用久了才感受得到

缓存

缓存的标准作用
适配速度不同的设备。将经常使用的内容保存在其中,高速设备需要直接从缓存里拿,不必访问低速设备,进而节约在低速设备运行时间

独立缓存

对于SSD来说,独立缓存并不是很重要。
SSD的反应速度很快,只有0.2毫秒,不比缓存慢。带缓存性能提升也不大,只有在小文件的读写速度上稍有优势。
寿命方面来说,SSD并不是看有没有缓存,而是看NAND FLASH的写入次数。打个比方说,带缓存的用10年,不带缓存的用9年10个月这种感觉,影响也很小。
主控不同的话,也是SSD是否带缓存的一个因素,有些主控不需要缓存,有的则需要。比如镁光M4的Marvell主控就必须要有缓存的支持才可以工作。
所以很多SSD都没有缓存

PCIe 与 SATA

SATA(串行ATA)

是SSD使用的一种连接接口,用于与系统进行数据通信。它创建于2003年,这意味着它有很多时间将自己巩固为当今最广泛使用的连接类型之一

PCIe

PCIe(Peripheral Component Interconnect Express)
可以视为与主板更直接的数据连接。它通常用于显卡等设备,这些设备也需要极快的数据连接

SATA PCIe 对比

||理论通道带宽|理论传输速度|
|–|–|–|–|
|SATA 3.0|6 Gb/s|750 MB/s|
|PCIe 3.0|8 Gb/s/通道|985 MB/s/通道||

PCIe设备可支持1x,4x,8x或16x通道,因此潜在的传输速度可到15.76 GB/s

性能测试

可以用常用的性能测试比如fioIOMeter等工具评估一下,并且需要测试一下SSD使用率达到80%以上时SSD的性能
有些SSD针对常用的测试工具fio做了优化,所以使用fio是测试不出真实性能,必须上IOMeter

寿命

简易计算公式

固态硬盘的寿命,是由闪存类型和写入量决定的。

  1. 一般的MLC固态硬盘,最广泛了,与入量是3000次P/E,也就是累计写满3000次。假设一只128G的固态硬盘,每天平均写入40G(一般的家庭用户不可能做到),那也能使用20年以上。
  2. TLC的寿命,是MLC的一半或三分之一。也就是上述寿命缩短三倍。
  3. SLC的寿命,是10000次p/e,是MLC的三倍以上。

参考:


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!