西数 SN730 NVMe 黑盘作为 SN720/SN750 的替代者,搭载了闪迪自家最新的 96 层堆叠 BiCS4 3D TLC,性能方面无疑处于市场上 PCIe 3.0 NVMe 硬盘中的第一梯队,而且整体温度控制的十分良好,主控支持西数自家的 nCache 3.0 特性,可以给 SN730 提供约 6GB 的 SLC 缓存空间,512GB 版本缓外全盘写入速度保持在 1GBps 左右,但相较于前几代黑盘,SN730 提供的 SLC 缓存容量减少了许多,外置 DDR 缓存容量也被缩减,并由前几代的 DDR4 降级为 DDR3 缓存。同时本文还对闪迪的几种 NVMe 主控进行了一些分析和猜测,除了第一代西数黑盘直接使用了 88SS1093 以外,后来的闪迪主控均基于 88SS1100,其中 20-82-007011 是 20-82-00700-A1 的降频版本,而 20-82-00705-A2 则是前两者的优化版本,也是现在西数产品线上的主力版本。

 

前段时间因为我的笔记本自带的固态硬盘挂了,于是联系了售后,给我换了一块新的固态硬盘,而新换的硬盘便是这篇文章的主角了,西部数据 SN730 NVMe 黑盘。这块盘在网上能查到的资料很少,所以借此机会来做一个测评与分析,由于可参考的资料极少,所以文章内容难免会有些错误,欢迎大家指正。

 

 

首先看一下整体外观,这一块盘应该是西部数据供给 DELL 的 OEM 盘,与市面上的零售西数黑盘相比,外观上十分单调,型号为 SDBPNTY-512G-1012,固件为 11111012,出厂日期为 2020 年 3 月 15 日,还算是比较新的,背面则空空如也。

 

 

结合手册中的型号说明可以了解到这是一块使用了 BiCS4 闪存的 512GB 非自我加密驱动器,同时主控描述为 Triton 8通道控制器。

 

 

接下来撕开贴纸看一下 PCB 布局,整体和 SN750 并没有太大变化,黄色框框内为闪迪基于 Marvell 88SS1100 定制的 SanDisk 20-82-00705-A2,2020 年第五周第六天出厂,绿色框框内为 SanDisk 05591 256GB 96 层堆叠 BiCS4 3D TLC,2020 年第八周第六天出厂,蓝色框框内为南亚 NT5CC128M16JR-EK 256MB DDR3 缓存,紫色框框内为 9045VM333 电源管理芯片。

 

使用 CrystalDiskInfo 8.5.2 查看一下硬件信息。

 

 

支持 NVMe 1.3 标准,温度是万年不变的 25℃,后来了解到这块硬盘大部分时间处于节能状态,且是主控内部的节能状态无法通过操作系统修改,节能状态下温度便是不变的 25℃,只有在跑分和其他负载情况下才会正常显示温度。另外提醒一点,这块硬盘给出的温度只是闪存颗粒的温度而非主控温度。

 

接下来是跑分,使用的软件是 CrystalDiskMark 7.0.0 版本。

 

 

对比官方给出的数据,跑分方面达到了手册中的 512GB 版本顺序 3400MBps 读取,2700MBps 写入的标准,4K 随机读取也有 50MBps 的速度,属于 PCIe 3.0 NVMe 硬盘中的第一梯队了。至于 HDTune 的全盘跑分,因为我这块盘已经被拿来作为系统盘使用了所以就不测了,网上可以找到其他人的测试结果,总而言之 SLC Cache 的大小大概是 6GB 左右,512GB 版本缓外全盘写入速度保持在 1GBps,和 SN750 表现非常相近。

 

然后进行一下温度测试,测试的方法是如下图所示的一坨硅脂加 K 型热电偶,在使用 CrystalDiskMark 7.0.0 跑 5 次之后记录温度。

 

 

在完全没有散热措施,裸盘测试的情况下,主控最高温度可达 70℃,闪存颗粒最高温度可达 60℃,对于这么一块高性能硬盘来说这个温度表现已经非常好了。

 

 

另外这块硬盘也可以使用西数自家的 SSD DashBoard,看到网上很多人反映安装时卡死的问题,这里给个提示,网上下载的安装程序如果没有达到两百兆大小的话,那么说明这个程序不是完整的安装程序,真正的本体会在运行安装程序的时候被下载,如果下不下来就会卡死,根据我自己的测试,需要使用科学上网才能够将本体下载下来。由于是 OEM 盘,所以 DashBoard 里并没有像 SN750 那样存在可以启用游戏模式的选项,不过影响也不大,游戏模式也只是禁用了节能状态而已,DashBoard 里可以查看硬盘的各种信息,进行安全擦除。安全擦除分为两种,一种叫 Format with User Erase,一种叫 Sanitize,其中前者只清除分区表,不清除闪存内的数据,而后者完全清空闪存,恢复到出厂状态。

 

说了这么多,一句话总结就是性能很强,表现很棒,也没有什么可以过多评论的,接下来的部分会对 SN730 的软硬件部分进行一下分析。

 

首先,SN720 和 SN730 都属于西数的 OEM 盘,而 SN750 是 SN720 对应的零售版本,SN730 对应的零售版本还未放出。目前来看 SN730 相较于  SN720 和 SN750,主要是换用了闪迪的 96 层 BiCS4 3D TLC,所以温度方面会控制的更好。接下来一个比较关键的问题是,SN730 的主控是什么,由于闪迪对于自家的芯片和主控代号从来都是闭口不谈,所以几乎找不到任何有用的资料,但还是可以从侧面得到部分信息。西数的第一代黑盘使用的是 Marvell 的 88SS1093,在此之后的主控都被闪迪打上了自家的标识,而那颗祖传的电源管理芯片基本可以帮助我们确定那些闪迪主控依旧是基于 Marvell 主控的定制版本,我能找到的演进历程是 20-82-00700-A1,20-82-007011,20-82-00705-A2,所以问题的关键就是这些打上了闪迪自家标识的主控各自基于什么,在 Marvell 官网上查找到的几个有可能的芯片分别是 88SS1092/3,88SS1100,其中 88SS1092/3 是三核 ARM 主控,支持 Toggle 2.0,ONFI 3.0,使用第三代 LDPC 纠错引擎,而 88SS1092 则是 88SS1093 的增强版本,增加了支持的最高闪存容量以及外置缓存容量,其他都没有区别,88SS1100 则是四核 ARM 主控,支持 Toggle 3.0 和 ONFI 4.0,使用第四代 LDPC 纠错引擎。

 

我大概看了一下网上关于西数黑盘的测评,大部分测评都认为这些打着闪迪标识的主控均是基于 88SS1092/3,但我个人认为除了第一代黑盘直接使用了 88SS1093 以外,后来的黑盘使用的主控均是基于 88SS1100 的定制版本,我自己也尝试通过寻找一些资料来确认闪迪主控的真实身份,首先第一个问题是在 Marvell 的官方介绍页里,88SS1092/3 只支持 NVMe 1.1b 版本,而西数黑盘全系支持 NVMe 1.3 标准,难道闪迪主控真的是基于 88SS1093 么,并不,因为 Marvell 的主控是 ARM 主控,可编程空间很大,NVMe 标准往往只会提供一些功能性更新,所以完全可以通过固件升级的方式来支持新的 NVMe 标准,比如西数一代黑盘的 88SS1093 主控就也支持 NVMe 1.3,其次,网上有人认为 88SS1092/3 只支持 64 层 BiCS3 3D TLC,无法支持 96 层堆叠,所以 SN730 的主控肯定不是基于 88SS1093 的定制版本,而又有人说浦科特 M9P Plus 就是 88SS1092 搭配 96 层堆叠芯片,所以 88SS1092/3 完全支持 96 层堆叠芯片。这里要明确一点,主控要支持一种颗粒,需要在硬件软件两个方面都支持,在硬件方面,闪存芯片的接口主要是 Toggle 和 ONFI,所以完全不存在什么几层几层的区别,因为闪存芯片提供的硬件接口只要主控支持那就是支持,不管你是 96 层还是 64 层还是平面,硬件方面支持了之后,还要软件方面适配,主控厂要针对这个芯片进行适配,给出相应的固件,举个例子,2246EN/XT 主控很多人认为只能搭配 2D NAND 使用,3D NAND 要搭配 2258H/XT 才行,然而有部分固件也可以让 2246EN/XT 搭配 3D NAND,所以硬盘使用的闪存类型并不能帮助我们分辨主控。

 

那么西数 SN730 到底使用的是哪个主控呢,关键问题在于写入速度,根据 Marvell 的官方介绍,88SS1092/3 支持最高 2GBps 的连续写入速度,很明显 SN730 以及前几代黑盘的极限写入速度已经大大超过这个数值了,还记得之前提到过,浦科特 M9P Plus 也是 88SS1092 搭配 96 层 BiCS4 3D TLC 么,它的极限写入速度即使是 1TB 容量版本也不过在 2GBps 左右,这也印证了我之前的想法,所以基本可以确定 SanDisk 20-82-00705-A2 是基于 88SS1100 定制的主控。后来我去找了一下西数历代黑盘的测评,发现除了搭配了 88SS1093 的第一代黑盘极限写入速度在 2GBps 以下,后来的那些搭配了打着闪迪标识的主控的黑盘极限写入速度均可突破 2GBps,再结合 88SS1100 的发布日期,差不多能确定这一系列打着闪迪自家标识的主控均是基于 88SS1100 的定制主控。

 

 

另外根据 B 站 UP 主 @VirtualMOD 做的 SN750 测评,SN750 存在两种不同主控混用的情况,其中 512GB 和 1TB 版本的 SN750 使用的是 20-82-00705-A2,256GB 版本使用的是 20-82-007011,而这些主控都各自优化了一些什么,我们也不得而知,不过根据我在网上收集到的资料来看,搭配散热片版本的黑盘搭载的主控基本都是 20-82-00700-A1,而无散热片版本的黑盘则搭载的基本都是 20-82-007011 主控,所以也许后者是前者的降频版本,但降频幅度并不大,因为在西数自家给出的 SN750 产品性能介绍中,带散热片版本的性能确实要比不带散热片版本的性能高那么一点点点点点,另一个需要关注的问题在于缓存容量,根据上图可以看到在 SN750 中,256GB 和 512GB 版本均搭配 512MB 缓存,1TB 版本则搭配了 1GB 缓存,而且全是 DDR4 缓存,回过头来看一下 SN730,目前我只找到网上其他 512GB 版本的拆解图,和我手中的 SN730 一样均为 256MB DDR3,为什么西数会砍掉缓存容量,到底是砍的 FTL 表还是砍的写入缓存,我们也无法得知,至少西数肯定在固件方面做了修改才会导致这样的结果。

 

接下来分析一下 SN730 的 nCache 3.0 特性。

 

 

关于 nCache 这个特性可以知道的是它是西数自家的 SLC Cache 算法,经历了 1.0 和 2.0 直到现在的 3.0,引用网上找到的资料:

 

从WD的展示来看,这个主控确实和通用解决方案有所不同,首先肯定是不支持ONFI闪存(Intel/Micron 用的协议),只支持自家闪存了。这个主控和SMI这样的通用解决方案相比,大量应用硬件加速,很大一部分操作不依赖于固件和CPU,而是由硬件直接完成的,可以说确实是一个高度定制的ASIC。只有在主机进行一些如S.M.A.R.T读取,FTL层算法等操作的时候,才需要用到CPU。

同时新的主控还带来了被称作 nCache 3.0 的缓存技术,与 nCache 2.0 最大的不同就是增加了 TLC 直写功能。

我来解释一下 nCache 3.0,最初的 nCache 是仅仅缓存 4KB 大小的随机数据的,后来2.0 SLC Cache 缓存所有的写入数据,当在SLC Cache被填满之后,伴随着连续写入的数据,主控要边进行写入边把原本SLC Cache里面的数据搬出来折叠放进TLC空间,严重影响性能。在转换到3D NAND之后,FLASH多了一个特性,叫做on-chip-copy,或者叫copy-back。这个时候,从SLC释放空间就不用占用主控的时间了,可以由FLASH完成。但是 nCache 3.0,直接对TLC空间进行直写操作,同时支持on-chip-copy特性,再加上这一切都是硬件加速的,这大大提升了主控的性能。

 

而我后来发现这段话是机翻的,原出处是 ANANDTECH 做的 SN750 测评,在这里有一个疑点,就是这个 “on-chip-copy”,我并没有在网上找到任何有关于这个特性的资料,似乎也只有 ANANDTECH 提到了这个名词,可是仔细一想其实很奇怪,为什么闪存进化为 3D 堆叠了之后就多了这么一个特性呢,个人感觉这说不通,因为涉及到数据的搬运一定是需要有控制器参与其中的,像是 UFS 那种主控闪存封装在一起的芯片你说他可以 “on-chip-copy” 我绝对赞同,但光一个 3D NAND 自己本身就具有 “on-chip-copy” 特性,我是想不明白的,其次根据上图中给出的 nCache 3.0 示意图,将 SLC 区域内的数据搬运到 TLC 区域依然是需要主控参与的,由主控内部集成的 SRAM 作为中转,在主控空闲时搬运数据。

 

 

然后再来看一下 SN730 的自我温度管理,由于 SN730 支持 NVMe 1.3 规范,自然也支持 NVMe 1.2 中的温度管理,在 SN730 的手册内可以看到固件设置的警告温度为 83.85℃,危险温度为 87.85℃,在警告温度下,固件会将 SN730 的连续读写速度限制在 40MBps 以内,而高于危险温度的话,SN730 便直接停止工作。虽然 SN730 的温度表现十分优异,但最好还是做好散热措施。

 

 

另外在手册中还提到了在 SMART 中存在 P/E 计数的项目,对固态硬盘有所了解的人都知道这个项目对于判断固态寿命非常重要,但我换了几个软件都无法读出这几个项目,也许需要特殊的方法才能够读出吧。

 

文章的最后给出 SN730 的 Manual for OEM 的 PDF 文件,如果有需要的话可以自行下载这个文件。SN730Manual

 

另外如果这篇文章的某些地方出现错误或者疏漏的话,还希望大家可以指正和补充。