控制器的呈现形式
控制器就是个内置的处理器,运行可刷新的固件(刷机,就像主板刷入 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 的方法;