NAND颗粒被“烤”到120℃还能不能正常读写?一次存算用户高温测试需求交流复盘
很多人谈 NAND Flash 测试第一反应是 SSD 性能顺序读写、随机读写、IOPS、延迟、带宽。这是个误区一定要注意NAND Flash 不等于SSDNAND Flash这是我们平时经常用的SSD的最核心的存储器件。但真正做到芯片级、颗粒级尤其是把 NAND 用到一些非传统场景里问题就会变得很不一样。我们最近一次针对NAND Flash测试的技术交流的背景是一家做存算CIM/IMC - compute in memory也叫In-memoy compute相关产品的用户在设计过程中发现一个现实问题系统内部某些NAND存储位置的温度可能会比原先预估的规格高不少。正常情况下供应商不会轻易承诺 NAND 颗粒可以长期工作在超过规格的高温环境里但项目又不能停在“理论上可能有风险”这里。因此用户希望找一种办法用少量 NAND 样品先做一次高温下的实际验证。这个需求听起来简单把 NAND 放到高温下看看还能不能读写。但真要做起来里面涉及样品来源、封装兼容、测试温度、测试动作、数据记录、报告形式、测试服务模式、设备是否值得采购等一串问题。两段沟通正是围绕这些问题展开的。一、问题从“少量NAND颗粒能不能测”开始交流一开始用户的需求还比较初步。用户想采购几颗 232 层左右的 TLC NAND 裸颗粒数量不多可能也就几颗到十几颗。目的不是做量产筛选而是想看看这些 NAND 在高温条件下的一些基础特性比如高温下的读写表现、Retention 行为或者某些 Read Disturb 相关现象。这里有一个很现实的约束用户大概率不会从原厂正式渠道采购大批量样品。因为只是做调研和验证如果去找原厂买三五颗裸 NAND原厂一般也不会配合。实际操作中很可能要通过代理商、渠道商甚至其他用户资源去找少量样品。这也决定了后面整个讨论的方向用户并不是要立刻购买一套完整 NAND 特性分析设备而是想先搞清楚有没有办法以测试服务的形式把少量样品测起来。二、NplusT Nanocycler不是产线筛选机而是NAND特性分析工具接着交流转到 NplusT的 NAND 测试设备。这里提到的 NplusT是一家意大利公司主要做 NAND Flash 测试相关设备也可以提供测试服务。Saniffer 在国内代理和支持这类设备。NplusT的这类 NAND 测试设备核心不是产线里那种“上板前测一下能不能用”的低成本筛选机。产线筛选关注的是速度和成本一晚上测很多颗只判断颗粒大体能不能贴片测试项目相对简单。但用户现在要看的不是“这颗 NAND 能不能用”而是“这颗 NAND 在高温、读写、擦写、干扰、保持等条件下的行为是什么”。这属于特性分析而不是简单分选。因此这类设备更适合高校、研究机构、SSD 主控公司、NAND 算法团队以及需要了解第三方 NAND 颗粒真实行为的研发团队。比如做 LDPC、读重试、磨损管理、Retention 建模、Read Disturb 分析或者 SSD 主控固件算法优化都需要真正理解 NAND 颗粒的特性。三、设备形态桌面小机台、多个独立测试槽、接触式加温交流过程中介绍了设备的大体结构。这类设备不是一个大型温箱而是比较紧凑的桌面型测试机台可以放在实验室台面上。标准配置可以包含多个Tester Unit测试模块每个槽位相对独立控制如果是多槽配置中间也会做隔离避免一个槽位加热影响另一个槽位。它的加温方式也和传统温箱不同。传统温箱是把整个空间升温而这里更像是接触式加温。NAND 裸颗粒放入 socket 后上方盖板压住芯片盖板直接接触 NAND 封装通过热传导把温度加到芯片上。设备还会监控温度等温度稳定到设定值后再执行 Program、Erase、Read、Read Disturb 等测试动作。这种接触式加温的好处是响应更直接温控对象更贴近被测 NAND 本体。对于少量颗粒、高温快速验证来说比搭一个大温箱更方便。我们在后续的交流过程中温度能力进一步明确设备标称可以支持到 125℃实际硬件能力可以更高提到过可到 145℃左右但长期使用还是应以标称规格为准。用户关心的 95℃以上甚至 120℃左右的短期测试原则上落在这类设备可以讨论的范围内。四、样品封装是第一道门槛BGA152、BGA132、BGA154不能混着看我们交流里很快碰到一个关键问题NAND 裸颗粒的封装。这类测试设备不是随便拿一颗 NAND 放进去就能测。它需要 socket 与颗粒封装匹配。常见 NAND 封装包括 BGA152、BGA132、BGA154 等。不同厂商、不同代际、不同容量的 NAND封装可能不同。交流过程中提到一个 BGA152 socket 可以兼容 BGA132方法是放置时左右各空一列按定位点对齐。但 BGA154 与 BGA152/BGA132 并不一定兼容往往需要另一种 socket 或测试模块。这就引出了后续必须确认的第一件事用户到底要测哪一家 NAND、哪一代产品、哪一个具体 part number、什么封装形式。比如长江存储YMTC的 X2、X3、X4不同型号、不同层数、不同容量封装和 pinout 可能都不同。不能只说“我想测长存 NAND”必须落实到具体料号。否则设备端无法确认 socket、FPGA 配置、协议支持和测试流程是否匹配。五、软件流程不是写一堆底层代码而是拖模块搭测试步骤设备介绍之后交流转到软件操作。这套系统的软件并不是让工程师从零写底层 NAND 命令而是提供很多功能模块。用户可以像搭流程一样把温度控制、Program、Erase、Read、Read Disturb、降温等模块按顺序组合起来。比如一个典型流程可以这样设计先把温度升到 95℃或 120℃ 等待温度稳定 执行 Program 执行 Read 执行 Read Disturb 再次 Read 记录数据 必要时降温 最后导出结果。每个模块里都可以设置参数。比如测试哪些 block、哪些 page、读多少次、写入什么 pattern、循环多少轮、Read Disturb 次数是多少、温度设定是多少、每一步之间是否需要等待等。这对用户很重要因为他们要的不是一个固定测试而是希望能根据自己关心的问题灵活配置。比如他们可能只想测几个 block也可能想全片扫一遍可能想看 Program 后的立即读取也可能想看高温下短时间放置后的变化可能只做几百次读扰也可能做十万次 Read Disturb。六、数据输出CSV是基础后处理要提前想清楚交流过程中反复提到设备在测试过程中会产生大量数据并且可以导出 CSV。这件事看起来平常其实很关键。因为 NAND 特性测试不是最后给一个“Pass/Fail”就结束了。用户真正要看的是数据趋势某个温度下读出来的 bit 是否稳定 Program 时间是否变化 Read Disturb 后错误数是否增加 高温保持后阈值分布是否漂移 不同 block、不同 page、不同 die 之间有没有差异 某些 pattern 是否更容易出问题 不同样品之间是否有离散性。因此测试开始前就要想清楚最终到底要哪些字段、哪些图、哪些统计结果、哪些中间数据。设备可以导 CSV也有配套软件做后处理但用户自己也可以用 Excel、Python 或内部分析工具二次处理。这也引出一个很实际的建议不要只说“帮我测一下 Read Disturb”而要明确测试后希望看到哪些指标。否则设备跑完后给出一大堆 CSV用户再回头说“我真正想看的不是这些”就会浪费测试时间。七、采购设备并不一定划算少量样品更适合先做测试服务我们交流过程中双方很快判断出如果用户只是为了几颗 NAND 样品做一次短期验证直接采购整套设备不一定划算。一套完整设备不便宜而且不仅是买硬件还涉及测试模块、socket、软件、脚本、人员培训和后处理流程。对于长期做 NAND 特性研究的高校、SSD 主控公司或算法团队这类投入是值得的但对于只是想先验证几颗颗粒在高温下表现的用户来说测试服务更合理。因此当时提出了几种可能路径。第一种送到 NplusT意大利团队由原厂帮忙做测试并出报告。 第二种在 Saniffer 上海办公室使用现有设备做一次小批量测试必要时让 NplusT工程师远程支持。 第三种如果现有设备或 socket 不匹配也可以看看国内已有设备的高校、研究机构或企业用户是否愿意协助做一次测试。 第四种如果后续需求变成长期、持续、大批量再考虑采购设备甚至由 Saniffer 组建相应的测试服务能力。这个判断很务实先用服务验证需求再决定是否买设备。对于还处在调研阶段的项目这是更稳妥的路径。八、为什么高校和SSD主控公司会用这类设备交流过程中还延伸聊到这类设备的典型用户。高校方面很多团队会研究 NAND 器件特性、错误模型、Retention、Read Disturb、Program/Erase 行为以及基于这些特性的纠错算法。比如 LDPC 算法要做得好就不能只凭规格书写参数必须理解真实 NAND 在不同温度、不同磨损状态、不同读写条件下的统计行为。企业方面SSD 主控公司也会用这类设备。主控厂商不一定自己生产 NAND但它需要适配各种 NAND 供应商的颗粒。不同厂商、不同批次、不同代际的 NAND读写延迟、错误分布、Retention 行为、Read Disturb 敏感性都不完全一样。主控固件、读重试策略、纠错算法、坏块管理策略都需要基于这些特性不断优化。用户当前的情况与此类似他们自己不生产 NAND而是计划使用第三方 NAND。既然用的是第三方 NAND就更需要了解它在自己系统场景里的行为尤其是在温度条件可能超出常规设计预期时。九、交流后半段样品采购本身也是难点我们交流的后半段还聊到一个很现实的问题现在想买少量原装 NAND 裸颗粒并不容易。几年前找原厂或代理买几颗样品相对容易甚至有时候打个招呼就能拿到。但现在很多高代际、高容量 NAND 颗粒变得很紧俏。少量采购很难谈价格也高。有时渠道商手上有货但要求一次拿走几十颗如果只买几颗对方未必愿意卖。更麻烦的是市场上可能存在拆机料、重新植球料、来源不明的料。对于普通功能验证也许还能勉强用但对于高温特性测试这类料风险很大。因为你不知道它之前经历过什么温度、多少擦写、什么焊接条件、是否重新打磨、是否返修过。拿这种样品去做高温测试最后很难判断问题到底来自 NAND 本身还是来自样品来源和前处理过程。所以这里形成了一个重要共识如果要做高温可靠性或特性验证最好使用原装、未使用、来源可靠的 NAND 颗粒。否则测试结果的解释会非常麻烦。十、后续的交流把需求进一步讲清楚在后续的交流中用户把真实需求讲得更明确了。他们最近在做系统设计热仿真时发现实际温度在某些情况下可能会比原先预计的规格高很多可能超过 95℃。而NAND Flash供应商通常不会轻易承诺产品可以在这种高温下长期正常工作。所以用户希望先做一次探索性测试在大于等于 95℃的环境下看看 NAND 是否还能正常读写进一步地可能希望把温度推到 120℃以上做短期的读、写、Read Disturb或者类似短期高温保持的观察。这时候需求已经从初期交流的“想看看高温特性和 Retention”收敛成了更具体的工程问题温度至少 95℃以上可能到 120℃ 对象第三方标准 NAND 裸颗粒可能是长江存储YMTC等厂商 测试读、写、Program、Erase、Read Disturb以及短期高温下的数据变化 样品量很少属于短期验证不是长期批量测试 模式更倾向测试服务而不是马上采购设备。十一、设备能力再次确认接触式加温、125℃标称、实际可到更高然后我们再次确认了设备温度能力。设备通过接触式加温直接加热 NAND 封装温控相对准确。标称支持到 125℃实际硬件能力可以更高提到过大约 145℃。但从工程角度正式使用仍然建议按照标称规格来规划尤其是长时间测试。用户想试 120℃左右这在设备能力范围内是可以讨论的。需要注意的是测试温度越高对样品、socket、接触稳定性、测试时间和安全边界的要求越高测试方案也要写得更清楚。十二、封装和料号再次成为前置条件同时双方再次强调了封装问题。设备支持的是标准 NAND 协议和标准 NAND 封装。只要是标准 ONFI/Toggle 类 NAND、标准 BGA 封装理论上可以通过合适 socket 和测试模块来做 Program、Erase、Read、Read Disturb 等动作。但如果是非标准接口、非标准封装、特殊 pinout就会比较麻烦。因此用户下一步必须先提供具体 NAND 厂商 具体料号 容量、层数、代际 封装类型比如 BGA132、BGA152、BGA154 是否为原装新料 预计样品数量。这一步看似琐碎其实是能不能开测的第一道门槛。没有料号和封装设备端无法确认 socket 是否匹配没有样品来源说明也无法判断测试结果是否可信。十三、测试需求要写成文档温度、次数、模式、输出结果都要明确本次交流过程中给用户最明确的建议是先把测试需求写成文档。这个文档至少要回答三个问题。第一个问题测什么样品 也就是封装、料号、供应商、样品数量、来源是否可靠。第二个问题怎么测 比如温度是 95℃、105℃、120℃还是多个温度点每个温度点稳定多久Program/Erase 做几轮Read Disturb 做多少次读写 pattern 是什么测试哪些 block/page是否需要高温保持是否需要降温后复读。第三个问题要什么结果 是只要一个简单报告还是要完整 CSV要看哪些参数是否需要图表是否要统计 error count、fail bit、page/block 差异、Program time、Read retry、Retention 前后变化等。这一步非常关键。NAND 特性测试不是“把料放进去跑一下”这么简单。测试脚本可以灵活配置但前提是用户知道自己要验证什么假设。否则测试动作做完了数据也有了后处理和结论却很难落地。十四、这不是传统可靠性线而是一次极端条件下的快速特性摸底我们还区分了一个概念这次测试不完全等同于传统可靠性测试。传统可靠性测试可能是标准流程、标准温度、标准时长、标准样本数例如长时间 HTOL、Retention、Endurance 等。而用户这次更像是工程风险摸底系统某些点可能出现高温所以先找几颗第三方 NAND在 95℃甚至 120℃做一次短期验证看它能不能正常读写是否出现明显异常。这类测试不一定能直接替代正式可靠性认证也不能说明产品在所有工况下长期可靠。但它很适合在项目早期回答一个关键问题这个方向有没有明显风险如果一上 120℃就读写异常那设计就要尽早调整如果短期看起来还可以后续再决定是否做更完整的可靠性验证。也正因为它是探索性验证测试服务模式就比直接采购设备更合适。十五、现有设备状态上海有设备但要确认socket和可用模块经过确认上海这边有设备资源但实际可用状态还要确认。有一台设备可能已经发给无锡用户试用另有一台设备可能还在上海办公室但需要确认当前装的是什么 socket、什么测试模块、是否适配用户要测的 NAND 封装。这也再次说明测试服务能不能很快启动不只取决于设备本体还取决于当前设备是否空闲 socket 是否匹配 测试模块是否支持目标料号 脚本是否已有 NplusT是否需要远程支持 样品是否已经准备好。如果这些都匹配用户甚至可以把样品带到上海办公室做一次快速验证如果不匹配就要考虑更换 socket、找其他已有设备的用户协助或者送到 NplusT原厂做。十六、下一步安排先写需求再拉NplusT意大利团队开Zoom会议最后双方把下一步动作基本定下来。用户先准备一份需求文档把样品形态、测试温度、测试动作、循环次数、数据需求写清楚。随后可以在下周一左右内部和内部经理确认再看是否拉一个 Zoom 会议把 NplusT意大利工程师也一起叫上直接讨论可行性。这样做比较高效。因为如果只是口头说“我们想测高温”NplusT工程师也很难给出准确方案。只有看到具体温度、封装、测试步骤、样品数量、数据输出要求才能判断现有设备能否直接做 是否需要更换 socket 是否需要定制脚本 是否需要在上海测还是送意大利测 大概周期和费用如何 最终报告能提供到什么程度。这也给用户内部决策提供了依据是先做一次小额测试服务还是后续把它变成持续测试能力。十七、关于样品一定要尽量避免拆机料、重植球料最后又回到样品来源问题而且比前面的除部交流更明确。如果要做高温测试最好不要使用拆机料、重新植球料、来源不清楚的料。因为这类样品可能已经经历过焊接、返修、热冲击甚至可能被重新打磨过。拿它做高温测试一旦出问题很难判断问题来自 NAND 本体、封装损伤、焊球质量还是之前使用历史。对于这次用户想验证的东西来说样品来源尤其重要。因为他们关心的是“正常第三方 NAND 在高温下是否还能满足需求”而不是“某颗来路不明的拆机 NAND 在高温下会不会坏”。因此样品准备应尽量走可靠渠道。如果买不到少量原装裸颗粒也可以考虑通过合作用户、原厂窗口、大学实验室或已有样品资源借用少量样品。虽然麻烦但这一步决定了测试结果能不能被内部认可。十八、这次交流对存算类用户的启发这次交流最有意思的地方在于用户本身并不是传统 NAND 原厂也不是普通 SSD 厂商。他们做的是存算相关方向自己不生产 NAND而是可能使用第三方 NAND 颗粒构建自己的系统或产品。这类用户面对的挑战很典型他们不是 NAND 制造商所以拿不到完整的内部器件模型 他们不是传统 SSD 主控厂所以未必有完整 NAND characterization 能力 但他们又要把 NAND 用到自己的系统里甚至可能出现更高温、更特殊访问模式、更特殊工作负载 这时仅仅相信 datasheet 或供应商口头说明是不够的。因此他们需要一种“轻量级但足够专业”的方法先把少量 NAND 颗粒在目标边界条件下测一遍。这就是 NplusT这类 NAND 特性测试设备和测试服务的切入点。十九、这件事真正要解决的不是买设备而是回答三个工程问题回看两段交流表面上大家在聊设备、socket、温度、CSV、服务模式但真正要回答的是三个工程问题。第一个问题目标 NAND 在用户真实温度边界下还能不能正常读写这对应 95℃以上、120℃短期读写、Program/Erase/Read Disturb 等测试。第二个问题如果出现异常能不能通过数据判断异常模式比如是读错误增加、Program 失败、擦除异常、Retention 漂移还是 Read Disturb 敏感性变强。第三个问题用户后续要不要建立自己的 NAND 特性分析能力如果只是一次验证就做测试服务如果未来产品持续依赖第三方 NAND并且访问模式和温度边界都很特殊那就要考虑长期能力建设。这三个问题比“设备多少钱”更重要。二十、结语NAND不是黑盒尤其在高温和新场景里在传统 SSD 里很多人习惯把 NAND 看成主控后面的存储介质。主控厂商做固件NAND 原厂提供颗粒系统厂商买盘使用大家按各自角色分工。但到了存算CIM/IMC - compute in memory/In-memoy compute)、边缘设备、特殊散热条件、非传统访问模式这些新场景里NAND 就不能再被当成完全黑盒。一颗 NAND 在标准温度下能正常读写不代表它在 95℃、105℃、120℃下仍然表现稳定。 一颗 NAND 在普通 SSD 里没问题不代表它在新的访问模式和热环境下没有风险。 一颗来自渠道的 NAND 能点亮也不代表它适合拿来做高温特性判断。 一个供应商给出的 datasheet也不能替代用户自己在目标工况下的实测数据。这次交流的价值就在这里它没有急着把设备卖给用户而是先把问题拆开——样品是什么封装温度要到多少测哪些动作要什么数据是一次性服务还是长期能力样品来源是否可靠现有 socket 是否适配是否需要 NplusT原厂参与对于用户来说下一步不是马上下单而是先把需求文档写清楚。只要样品、封装、温度、测试动作和数据目标明确下来这件事就可以从“我想看看高温下会不会有问题”变成一套可执行的 NAND 高温特性验证方案。在 NAND 越来越贵、越来越难买、应用场景越来越复杂的今天这种颗粒级测试能力已经不只是 NAND 原厂和 SSD 主控厂才需要。任何把第三方 NAND 放进自己系统里的团队都迟早会遇到类似问题这颗 NAND在我的真实环境里到底靠不靠谱而答案最终还是要靠测试数据说话。