2024年1月23日发(作者:)
TLC 洪水猛兽来了, SSD 还能放心买吗?
SSD 目前主流的闪存分为 SLC 、 MLC , TLC ,当然后
面还有 3D-V NAND 和 XPOINT 暂且不谈 SLC =
Single-Level Cell ,即 1 bit per cell ,只存在 0 和 1
两个充电 寿命长。由于每个存储单元包含的信息较少,其每百万字节 需花费较高的成本来生产,由于成本过高你基本上只会在高 端的企业级 SSD 上见到它,流入到消费级上的包括淘宝可 以收购到的散片基本都是非原封的白片或者坏盘的拆机正 片。MLC = Multi-Level Cell ,即 2 bit per
cell,有 00,01,10,11 四个充电值, 因此需要比 SLC 更多的访问时间, 不过每个单 元可以存放比 SLC 多一倍的数据。 MLC 闪存相比 SLC 闪存 而言降低了生产成本, 但与
SLC 相比其传输速度较慢, 延迟 也比 SLC 闪存高。特点:
传输速度一般, 延迟一般, 寿命 般 TLC = Trinary-Level
Cell ,即 3 bit per cell ,有 000 ,001 , 010 ,011 ,100 ,101 ,110 ,111 八个充电值,因此需要比
值,结构简单但是执行效率高。特点:传输速度快, 延迟小、
MLC 更多的访问时间,每个单元可以存放比 MLC 多 1/2 的
数据,所需访问时间比 MLC 更长,延迟比 MLC 更高,传输
速度相比 MLC 更慢。 TLC 优势价格便宜,每百万字节生产
成本是最低的,但是寿命短。特点:传输速度低,延迟高,
寿命短。TLC闪存的优势是容量更大,成本更低,举例来说,
同样的晶体管电路做成 16Gb 的 SLC 闪存,那么变成 MLC
则可以做成 32Gb ,做成 TLC 闪存则可以得到 48Gb 的容量, 这对厂商来说大大降低了成本。成本低才有利润,这也是
TOSHIBA 、IMFT , SAMSUNG 不停大批转产 TLC 的原因,
句话:有奶便是娘。我们看到厂家忽悠我们的时候经常可
以看到 P/E 的概念, 全称 Program/Erase Cycle 其实就是闪
存的可擦写次数,简单来说一个 64GB 的闪存,如果说寿命
是 3000P/E 的话,那么出厂的预期寿命是可擦写量
3000X64GB ,是否经得起长时间的数据写入, 这仍然是一个
工艺的提升对于 TLC 的有利有弊: 弊:基本存储单元栅极上
的氧化层化学键越来越难以控制, 导致 P/E 次数随着工艺的
无解的答案,闪存的寿命永远伴随着 RP 好坏而存在。闪存
而缩减, TLC 的 P/E 次数约为 1000 。利:单颗闪存的
密度和容量已经得到了大幅提升, SSD 对闪存的读写原理是
基于均衡磨损的, 所以 TLC 可以依靠不断增大的容量来减少
单个基本存储单元的磨损,以提升产品的使用寿命,所以
TLC 的 SSD 的寿命而言 512GB:256GB:128GB=4:2:1 ,所 以一句话: TLC 宁买大不买小。自从入了群辉 DS716 II 以
后,发现这款 NAS 支持 SSD 作为读缓存使用,本来是一个
金胜 128G 的 SSD 作为希捷 8T HDD 的读缓存使用,随着
HDD 的数据越来越多, 128GB 的 SSD 做读缓存也力不从心
了,家里一堆 SSD 都是大容量很好的盘,舍不得放在 NAS
用,于是就寻思着上京东整一块 240-256GB 的 SSD 给群
辉做读缓存使用, 看来看去也就金士顿 UV400 ,OCZ
T150 , 浦科特 M7V 这些盘,无意中发现京东默默多了一块建兴的 睿速 V5S 的盘, 竟然无人问津, 好奇心起来了,
手贱直接点
块回来看看是什么货色, 顺便混个首晒。 SSD 的外观其实
真没啥可看的,尤其是 SATA ,就是天价的企业级也就那么
回事。逢盘必拆的作风一直没改变过,有电吹风大法加持,
在不影响保修的前提下拆啥的难度都不是很大,很意外的在
于这个 PCB 也确实太小了,让我想起了以前拆过的闪迪
SSD PLUS 240GB 。正面:主控: SMI 2258 缓存:南亚
NT5CC256M16DP-D1( 512MB DDR3 1600) 闪存: SKhynix
H27QFG8PEM5R(64GB 16NM TLC)X2 背面:闪存:
SKhynix H27QFG8PEM5R(64GB 16NM TLC)X2 有点特这个盘的
殊在于 256GB 的盘用了 512MB 的缓存芯片,而且
TLC 没有采用大 OP 操作成 240GB 卖,而是完整的全盘容 量
256GB 。从硬件结构上来说, 这块和他的同胞兄弟浦科特 仅在国外发行的 S2 是如出一辙,但是固件可能是不同的而
已。对于 TLC 闪存支持度和纠错上比较成熟的主控 市面上
常见的有以下几种:慧荣 SMI :SMI2258 SMI2260 其中以
INTEL 540S 和 600P 最有代表性群联 PH :PS3111-S11S11
主控目前国内使用最多的是影驰战将系列,闪存大多为群联
打包主控一并销售给影驰的自封片 TLC 。美满 MARVELL :
MV 88SS1074 其中以金士顿 UV400 和浦科特 M7VC 最具 有代表性。当然独占的主控比如三星 PM961 使用的的
Polaris 主控和 EVO 广泛使用的 MEX MGX 主控对 TLC 的 支持已经相当的成熟,但是只限于三星自家使用。从主控而
言, 我对于 SMI 家的主控用过的比较多, 了解程度也相对较 为深刻。 SMI2246XT :最知名的莫过于闪迪 SSD PLUS
240GB 了,无缓存,但是仅仅支持 MLC ,所以往往采用这 种主控的盘只能使用 MLC 的闪存。 SMI2246EN :最大路的 产品了, 从建兴的 ZETA 系列,到浦科特的 M6V ,再到闪迪
SSD PLUS 的 480GB 的部分产品都可以见到这个主控的身
影,这个主控最大的优势就是方案成本低,性能也有那么回
事,配上 MLC 还是不错的选择,由于不支持 LDPC 纠错仅 仅支持 BCH ECC 纠错,所以配上 TLC 的话,并不妥当, 建 议就是选择 MLC 产品。 SMI2260 :说道这款针对 3D TLC 开发的支持 LDPC 软硬纠错的 NVME 主控不得不说到
INTEL 600P 了,最近的销售明星,第一次 INTEL 这么良心
的价格去卖一款 NVME 产品,虽然效能相比 SATA AHCI 并 不占优势,但是对于 NVME SSD 的普及是做出了巨大的贡 献的,同时也帮 INTEL 清了大批的 TLC 第一代库存功不可
没。尽管买得起 NVME 盘的看不上 600P ,但是 NVME 的
600P 只是卖一个 SATA 盘的价格,所以大 V 们一边大呼此
盘性能太烂,一边却剁手顶起了京东如潮的销量。 SMI2258
是针对 3D TLC 开发的支持 LDPC 软硬纠错的 AHCI 主控,
对 SMI2256 基础上的改进款, INTEL 的 540S 就是个中代表。
阅读是个很享受也是相对很痛苦的过程,尤其是看引用和摘
抄,看多了人会产生反感,那么简单的提炼出特点加以自己
的理解是最适合阅读的方式。这个 SMI2258 主控有几个明 显的特点: 1、更好的支持 SLC CACHE2 、基于 LDPC 纠错 的
NANDXtend?3 、支持 TLC 以及 3D TLC4 、四通道每通道 最大支持8CE ,共32CE。要性能,你就要看是否支持 32CE 的最大容许度和是否支持 SLC Cache 要安全, LPDC 纠错 是必须有 SLC 闪存时代,颗粒很好,一般给个 8bit/1KB 的
BCH ECC 纠错都可以很壮硕 MLC 闪存时代, 颗粒一般, 般要有个 40bit/1KB 的 BCH ECC 纠错才合格,比如东芝对
MLC 的寿命解释: 24bits/1KB ECC 纠错时可以有 1000P/E
次数, 40bits/1KB ECC 纠错时可以有 3000P/E 次数,在
P/E 次数到时数据保存期为 1 年以上。 1、24bits ECC 纠错时,
P/E 次数到 1000 次时,数据存放 1 年后, 1KB 数据出错的
比特数小于 242 、40bits ECC 纠错时, P/E 次数到 3000
次 时,数据存放 1 年后, 1KB 数据出错的比特数小于
403 、24bits
ECC 纠错时, P/E 次数大于 1000 次时,没法 保证数据存
放 1 年后, 1KB 数据出错的比特数小于 244 、40bits ECC
纠 错时, P/E 次数大于 3000 次时,没法 保证数据存放 1
年后, 1KB 数据出错的比特数小于 40 这就是 BCH ECC 纠错的级
别和 MLC 闪存 P/E 之间的关系那么到了 TLC 闪存时代, 颗
粒更差, BCH ECC 纠错已经无法满足要求了,这就需要使
用到 LDPC 的硬件和软件纠错来满足 P/E 循环内数据安全的
要求。 SMI2258 主控的 NANDXtend?
技术就是 LDPC 硬解
码,软解码和 RAID 数据恢复的整合。 SMI 号称这个技术可
以在 120 度高温下让 600P/E 的 TLC
闪存运行在 1800P/E
寿命期间出错的数据可以被修正,这其实就是可以理解为:
LDPC 硬件和软件纠错时, 600P/E 的 TLC 擦写小于等于
1800P/E 时,被 CRC 发现的静默错误可以被 RAID 数据恢 复功能所恢复。也正是因为 SMI 有了 RAID 数据恢复功能, 才非常大胆的做 256GB 的 TLC 全盘容量而不是 240GB 带 有16GB OP的TLC盘。但是我在这里要说的是主控的 LDPC 纠错能力和 RAID 修复能力只是我们评估 TLC 产品的一个门 槛而已,看一个盘的效能和可靠具体还要看固件的壮硕程度 来决定,但是没有 LDPC 纠错的 TLC 就别谈门槛了! SKhynix
H27QFG8PEM5R 的闪存属性从海力士的 PDF 里看来是 1Xnm 既
16nm 工艺制造的 Toggle 2.0 TLC 闪存,QDP 4Die
堆叠,BLOCK 大小是 4M,容量 512Gb=x
H27QFG8PEM5R 这颗闪存由于参考资料较少, 了我自己修改
一下海力士的编号规则图,能给大家对这颗闪存以及海力 士闪存有一个可靠的参考。虽然海力士的颗粒编号规则时过 境迁早已经进入 16nm TLC 时代,但是编号规则除了少数代
码变化,基本还是遵循 2009 年制定的编号规则的。鉴于市
场海力士颗粒较少而且编号规则并不为大家熟知,我将技术
文档处理成此颗粒编号来理解下: H=SK
Hynix2=flash7=nand flashQ=3.3VFG=512Gb=64GB8= 宽 X8P=4
Die (QDP ) TLC Large blockE=4 CEM= 第一代 颗粒5=FBGA132封装形式R=无铅无卤素B=包含坏块C=
工作温度 0-70 那么其中红色字体为关键信息 ,这颗粒是
4Die
4CE 的, 4 颗闪存共组成 16Die 16CE, 刚好塞满 SMI2258
主控最大容许的 32CE 的一半。那么意味着在
512GB 还有
1TB 容量的盘上还会有 32CE 塞满的更高速度。 缓存是南亚
NT5CC256M16DP-D1( 512MB DDR3 1600 C11)
这颗缓存
本身并没什么好说的, 只不过 SMI2260 主控的 INTEL 600P
512GB 也采用了这块缓存芯片,而这块盘只是 V5S 256GB
而已, 256GB 使用了 512MB 容量的大缓存有好处当然也有
劣势。优势: SSD 的缓存主要是放 FTL 映射表的,另外还
有存储一些页大小的数据,还有合并优化中的用户数据,否
则没必要用那么大的缓存, 每次 IO 读写时 SSD 都会从 FTL
里面查询或更新闪存的真实地址, FTL 表的响应速度快但体
积庞大,256GB的SSD使用512MB缓存可以比256MB的 缓存得到更快的响应速度,而且 4K 的读写性能也会获得更 加稳定的效果。 劣势: 外置大缓存对性能寿命都有很大帮助 得到好处的同时代价和风险也很大,进行优化写入技术对掉 电要求很高,风险很大,缓存越大,在掉电的时候,丢失缓 存里的数据的可能就越大, 我们知道缓存的 DRAM 芯片是易 失性的, SSD 将缓存里的数据会不断的写入到闪存中去防止 数据丢失,但是脸不好的情况下,掉电时刻恰好发生数据丢
失,而且刚好就是缓存里面的数据, 256MB 丢失的数据量只
是 512MB 丢失的数据量的一半而已。其实现在有更高级的
DDR3 STT-MRAM 是非易失性的,就像 NAND 闪存那样即 使断电也能保留缓存的数据,并且不需要硬盘向闪存刷新缓 存内容,这种作为 DRAM 是最合适不过了,但是成本过高, 何况每当一种新产物出现解决老问题的同时又将会出现 个新问题,且当顺口一说吧。 AS SSD BENCHMARK 这个
SSD 测试软件很多人都用过, 很多人都骂过, 很多人都说作
弊过,很多人说不准过,有人说是测试神器有人说是垃圾作
弊软件,我只想说一个软件是垃圾还是神器关键看你怎么去
用! 1、不同的 CPU 不同的加成。这个盘在我的 X230 顶配
笔记本上使用 I7 3520M ,开启电源管理中的性能最优化的跑
分如上。 这个测试其实有个积分公式: 总分 =0.08x 持续读取 0.16x 持续写入 2x4k 读取 1x4k 写入 1.5x4K QD64 读取
1x4K QD64 写入如果使用 I7 6700K 去跑呢?就是这个结果,
可见 CPU 的强大, 对于 4K 成绩的读写是影响最大的。 所以 这个软件的 4K 跑分部分和你 CPU 的强大程度是有一定关系 的,跑分低不要单纯的赖盘不好,看看自己的 4K 成绩再看
看自己的 CPU ,就会明白了。 我们在前面的介绍过由于 TLC
的特性决定了读写较慢,所以大部分 TLC SSD 都配置了
SLC Cache对读写进行加速,并不是真实的SLC闪存,SLC 闪存的每个基本存储单元只存储 1bit 数据, 所以读写速率优
于 2bit 的 MLC 和 3bit 的 TLC , TLC SSD 配置 SLC
Cache 本质就是 TLC 闪存里划出一部分 TLC 空间,其中的每个基
本存储单元中只写入 1bit 的数据,将这部分 TLC 空间模拟
据写满后就会将 SLC Cache 里面的数据写入到 TLC 闪存中,
并擦除 SLC Cache 再次写入数据。虽然不同厂家固件的算 法不同, 但是基本的原理是一致的。 很多同学说要让 TLC 原
型毕露,你直接跑 AS SSD BENCHMARK 的 10GB 测试块 就可以了, 原理其实就是扩大测试的数据块超过 SLC Cache 的容量, 让 TLC 的效能暴露出来。 其实我想说如果想更了解 这个盘的 SLC CACHE 机制从 3G 5G 10G 这个顺序跑即可。
成 SLC 进行数据读写以提升 SSD的性能。SLC Cache 在数
3G 一跑,你会发现这个盘的持续写入已经跌了一半了,跑
5G ,持续写入继续跌跑 10G ,持续写入继续跌这说明持续 写入从 3GB 测试块开始暴跌,说明了 SLC CACHE 的容量 是在
3GB 以内的,要确定 SLC CACHE 的大小还得找 3GB 。
在 3GB 测试持续读进度条在一半的时候,我们发现持续写 入的速度还在 486MB/S 以上呢。而进度条过去一半以后, 持续写入的速度才跌到 300MB/S 以内,说明至少前面的
1.5GB 是 SLC CACHE 加速下的,那么可以确定 SLC
CACHE 是大于 1.5GB 小于 3GB 的。那么继续跑一个 HD
TUNE 10GB 写入测试看看, 总共 10 个格子 10GB ,从第二
格走完,写入速度开始从 400 多腰斩到 200MB/S ,说明这
个 SLC CACHE 就是出厂设定的 2GB 容量大小。也完全符 合
AS SSD BENCHMARK 前面锁定的 1.5GB-3GB 之间
SLC CACHE 大小的测试。 HDTUNE 跑全盘的读基本一条线 很稳,跑全盘写和跑 10G 写差不多带有 SLC CACHE 的 TLC
SSD 准确来说是有两个 AS SSD BENCHMARK 分数的, 个是
SLC CACHE 状态,一个是 TLC 状态。知道了 SLC
CACHE 大小是 2GB 之后,要获取这两个分数也比较简单了。
AS SSD BENCHMARK 在测试 SSD 时需要向 SSD 里面先 写入一定的数据量测试写入,然后再测读取,默认数据量大 小为
1GB ,最大为 10GB 。假如使用 1GB 数据量测试这个 盘的话,测试文件就全部写入到 SLC Cache 里面了,测试 的写入性能就是 SLC Cache 的写入性能。再读取的话呢,
也是 SLC Cache 里面的读取效能。所以你测试有些 TLC 会
发现压根就不弱。 1、连续不停得跑三次 1GB 测试块,连续
不停的意思是鼠标点在 START 上,一次测试结束就立即点
一次,第一次为 SLC Cache 状态,第三次为 TLC 状态。
SLC Cache 容量为 2GB ,连续跑 2 次 1GB 测试之后继续立
刻跑第 3 次就可以获得 TLC 真实的速度, 因为第三次跑的时
候 SLC Cache 已经耗尽不会参与到数据读写加速的过程当
中,这个时候测试出来的写入成绩就是 TLC SSD 真实的速
率。如果跑 3GB 的话,连续跑两次 3GB 数据块测试,第
次为 SLC Cache 混合 TLC 的状态, 第二次为 TLC 状态那么
上面测试主要的用处就是我们需要看 TLC 状态的跑分速度,
如果这个 TLC 状态的跑分你可以接受,那么 SLC Cache 状 态的跑分就更能接受了, 如果 TLC 状态的跑分实在太低你接 受不了,那么果断点退货把。一般你看到的测试分数都是在 空盘状态下的 AS SSD BENCHMARK 跑分。那么要明白随 着数据写入越来越多的情况下,速度会发生的变化是什么, 也就是我们常说的,随着写入量的增加,会不会明显掉速, 最简单的办法就是在接近满盘容量下进行测试,我在盘写满 92%的情况下, 测试的 1GB 数据库的 SLC Cache 状态的跑 分。盘写满 92% 的情况下,测试的 1GB 数据块的 TLC 状态 的跑分。可以发现空盘和 92% 容量的跑分并没有什么不同, 无论是 SLC Cache 还是 TLC 状态都是几乎一致的跑分和速 度。但是 NTFS 格式化之后 238GB ,当盘内存在 236GB 以
数据, SLC Cache 的状态就直接变成 TLC 状态了,但是 都已经接近满盘状态下了,这个写入效能其实已经没有意义 了,这时候更重要的是读取效能。在不分区的情况下进行
RAW 下的 IOMETER 128K QD32 持续写入 1 分钟, 设置图 如上。然后打开这一分钟生成的 CSV 文件,找到平均写入 速度为 147MB/S ,然后将 SSD 容量除以这个测试结果, 获 得执行两倍于 SSD 容量的 128KB 持续写操作所需要的 时间,(256GBX1024MBX2"(147MB)=3566 秒=59.44 分钟。
稍微宽松一些直接把 128K SEQ 的模板时间改 60 分钟进行 填盘然后执行 5000 秒的 4K QD32 随机写入测试。 制作出散 点图去掉最开始一段的高峰,和零星的高峰散点后,可以发 现最低谷也在 1000IOPS 以上,而主区域是 1500-5000IOPS 之间的
密集区域,平均值在 3342IOPS 。那么最前面的一段 高峰可能是 SLC Cache 写入释放的轨迹。而最后 500 秒的
IOPS 平均值也在 3234IOPS ,这说明 5000 秒的全盘 4K
QD32 写入过程中, 速度基本是匀速的。 虽然是 TLC 闪存也
并没有在强大的写入压力下产生严重的写入衰减。对于早期 的
TLC SSD 盘,由于固件不够壮硕,出现的问题还是比较 明显的,就拿 SMI 的主控来说把,早期试水 TLC 闪存的
SMI2246EN 搭配 TLC 闪存的时候一片骂声和不信任的呼声 比比皆是,在 SMI2256 主控时代是 TLC 适配的一个学习期,
SMI 也在不断学习如何去掌控 TLC ,到了 SMI2258 和
SM2260 主控 SMI 对 TLC 的掌控才达到一个成熟期了,从
个普普通通的 TLC 盘测试里, 可以感受到固件的壮硕才是
TLC 盘的根本。那么作为一个普通消费者我们在闪存涨价 20%
的情况下不得不去购买 SSD 这一定是刚需,那么建议趁着
MLC 的尾巴还没跑, 入几块 MLC 的 SSD ,当然如果你觉得
MLC 太贵了,想选择一款相对性价比较高的 TLC 盘的话,
那么至少要考虑以下几个方面的问题 1、你需要了解这个盘
SLC Cache 和 TLC 两个状态下的表现, 且 TLC 状态下的表
现你要能够接受。 2、主控要支持 LDPC 纠错。 3、固件是否
壮硕?包括盘内有数据的情况下, TLC 状态的读取和写入会
否明显掉速? 4、建议选择 TLC 作为系统盘,重要的数据选
择 MLC 也不是百分百靠谱的,建议做好备份,这才是万全
转载,由于篇幅原因,仅选取了精华的部分进行分享。完整
原文可去我站《 TLC 洪水猛兽来了, SSD 还能放心买吗?》 查看,如果你有更多好物想跟我们分享,欢迎在评论区与我 们互动。
之策。【结语】本文由什么值得买网友“ gaojie20 ”撰写并授权


发布评论