「SSD」- 控制器(Controller)

控制器的呈现形式

控制器就是个内置的处理器,运行可刷新的固件(刷机,就像主板刷入 BIOS 程序),控制器用来将存储的数据和计算机之间沟通,所以控制器的优劣,就是处理器的优劣再加上固件程序的优劣;

内存颗粒的低级初始化

针对内存颗粒的低级初始化,其将标出坏块(将影响 SSD 寿命):
1)格式化的目的就是要让内存颗粒能匹配数码设备的读写,并且标注出坏掉的单元(Bad Cel),并重新映射到 正常的颗粒上;
2)此外也会将树状目录创建实现,并且将颗粒式的内存和具体数据对应上;
3)当 SSD 生产完成时,就会进行这个动作。鉴于颗粒质量的不同,SSD 出厂时很可能就有坏块(传统硬盘也是如此),所以控制芯片必须标注出这些区域,以免用户的数据丢失。无法通过计算机软件识别这些坏块,或许需要借助厂商的专用软件;

写入平衡(Wear Leveling)

SSD 中的每个存储以 Block 为单位,而每个 Block 能写入的次数是有寿命的。如果某个 Block 一直写人, 那么当其寿命达到之后,这个 Block 就不能用了(Worn out,磨损了)。如果这个 Block 是目录索引或引导区,那么其上的数据就无法访问;

写入平衡技术,就是确保 SSD 在写入 时,能将写入数据分配到每个 Block 上,防止上述情况发生,这就是芯片组必须做的事情;

针对颗粒写入平衡技术,其将平衡 SSD 的使用(将影响 SSD 寿命)。Wear Leveling 的技术实现很复杂,但主要还是让块之间的写入尽量平均;

寿命对比

假如以 MLC 为例,加入其有 4096 个 Block,且其写寿命为 10000 次的话,如果每小时读写 300 个块,那么:

如果仅有 200 个块参与读写,那么这些块的寿命就是:(10000 次 X 200 个块)/(300 块 / 每小时 X 24 小时)= 278 天

如果支持单区域 WL 写入平衡技术,系统可能会保留 25% 的区域作为平衡,那么这些块的寿命就是:(10000 ×4096*25%)/(300*24)=1422 天

如果 SSD 支援多区域的 WL,那么就会平均使用到所有的块,整个读写寿命就会分布在所有块上:(10000 ×4096)/(300*24)=5689 天

控制器芯片厂家对比

控制器制造商列表:Engineering:List of flash memory controller manufacturers

质量对比

针对质量对比,我们无法给出确切的答案,并且随着时间的推进,各厂商也会发生变化。

建议参照社区测评,来选择合适的产品:
https://bbs.pceva.com.cn/
https://www.mobile01.com/
https://www.coolaler.com/index/
http://www.ssdfans.com/

TODO SSD 对比 Flash Controller 的方法;