存储极客曾多次说过,固态硬盘无法像CPU和显卡那样通过软件来识别具体的硬件参数,如主控、闪存颗粒类型。虽然网上有号称能够提供此类功能的软件,但都是通过硬盘名称来查询数据库记录,并不是真的对硬盘执行检测。
最近有国外大神开发出了针对特定主控的Flash ID别程序,它利用了主控的Read Flash ID能力,直接读取闪存中的ID识别标志,分析SSD中使用的闪存类型。今天存储极客就结合实际拆解,来验证下这个工具的识别结果是否准确。
存储极客测试的这颗TR200属于东芝原厂SATA固态硬盘,出厂日期3月20日,搭载SBFA15.2固件。根据公开信息显示,TR200使用的是东芝TC58NC1010GSB主控搭配64层堆叠的BiCS3闪存。
TC58NC1010GSB主控是在群联PS3111基础上开发的,所以能够共用为PHISON开发的闪存识别工具。检测结果出来了:Toshiba 96L BiCS TLC 16k 256Gb/CE 256Gb/die 2Plane/die
仔细对照闪存编号TH58LJG9T24TA29之后,我发现TR200果然已经更新到96层堆叠的BiCS4闪存了。东芝在去年就宣布了BiCS4量产,所以我们现在能在TR200当中看到并不意外。96层BiCS4升级为Toggle 3.0接口,并降低了工作电压,能耗和温度更低。
Flash ID识别程序是如何准确检测出闪存类型的呢?原来,固态硬盘主控自身是可以通过Read ID命令主动读取闪存ID识别信息的,但是无论SATA还是NVMe都没有开放软件接口,所以普通的工具软件无法获得这一信息。Phison flash ID窗口中显示的一串0x98,0x3c,0x98,0xb3,0x76,0xe3就是闪存的ID信息。
闪存ID使用6位16进制数字来表达闪存信息,其中第一位代表生产厂商。0x98就是闪存发明者东芝的代号。其他闪存原厂还包括0xEC(三星)、0x45(闪迪)、0x2C(美光)、0x89(英特尔)和0xAD(海力士)。
闪存ID的第二位数字表达的是每个CE的容量信息。首先通过Windows计算器的程序员模式,在HEX十六进制下输入3C,可以看到它的BIN二进制等效为0011 1100:
接下来通过查表可以得知,0011 1100对应的是256Gb。这个表格是由闪存制造商提供给主控设计公司,用来适配不同主控与固件方案。
使用同样的方法,我们可以解读后边几位数字。第三位查表可得到闪存类型为8LC,即TLC类型。第四位查表结果是每个闪存Page页容量为16KB。第五位查表结果表示这是一个2Plane设计的闪存。第六位查表结果是该闪存属于Toggle同步类型的第四代3D堆叠闪存(BiCS4)。东芝在表格当中已经将位置预留到了第八代产品,或许BiCS8要等四五年之后才会与大家见面呢。
当然,大多数时候并不需要我们自己来查表,Flash ID识别工具的作者Ochkin Vadim已经将现有闪存ID资料集成在了软件当中,所以它除了展示闪存ID之外,还会根据ID直接显示对应的闪存类型。
美中不足的是,通过闪存ID只能看到闪存制造商和型号等信息,依然无法判别白片、黑片这些闪存品质等级信息。如果大家想买到高品质原片闪存,东芝这样的原厂品牌SSD才是更稳妥的选择。