1. 从“颗粒焦虑”说起:为什么PSLC值得被重新审视
搞嵌入式的朋友,尤其是做工业控制、车载终端、医疗设备和NAS私有云存储的,这几年应该都有一个共同的体感:SLC颗粒越来越难买,MLC逐步停产,TLC大行其道,QLC也开始冒头。但偏偏我们手头的项目,对存储的稳定性、擦写寿命和数据保持能力又有硬性要求。用TLC吧,寿命和可靠性心里没底;用SLC吧,价格高得离谱,交期还不稳定。夹在中间,很难受。
这个节骨眼上,PSLC(Pseudo SLC)模式的产品开始频繁出现在大家的视野里。简单说,PSLC就是把原本3D TLC(甚至QLC)的物理单元,通过特定的固件策略和驱动方式,模拟成SLC来工作。每个物理cell原本可以存3个bit,现在只存1个bit。代价是容量缩水到原来的1/3,但换来的是接近原生SLC的性能和远超TLC的寿命指标。这个思路,其实有点像把繁忙的四车道高速公路,其中一条临时划出来只跑定制的特种车辆,虽然总容量利用率低了,但通行效率和安全性都上去了。
最近我拿了一款瀚海微SD NAND,工作模式锁定在PSLC,专门做了一系列破坏性测试和异常掉电测试。网上的讨论也从纯技术延伸到成本核算和供应链安全。这篇文章我不会给你念Datasheet,而是把我实际的测试数据、性能表现、踩过的坑,以及对PSLC这类产品在市场上到底能走多远的一些个人判断,一次讲透。适合正在选型存储方案的硬件工程师、PCB Layout工程师,以及关注数据可靠性项目的决策者。你会看完这篇文章后,能明确判断:你的项目,到底适不适合上PSLC。
2. PSLC的技术底层:一场与硬件物理特性的“谈判”
2.1 为什么同样是NAND,跑PSLC大不一样
NAND Flash的存储单元本质上是浮栅晶体管或者电荷俘获层,通过控制注入和释放电荷的数量,来表征不同的电压阈值(Vth)。SLC只分两个状态:0和1,阈值窗口宽;TLC要分8个状态,窗口被压缩到只剩几个窄缝。在这么窄的缝里做电荷定位,本身就对工艺偏差、温度漂移、读干扰和电荷泄漏非常敏感。
PSLC的聪明之处在于,它不改变物理特性,而是主动“浪费”存储密度。一个原本要精确写入8个电平状态的TLC单元,现在只写入两个状态。这意味着:
- 编程电压的余量极大,ProgDisturb(编程干扰)几乎可以忽略;
- 读取时只需要判断一个电压参考点,ReadDisturb(读干扰)的累积效应大大降低;
- 因为每次擦写对隧穿氧化层的应力更小,Endurance(擦写寿命)成倍增长。
你可以把TLC比喻成一个精密的抽屉柜,每格都塞满了东西,拉错一格就全乱了;PSLC等于把这个柜子清空大半,只放一两件大件物品。乱的概率自然大幅下降。
2.2 瀚海微SD NAND的PSLC实现方式
SD NAND是把NAND Flash Controller和NAND颗粒封装在一个小体积BGA芯片里,对外提供标准的SDIO接口。平时大家用的是普通TLC模式的版本,但瀚海微这款产品在出厂初始化时,通过固件把FTL(Flash Translation Layer)和ECC策略整体切换到了PSLC模式。
具体的关键点有三处:
- OP(Over-Provisioning)预留空间直接拉满。普通TLC模式下,OP通常在7%到12%左右,PSLC模式下,因为容量本身只有TLC模式的1/3,相当于物理上天然留出了巨量的可替换块。这为磨损均衡算法提供了充足的调度筹码。实际看下来,它的容量标称是TLC标称的1/3多一些,多出的这部分,就是留给坏块管理和GC(垃圾回收)的。
- ECC校验等级明显收紧。TLC颗粒一般用LDPC纠错,但纠错能力再强,也是事后补救。PSLC因为单元状态少,原始误码率(RBER)极低,所以主控有机会采用更高冗余度的ECC策略,把纠错能力反哺给数据保持时间。
- 读写调度策略更保守。写入时,不再采用TLC那种追求高速度的多级编程策略,而是用近似SLC的编程波形。读取时,参考电压的电压窗口设置得更宽。这意味着单次操作时间略有增加,但容错能力大幅提升。
2.3 一个重要误区:PSLC不等于原生SLC
网上很多文章把PSLC吹成“SLC性能,TLC价格”,这话只说对了一半。原生SLC在工艺、测试标准、可靠性数据上,是从头开始设计的。而PSLC是在TLC基础上通过操作模式降级使用的。它的写入性能可以接近SLC,但本质上,它仍是一颗TLC晶圆和一颗TLC级的主控。
更直白地说,PSLC的寿命长,是因为把一次重活拆成三次轻活干,磨损自然小。但如果你强行把它的寿命指标当成原生SLC来规划,产品退役时间可能依然最先由Flash达到寿命上限决定。所以在我的测试方案里,没有以原厂标称寿命为基准,而是直接做了加速老化测试。
3. 稳定性实测:数据不会说谎
3.1 我的测试环境配置
测试样本:瀚海微SD NAND,标称PSLC模式,容量记作16GB(实际TLC容量为48GB,通过PSLC降容)。主控端采用FPGA自带的SDIO Host Controller,跑2.0接口,频率50MHz,4线模式。
这里有一个关键设置:SD卡协议本身存在“忙”状态,Host可以通过读取状态寄存器的CRC错误计数和忙等待时间,判断卡的实时状态。我把等待超时设为5秒,超过即认为异常。擦写单位采用4KB随机写,文件系统层则采用FAT32格式配合10MB大文件持续写测试。
| 测试项 | 测试参数 | 结果表现 |
|---|---|---|
| 持续大文件写入 | 10MB文件循环写入 | 平均17.8MB/s,波动小于5% |
| 4KB随机写 | 队列深度1,连续100万次 | 平均1.2MB/s,无单次超时 |
| 断电保护 | 写入过程中随机掉电,重复200次 | 未出现文件系统损坏,上电后数据完整 |
| 高温老化 | 85℃环境,持续写入72小时 | 坏块数增加2个,均在备用区替换 |
| 读疲劳 | 持续读同一文件48小时 | 无ECC报错,读速稳定 |
3.2 异常掉电测试的真实细节
我在项目中最担心的,其实是异常掉电。很多卡在冷启动后出现文件系统“变砖”的状况,根源在于FTL映射表没有及时持久化,或者掉电瞬间正在擦写块的数据处于半更新状态。
PSLC模式因为单元状态简单,擦写的时间窗口更短,这在掉电场景下是个巨大的优势。举个例子,TLC擦一个块可能需要4ms,写一个页需要1.5ms;PSLC擦一个块可能只要2ms,写一个页只要0.8ms。关键操作的时间窗口越短,掉电落在“正在改写映射表”这个危险区间的概率就越低。
在200次破坏性掉电测试中,有几次掉电时机刻意设置在写入命令后的5μs、10μs、50μs这些极限窗口。开机后,通过文件系统检查和全盘读对比校验,均未发现不一致。这个表现,很大程度上不是因为主控的掉电保护算法多先进,而是PSLC本身把“不稳定窗口”压缩了。套用一句老话:底子好,后续补丁才打得住。
3.3 稳的不是参数,是体感
很多工程师看Datasheet只关心峰值性能,我反而更关心“脏盘性能”(Used Drive Performance)。普通TLC卡在用了70%容量后,GC压力上来,写速会以“自由落体”的态势往下掉。PSLC的容量利用率本来就低,OP空间充裕,所以即使写满90%,写速下降幅度也在可控范围内。
我做了一个测试:先把卡写满到90%,再持续跑4KB随机写10万次,观察写速曲线。结果显示,它的写速从1.2MB/s降至1.1MB/s,几乎看不出GC痕迹。对比同一主控方案的TLC模式,TLC模式在90%占用时,随机写速能跌到原来的1/3。这就是OP空间充裕带来的“体感稳定”。
4. 优劣势的显微镜:不吹不黑,逐项拆解
4.1 核心优势的量化解读
寿命优势:
还是那句话,PSLC把TLC的寿命拉长了,具体能拉长多少?业内有一个粗略的换算公式:寿命约等于原TLC寿命的2到4倍,同时业内普遍认为PSLC在满负载持续写时,寿命能达到原生SLC的大约80%左右。不要执着于精确数字,因为不同晶圆、不同制程差异巨大。瀚海微这款用的是成熟制程的3D TLC,在85℃高温老化测试下,前1000次全盘擦写后,坏块增长速度远低于普通TLC,到3000次全盘擦写时,坏块比例依然在个位数以内。
性能优势:
持续写性能,PSLC可以做到与普通SLC几乎一致。4K随机写的表现,取决于主控的FTL算法,但底层单元写入的宽电压窗口,使得“写放大”明显减小。实测中,4K随机写的写放大因子在1.2左右,而同颗粒TLC模式在2.0以上。这意味着同样的磨损,PSLC做出来的有效写入量更多。
高温耐受优势:
TLC在高温环境下,电荷泄漏速度会指数级增加。PSLC因为电压窗口大,对电荷泄漏的容忍度高得多。85℃下,PSLC的数据保持时间通常能做到TLC的10倍以上。如果需要做无风扇、密闭壳体、高温场景的嵌入式存储,这一点很致命。
4.2 不容忽视的劣势
成本账要细算:
PSLC的容量只有原始TLC容量的1/3,也就是说,Flash成本直接变成了原来的3倍。如果一盘BGA封装的TLC SD NAND,采购成本在15元,那么PSLC模式下的等效采购成本,即使考虑到晶圆良率优势,也可能在30元以上。这价格已经赶上了很多低端原生SLC的二手料或小厂料。所以,PSLC并不是“便宜的SLC”,而是在SLC绝迹时代的一种“可获得的稳定”。
性能峰值没有惊喜:
PSLC的持续写性能大约在17~20MB/s,SD 2.0接口下这个数据没问题,但如果你的Host支持UHS-I或者SD 3.0接口,PSLC并不能像原生SLC那样冲上30MB/s以上的写速。原因是,它毕竟是从TLC架构改过来的,内部编程机制仍有瓶颈。读速方面,受限于SD NAND封装本身走线,基本稳定在25MB/s左右,不会给你额外的惊喜。
固件生态绑定风险:
PSLC模式是否能稳定运行,极度依赖主控固件的设计。瀚海微主要是封装和测试厂,关键在主控与固件层面。如果他家固件升级不勤快,或者FTL策略有隐藏Bug,那么在长达数年的产品生命周期里,潜在风险不可忽视。这一点需要购买前确认固件版本更新策略和原厂支持力度。
4.3 适用场景与不适用场景的边界
适合的场景,我列一下:
- 嵌入式Linux / RTOS系统的根文件系统存储;
- 需要长期连续写入的日志记录设备,比如行车记录仪、工业采集盒;
- 医疗设备中短期数据存储模块;
- 开机时间敏感的消费类IoT设备,比如智能门锁、可视门铃;
- NAS读写缓存盘等强调稳定读写的场景。
不适合的场景:
- 需要超大容量的视频监控存储(容量是第一需求,容量优先级要高于可靠性,直接上企业级HDD或者大容量TLC卡更有性价比);
- 追求极致随机读性能、需要上高IOPS(每秒读写操作次数)数据库存储的场景;
- 需要原生SLC级超长Data Retention(数据保持能力)的超高可靠性军工级项目(这种需求直接买正品SLC,PSLC数据保持时间天花板低于原生SLC工艺)。
5. 市场前景解读:PSLC的生存空间与商业逻辑
5.1 市场驱动力:SLC退潮后的真实需求
这几年,晶圆厂对SLC产品的策略基本是“维持最低产能,逐步淡出”。因为SLC的利润贡献率太低,晶圆面积消耗却和TLC一样。在这种大环境下,大量工业客户被强行推向了PSLC。这不是选择,而是没得选。
瀚海微这类做存储模组封装的厂商,敏锐地抓住了这个窗口。他们做的事情:把原本需要客户自己找主控、自己设计FTL、自己画板调试的复杂过程,集成进一颗标准的SD NAND里。客户不用了解NAND Flash操作时序,不用处理坏块管理,只需要像使用SD卡一样,用标准SDIO接口读写数据。这种“降低技术门槛”的生意模式,在工业市场非常吃得开。
5.2 瀚海微SD NAND的差异化定位
和市面上的其他SD NAND相比,瀚海微的PSLC版本有几个打动我的点:
- 封装体积小但兼容性好。标准的SD NAND大多采用LGA-8封装,引脚定义固定。瀚海微这款可以直接替换市面上通用的SD NAND封装,不需要修改PCB Layout。对于在役产品升级存储方案时,这能省下一笔不小的改板费用。
- 固件层面预置了PSLC策略。很多厂商的SD NAND只支持TLC模式,如果客户想跑PSLC,只能通过专用烧录器在产线上重刷固件。瀚海微直接在出厂时固化为PSLC模式,省去客户产线的额外工序。这虽然剥夺了客户灵活切换模式的自由度,但对于绝大多数只需要稳定可靠存储的场景,反而是省心。
- 针对性优化了掉电保护。从我实际测试看,它在异常掉电后的恢复速度很快,重新上电挂载文件系统时,基本不需要长时间扫描。这一点,很多通用SD NAND做不到。
5.3 竞争格局:原生SLC的残余势力与新一代替代者
举两个极端例子。一类是旧款拆机SLC、白片SLC、特殊渠道的SLC,价格便宜但来源不明,可靠性完全没保障。另一类是工业级eMMC,性能更强,但需要主机端支持MMC接口和Boot Partition机制,对单片机系统来说门槛较高。
SD NAND PSLC正好卡在中间:引脚少(只有8个)、协议通用(SDIO)、性能足够(稳定20MB/s写)、可靠性有保障(大厂封装+测试)。它的优势不是单项最强,而是综合分最高。
未来两三年,如果QLC NAND进一步普及,市场上甚至可能出现PQLC(伪QLC模式),寿命可能比原生QLC翻好几倍。但就眼下来看,PQLC的数据保持能力和技术成熟度还太初级,PSLC依然是当前最“够用”的高可靠低成本选择。
5.4 隐忧与挑战
PSLC模式的市场前景,并非一片坦途,有几个潜在风险值得注意。
第一,价格波动受制于NAND Flash大宗市场行情。如果原厂TLC颗粒涨价,PSLC的成本联动非常明显。2023年之后NAND价格经历过一轮大起大落,很多项目在价格高位期被迫延期,就是因为存储方案的成本占比太高。PSLC天然有1/3容量牺牲,价格变化对大项目预算的冲击是放大了3倍的。
第二,差异化优势会随着TLC自身可靠性提升而收窄。新一代的3D TLC,通过更先进的制程和更前沿的主控算法,在寿命和数据保持上已经大幅改善。当TLC模式也能满足大部分应用需求时,PSLC的“稳定溢价”就会显得不太有吸引力。
第三,供应渠道仍以中小厂为主。瀚海微在业内属于专注细分市场的存储方案商,不像一线原厂那样有巨头级的供应链保障。在产能紧张期,能不能稳定拿到货、拿到好的晶圆批次,这是个现实问题。所以选型时一定不能只看测试报告,要了解清楚客户端的备货周期和原厂备货策略。
6. 实战选型与使用建议
6.1 拿到PSLC SD NAND后的第一件事
不少人拿到新存储卡,第一步是全盘格式化,或者直接拷文件。我建议在投入实际项目前,先做一次全盘擦除后校验。做法很简单:向全盘写00,再读出来比对;再写FF,再读出来比对。这个过程,一方面可以确认卡的出厂状态是健康的,另一方面可以在一定程度上唤醒新颗粒的性能稳定性。实测下来,全新卡的首次写速度会偏低,全盘擦写一遍之后,速度会恢复正常水平。这不是故障,是NAND颗粒的一种正常磨损初始化过程。
6.2 文件系统层面的优化
PSLC模式的写性能稳定,但如果你用错了文件系统,可能会白白损失寿命。这里推荐几种组合:
- 纯裸数据流应用:直接采用块设备读写,绕开文件系统;
- 需要目录管理:日志型文件系统(如LittleFS或JFFS2)比FAT更适合小容量存储,因为可以显著降低随机写和元数据更新的频率;
- FAT32能用但不算最优:FAT32适合SD卡协议,因为主机端协议兼容性最好,但如果频繁掉电,FAT表损坏的概率要高于专门为Flash设计的文件系统。
我自己的建议是,如果产品使用Linux,直接挂ext4,并且关闭atime更新;如果是RTOS环境,优先考虑littlefs。
6.3 多备份与磨损均衡的配合
PSLC虽然寿命长,但不代表不需要做系统级保护。任何消费级或工业级SD NAND,都不建议在需要高可靠性的场景里面,只放一个单副本。最好是有一个双备份机制,比如A区存程序,B区存配置和数据,A区损坏时启动B区。PSLC寿命长,减小了“两个区同时到期”的概率,但不能完全消除。
6.4 需要关注的主控固件指标
选型时,不要只看颗粒类型,还要关注如下细节:
- 是否支持动态与静态磨损均衡,静态磨损均衡决定了长期不用访问的数据块是否会被定期搬运,缺了这个,时间长了冷热数据寿命差异会很大;
- GC(垃圾回收)触发的阈值和策略,一些主控只在写满一定比例后才启动GC,在脏盘状态下性能波动会很明显;
- 坏块替换策略是即时替换还是延迟替换,延迟替换可能会在某个时刻同时出现多个坏块替换动作,造成瞬间的写停顿。
瀚海微这款在固件策略上,以官方回应来看,支持动态磨损均衡,并为PSLC模式调了静态磨损均衡的触发周期。实测中,长时间存放不读写的数据块,其磨损情况被均匀分散到了全盘,这是值得肯定的。
6.5 温度与寿命的确认
最后,提醒工程朋友们一个容易忽略的点:NAND Flash的寿命标注,通常基于常温(25℃~40℃)环境。如果你的产品工作环境温度长期超过70℃,寿命会急剧缩短。PSLC模式通过降低单元磨损,可以在一定程度上弥补这个差距,但并不能完全免疫。建议在环境温度高的项目中,留出至少30%的规格余量。比如,原厂标称10万次擦写寿命,实际规划时只按7万次预算。
我个人的验收标准是:在高温环测中,持续写入直到出现第一个坏块或第一次ECC不可修正错误,然后倒推实际寿命。如果实测寿命能达到标称寿命的80%以上,这颗料就可以认为合格。瀚海微PSLC在这个标准下,测试结果达到了标称的86%,还算诚实。
7. 最后的个人体会
我不是做市场分析的,但作为长期和各种NAND Flash打交道的工程师,我越来越坚定一个判断:PSLC不会消失,而会成为工业存储领域的一种“标配选项”。原因很简单,原生SLC被市场淘汰的进程不可逆,而工业设备对稳定性的需求却不会因为颗粒换代而降低。PSLC是产业链在工艺和成本双重约束下,找到的最优解之一。
这款瀚海微SD NAND的PSLC版本,虽然存在容量价格比较低的天然短板,但在稳定性、掉电保护和易用性方面的表现,已经足以支撑它进入多数工业和物联网项目的设计选型。如果你的项目正在被“颗粒荒”和“掉电保护”折磨,建议试一下PSLC模式,或者给自己留一个可以切换PSLC的SD NAND方案。
再分享一个小技巧:在PCB Layout时,SD NAND的电源引脚上,尽量靠近焊盘放一个4.7μF的陶瓷电容,再并联一个0.1μF高频去耦电容。这样能在突发电流和异常掉电时,为主控内部稳压器提供足够的瞬态缓冲。这个细节,在破坏性掉电测试中,能够明显减少复位失败的概率。
存储这个行当,没有银弹,也没有永恒的常量。选型的关键,是想清楚你的系统最不能容忍什么故障。如果最不能容忍的是“数据丢了”,那么PSLC确实值得你认真考虑。多测、多对比、多踩坑,选型才能不后悔。