SSD固件Firmware主要算法介绍

SSD固件(Firmware)就是写入EROM(可擦写只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。

固件是指设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如SSD、U盘、光驱、刻录机等都有内部固件。

固件是担任着一个系统最基础最底层工作的软件。而在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就决定着硬件设备的功能及性能。

SSD固态硬盘三大参数是:主控、闪存颗粒、固件算法。SSD固态硬盘不是简易地把3D闪存颗粒堆叠在一起,成为一层一层的高楼大厦就做成了,更为重要的是还要让SSD长期稳定、快速地运行,延长寿命等等,就要研制优质的固件算法。

ssd Firmware
ssd Firmware

即使两块SDD的主控、闪存颗粒是一模一样的,这两块SSD的使用性能也可能还是有差别的,有时差别还很大。因为,这两块固态硬盘的固件算法不一样,导致运行情况可能差距很大,即速度和寿命不一样。

因此,SSD固件的算法好坏非常重要。算法优秀的固件需要让闪存和主控之间达到完美的兼容,需要掌握闪存颗粒和主控等多项先进的技术 。固件的算法越优秀,整个SSD的品质也就越好。

固件需要协作来完成复杂且同样重要的任务,即管理数据存储、维护SSD性能和使用寿命等。

一、固件算法主要有哪些?

SSD的固件是确保SSD性能的最重要组件,用于驱动控制器。主控将使用SSD中固件算法中的控制程序,去执行自动信号处理,耗损平衡,错误校正码(ECC)及坏块管理、垃圾回收算法GC、FTL算法、trim算法等等。

二、固件主要算法简介

固态硬盘
固态硬盘

1、磨损平衡写入算法:

SSD需要一个非常完善的平衡写入算法,让所有的颗粒都均衡消耗,不至于导致有一部分颗粒写入寿命耗尽,而其它颗粒未使用的情况。

SSD拥有磨损平衡算法,大致分为动态和静态两种。

动态的算法就是当写入新数据的时候,会自动往比较新的Block中去写,老的闪存就放在一旁歇歇。

它们都加入对Trim指令的支持。这可以让操作系统在删除逻辑表中删除逻辑扇区地址的同时通知固态硬盘某些数据已经无用了。

而静态的算法就更先进,就算没有数据写入,SSD监测到某些闪存Block比较老,会自动进行数据分配,让比较老的闪存Block承担不需要写数据的储存任务,同时让较新的闪存Block腾出空间,平日的数据读写就在比较新的Block中进行。如此一来,各个Block的寿命损耗,就都差不多了。

2、错误校正码ECC及坏块管理算法:

ECC是一种用于差错检测和修正的算法。NAND闪存在生产和使用中都会产生坏块,BBM就是坏块的管理机制。

而要有效管理坏块的首要前提,就是有可靠的坏块检测手段,ECC的能力也影响到NAND闪存的寿命和数据保存期。

3、FTL算法:

把SSD的架构虚拟成HDD的算法,叫做“FTL”。

NAND Flash是固态硬盘的基本存储单元,主要用来存储数据,相当于机械硬盘的磁盘。

SSD由闪存构成,没有盘片,也就没有扇区,这就得靠一些算法来进行转换了。

FTL算法是由SSD主控提供的,比操作系统更加底层。FTL作为一个软件中间层,可以把SSD基于Page的硬件架构映射成HDD基于扇区的硬件架构。

操作系统为SSD建立文件系统的时候,有了FTL,操作系统看到的SSD和HDD是完全相同的,就可以用传统的方法对SSD进行分区、格式化等操作。

利用FTL软件算法,SSD才能顺利接替HDD,没它SSD就无法识别。

4、垃圾回收算法GC:

SSD内部都有垃圾回收机制。功能与磁盘整理功能相当,但算法不同。

首先介绍一下SSD的页面管理机制,即闪存的硬件架构。

在固态硬盘闪存内,数据存储一般按页(Page)为最小单位存储的(典型的为4KB),而128个页组成了一个块(block),数据可以以4KB大小的页来读取和写入,但却只能以512KB(128页)的块大小来删除。

SSD中的1页=4KB,1块=128
SSD中的1页=4KB,1块=128

垃圾回收的基本原理是把几个Block中的有效数据集中搬到一个新的Block上面去,然后再把这几个Block擦除掉,这样就产生了新的可用Block了。

垃圾回收相当于固态硬盘的碎片整理功能,这是固态硬盘自身固件软件自动运行回收,不需要人工操作。

垃圾回收的功能是将所有Block中的有效Page合并到一个新的Block中,并将旧的Block进行擦除,这样做的好处一方面减少寻址负担,另一方面留出更多的空闲Block。所以垃圾回收对固态硬盘的性能和寿命都起到至关重要的作用。

SSD固态硬盘固件垃圾回收原理图
SSD固态硬盘固件垃圾回收原理图

5、Trim算法

对无用的页进行标记,这个指令本身并不去删除无用的块。它协助垃圾回收,减少删除次数,提高了垃圾回收效率。

这个trim指令是win 7以上操作系统默认开启的,不需人工开启,也不需人工去操作这条指令,固件软件会自动运行这条指令的。

对支持TRIM的系统,在用户写入数据时并没有什么不同。但是当用户删除文件的时候,因为系统支持了TRIM指令,固态硬盘立刻就把数据标记为“无用”。

垃圾回收算法等待到所有Block中的有效Page(标记为无用的页,就不会搬动了)合并到一个新的Block中,剩下的是无用的页,最后统一将旧的Block擦除干净。这样做减少了闪存删除数据的次数,节约了时间。

简言之,就是对无效数据所在的整个块,先把这块内有效数据集中起来,转移到空闲的块中,然后把“已搬迁的块连同无效数据”整个擦除。

SSD读写是按1页为单位进行的,但整理擦除是按128页即一块为单位进行的。

三、固件知名厂家

目前能够独立开发固件的SSD厂商为数不多,仅有三星、Intel、闪迪、英睿达、浦科特、东芝、OCZ等,这是大厂带来的技术优势。固件的品质越好,整个SSD就越精确,越高效。

当然,在固态硬盘固件出现BUG影响SSD正常使用时,这些SSD厂商也会很快发布新的更新固件,而小厂商一般没有后续更新,也不具备这种技术实力。当SSD制造商发布一个固件更新时,需要手动更新固件来改进和扩大SSD的功能。

原创文章,作者:大柱,如若转载,请注明出处:SSD固件Firmware主要算法介绍

(0)
上一篇 2019年12月9日
下一篇 2020年1月13日

相关文章

  • 揭秘固态硬盘:Backblaze对2023上半年硬盘故障率的深入分析

    Backblaze发布云存储服务提供商2023上半年硬盘故障率报告,通过对至少100个SSD在共计10000天的运行时间中进行抽样,揭示了各个品牌在这个高要求的存储环境下的表现。 …

    2023年10月5日
    0910
  • 固态硬盘有什么优势?【科普】

    硬盘,也叫存储设备。是当今时代数码产品不可或缺的东西,手机、电脑、相机、服务器,凡是需要存储数据的,都少不了硬盘的存在。硬盘可以分为机械硬盘和固态硬盘两种,在过去很长时间,机械硬盘…

    2023年6月23日
    03120
  • 国产固态硬盘怎么选?

    很多电脑小白用户在购买硬盘时往往会忽略其中一个的重要参数,那就是硬盘的颗粒。硬盘产品的颗粒质量决定着一块硬盘产品的性能上下限,大部分极其便宜的固态通常都会采用二手颗粒、废旧颗粒,这…

    2023年5月24日
    03250
  • 最新版Windows KB5023706更新严重影响固态硬盘性能

    Windows 2的Moment 11更新于上周发布,在Windows Experience博客上落后几周后。微软工程部门启动了一个Reddit线程来监控和响应反馈,但该线程看起来…

    2023年3月21日
    03980
  • Icy Dock推出CP130适配器:摄影一族用上M.2 固态硬盘

    一般用户使用单反数码相机都是利用SD卡或CF卡存储,随着4K/8K视频拍摄、更高像素的照片及连拍等多方面的存储需求增加,出现了基于PCIe总线技术的XQD卡,后来还引入了NVMe协…

    2023年3月20日
    02940
  • 搞笑:男子滑板车藏84个固态硬盘入境被海关现场查水表

    今日,据海关总署官方信息平台“海关发布”微信公众号消息,近日,拱北海关所属青茂海关在珠澳跨境工业区专用口岸查获一名旅客利用电动滑板车藏匿硬盘进境,合计数量84个。 由于价格低廉,国…

    2023年3月18日
    02820

发表回复

登录后才能评论
业务联系 投稿
返回顶部