TLC 的劣势:
可靠性
我手上有一片 8GB 的 Intel JS29F64G08AATE1 TLC 闪存,放在安国 SC708 上量产的时候发现 ECC 必须开到 4 以上才能成功,否则必然测出来 100% 都是坏块。而 MLC 闪存即使是黑片 ECC 设为 0 也没有太大问题,只是容量会缩水。
并且这快闪存在使用一段时间后再次低格,虽然坏快没有增加,但是读取从 22MB/s 掉到了 8MB/s 。
虽然有备份的好习惯,但是我还是觉得丢文件是一件很不爽很麻烦的事情。而且关键的时候很容易坏事。
主控支持
现在能见到的 TLC 颗粒也不算太多,但是竟然没有一种常见的控制器能支持这其中的 80% 。我手上这块 AATE 之所以放在 SC708 上也是出于无奈,UP19 不支持(支持列表那一行全是横杠,我也焊上去试过,不行),SM3257 也不支持。以前也有一片 SDTNPNAHEM-004G ,因为实在没有主空支持扔掉了(唯一支持它的除了 SanDisk 自家的控制器似乎就只有 SM3257EN 了,这玩意不好买到,SM3257 != SM3257EN)。
寿命
在这里谈两个问题,endurance 跟 data retention 。前者告诉我们一块闪存能被擦写多少次,后者告诉我们闪存中的内容在经过多长时间后会因为浮栅管漏电等因素而丢失(有的时候甚至是读取都会导致浮栅管的浮栅电荷发生变化,有些厂商的数据表提到了这点)。
对于 MLC ,数据表中一般都会有 endurance 跟 retention 的数据,endurance 常见的有 3K/5K/10K ,retention 一般都是 10 年。
而对 TLC 来讲,在少之又少的能弄到的数据表中,这两个数据都没有确切的被指出。关于 endurance ,mydigit 上有些坛友做了测试认为有几千次左右,但是看了他们的测试方法之后我发现他们似乎把控制器的功劳晾一边了。最严谨的测试方法是量产时尽量减少保留区块(有的时候保留区块可多达几百兆,对大容量且往往带有额外块的 TLC 来讲尤其是这样,拿一两个块来测试的时候 worn-out leveling 很容易就发挥作用了),然后全盘擦写测试。至于 retention 方面,这个是需要时间、耐心跟好记性的(盘子丢角落里结果找不到了就废了),并且似乎也没人在闪存里面长期保存资料,所以这点暂不讨论。不过,要在一个 cell 里面分出 16 个 level 的 TLC 在 retention 方面肯定得下更多的功夫。
速度
有的时候 TLC 的读取还是很不错的,但是写入确实是硬伤。有些人发现 TLC 的盘子写入可以达到 10MB/s 以上,但是他们没发现自己手上的盘子是 2CE 或者 4CE 的(管芯跟 plane 的数目就不得而知了)。Interleave 对读取没多大帮助,但是对于写入(尤其是 TLC 这样 page 编程时间长达数毫秒的)帮助非常大,甚至可以接近多通道那样成倍增加的效果。另外由于 TLC 对于 ECC 的依赖增加了提高速度对主控硬件 ECC 引擎的要求(当然,还有耗电量的问题,但是这个太鸡肋了,不讨论),使得速度难以得到提升。
现在不成熟,前景却又不明了
很难说以后 TLC 会怎样,但是目前来说情况不是很乐观。TLC 其实也不算最近两年的技术了,但是它的成长实在不怎么快,不像当时 MLC 的出现直接导致各种存储设备跟 PMP 价格跳水并大众化,同时存储器的速度和容量一路飙升。SLC 到 MLC 是 1bit/cell 到 2bit/cell 的变化,密度直接增加一倍,还是很划算的。但是 MLC 到 TLC 的密度增加却只有 50% ,不是那么的明显。另外,随着制程进一步降低,MLC 、TLC 的可靠性跟性能都将受到更严峻的考验,同时价格竞争也将会更激烈,TLC 那并不是很明显的价格优势会不会变得更不明显呢?
另外,QLC NAND 对闪存市场也已经虎视眈眈了。TLC 的 3bit 凑成一个 8bit 的字节是很别扭的(这意味着你需要更复杂的组织方式或者一些 dirty trick ),QLC 成熟以后跟 TLC 孰优孰劣还很难讲。
TLC 的优势:
容量很容易做上去
一般大家买到的 TLC 都是 8G 以上的,4G 跟 2G 比较少见。这是因为 TLC 的 3bit/cell 的结构明显能比 MLC 提供更高的密度(虽然不像 MLC 对 SLC 那样明显)。不过,由于速度较慢,虽然有容量但是拿来拷贝大文件却显得很艰难。
便宜
TLC 比 MLC 便宜是事实,但是同样不如 SLC 跟 MLC 之间的差距那样明显。在成品存储器中这点优势就更不明显了,因为 TLC 需要更复杂的控制器和算法来保证寿命跟速度。
总结:
TLC 固然不是一无是处,但是它的优势相比于它的问题来说并不明显(甚至有点得不偿失),而且还要受到 QLC 的竞争,它能在市场上存在多长时间是个疑问。
MLC 则是在各个方面取得了良好的平衡,价格只有 SLC 一半不到(这还仅仅是在小容量闪存上),密度是 SLC 两倍,同时性能尤其是可靠性却未牺牲太多并且都够用。MLC 对闪存的普及做出了巨大的贡献,但是 TLC 却无法产生这样深远的影响,除了”时势造英雄”以外还有 TLC 自身的问题。
TLC 拿去做启动盘很合适,因为反正不需要多次写入。另外 TLC 可用于不要求无损且体积较大的音频、视频文件的较长时间的保存(跟 DVD-R 很类似了)。但是这毕竟只是一小部分应用,多半情况下我们还是需要用到 MLC 的。