企业和消费级SSD Firmware的区别

2025-04-07 09:17:26
推荐回答(1个)
回答1:

企业和消费级SSD的几点区别:

侧重点。
接口。消费级基本都用SATA,而企业级使用PCIe、NVMe、SAS。
企业级容许更多的冗余数据。可以用来备份和容灾。

企业级需要持久稳定的性能,更长的寿命,额外的空间,能够与具体应用相适应。

消费级一般只有1到2个SSD组装,企业级需要把几个SSD组装在一起。
消费级:成本>容量>性能>数据完整性

企业级:数据完整性>性能>容量>成本
JEDEC组织对数据稳定性的要求,在不通电的情况下:

JESD 218A规定企业级硬盘数据要在55摄氏度下每天保持24小时,40摄氏度保持3个月;

消费级在40摄氏度每天保持8小时,30摄氏度下保持一年。
9. 企业级数据的不同类型:

WORM型:写少读得多(write once read many)

不稳定的数据:例如Swap数据。

备份数据。

Swap的用法:Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。

SSD内各种数据保护技术
RAID

如下图,HDD使用RAID 5来保护磁盘阵列数据,每个磁盘都分布有校验数据。

SSD也可以类似操作。RAID的作用是基于NAND的特殊属性,NAND中某个Page(Word Line)有可能会全部丢失,这样ECC数据也没了,只能通过别的Die上校验数据恢复。

分析一下OCZ的这种方案:

为了保证大家的磨损程度一致,Block A系列都要同时写入,但是校验数据肯定最后写,所以ABCD内Die写的次序是不一样的。从写的角度来看,校验数据分散到不同die的意义不大,但是从读的角度来讲,可以把读均匀分到不同Die上,可以增加读的带宽。

数据纠错

随着NAND工艺越来越微小,氧化层也越来越薄,数据翻转的可能性增大。工艺越先进,纠错码要求越来越强,寿命(P/E次数)不断缩短。

Flash制造商在Flash Page里面会留有一定Spare Area来存放纠错码,工艺尺寸越小,Spare Area越大。

25nm MLC有450Byte Spare Area,每1K能纠错24 bit;

20nm MLC有750Byte Spare Area,每1K能纠错40 bit。

消费级使用BCH编码来纠错。

企业级开始使用LDPC编码:

能够延长使用寿命,保存更长时间数据。
与信噪比和UBER有关,并不是简单的固定bit数纠错。
软信息编码;

用户数据与校验数据比例会不同以往;

端到端数据保护

OS到HBA和存储阵列到NAND都要做有效性检查,因为操作系统驱动问题,SSD控制器软硬件故障都会导致数据出错。

企业级FTL

普通消费级SATA FTL架构如下图,Host命令由HIL执行,NAND命令由FIL执行。FTL的作用是把Host地址映射到NAND物理地址(使用映射表Map Table),同时还要做坏块管理BBM和损耗平衡。

企业级SSD要求更短的读写延迟,但是更新SSD控制器DRAM