更核心的问题其实是:
当 RRAM 从单个 cell 走向 crossbar 阵列以后,传统测试方法还能不能支撑真实研发节奏?
这句话听起来有点抽象,放到现场就很具体。
一个 32×32 的 RRAM crossbar 阵列,看起来只有 1024 个 cell,并不算特别大。但如果每一个 cell 都要经历 read、set、reset、verify、循环、扰动、分布统计,再加上不同电压、不同脉宽、不同 selector bias、不同读出窗口组合,测试量很快就会膨胀。
对于做材料、器件、存算一体、类脑计算或者 CIM 的团队来说,真正痛苦的地方不是“测不到一个点”,而是:
测完一组有意义的阵列数据,往往已经慢到影响研发迭代。
这也是 TestMesh 在新型存储测试里真正有价值的地方。
它不是简单把一台 SMU、一个脉冲源、一个开关矩阵拼在一起,而是把 waveform generation、cell addressing、current sensing、FPGA 调度、Python 脚本和阵列级数据分析做成了一套完整的系统。
这次 Demo 的现场交流,正好把这个问题讲透了。
会议开头,n-plus-t 的工程师先打了一个“预防针”。
他们说明,这次展示使用的是一个客户提供的 RRAM crossbar 器件,但这个器件本身并不完美,甚至有些状态已经不太好。因此今天展示的重点,不是证明这个样片本身性能多好,而是展示 TestMesh 如何连接、寻址、施加波形、测量电流、生成阵列 map,以及后续如何做数据分析。
这个开场其实很真实。
很多新型存储 Demo 最怕的不是设备不够好,而是器件太早期。尤其是 RRAM、PCM、MRAM、FeRAM 这类 emerging NVM,很多团队手里的样品还处在工艺调试阶段。一个样片可能有大量坏点、漏电、漂移、非理想 switching、selector 不稳定,甚至封装和引线本身也可能带来额外问题。
所以这次 Demo 的价值不在于“把一颗完美芯片测得很漂亮”,而在于:
面对一个并不完美的 crossbar 样片,系统仍然可以完成阵列寻址、波形施加、读出、map显示和数据分析。
这才是研发工具真正要解决的问题。
现场展示的主系统是 TestMesh TME/TMA 系列设备,外接 crossbar extension unit,用于测试 RRAM crossbar 器件。
从结构上看,可以拆成几层。
第一层是 TestMesh 主机。里面有 主板,通过 PCIe 连接到系统主板;主板上集成了波形发生、电流测量、数字信号控制等电路,同时还有 ARM 处理器和 FPGA 资源。
第二层是 32 路 SMB 连接资源。TestMesh 主机产生的模拟和数字资源,通过多根同轴线输出到外部 extension board。
第三层是 crossbar extension board。这块板专门用于 RRAM crossbar 器件。现场样片是 32 wordline、32 bitline、32 selector line 的结构,也就是 32×32 阵列,加上 selector 控制线。封装形式现场提到的是类似 QFN128 的封装,通过 socket 插到子板上。
第四层是 IB current sensing module。现场提到有 16 个模块,每个模块有两个通道,对应 32 条线。它们负责电流-电压转换,也就是把流过器件的电流转换成可测信号。
这套系统的关键,不是“有多少个通道”这么简单,而是它把 RRAM 阵列测试里的几件事放到一起做了:
这已经不是传统意义上的点测,而是阵列级控制。
如果只是一个单 cell,两端加电压、测电流,问题相对简单。
但 crossbar 不一样。
现场讨论的这个结构是 1T1R,也就是一个 selector transistor 加一个 resistive memory cell。每一个 cell 不是孤立存在,而是处在 wordline、bitline、selector line 交叉形成的网络里。
测试一个 cell 时,至少要同时考虑三类线:
这也是为什么 TestMesh 在 extension board 上设置了 active / inactive 两套波形资源。
例如 selected wordline 可以接 active waveform,而未选中的 wordline 接 inactive waveform。selected bitline、selector line 也可以按照类似逻辑独立控制。这样做的目的,是让系统在操作某个 cell 时,不只是给这个 cell 施加一个脉冲,还要管理整个阵列里其他未选 cell 的电位状态。
这对 RRAM 很关键。
因为 RRAM crossbar 常见问题不是“选中 cell 能不能 set”,而是:
这些问题必须在阵列级别观察,不能只靠单点曲线判断。
硬件介绍之后,工程师开始共享软件界面。
软件左侧是不同 test program 的列表。对于这次 Demo,有一个专门针对 RRAM 32×32 阵列的 folder。加载 test program 后,就可以进入 interactive test 模式。
现场展示了几个典型功能:
这些功能背后,本质都是 Python 脚本。界面上看到的是按钮和参数框,背后调用的是 TestMesh library 里的函数。
这点非常重要。
因为新型存储研发里,测试流程不会像量产测试那样完全固定。今天要改 set pulse,明天要改 reset polarity,后天要加 verify,下一周又想做 disturb pattern。GUI 可以让工程师快速上手,但真正让系统适应研发变化的是 Python 脚本。
所以 TestMesh 的设计思路是:
初期用图形界面快速试验,后期用 Python 把测试流程固化和自动化。
这对高校和研究院尤其有意义。因为研究型团队最怕工具只能执行固定菜单,而不能快速适配自己的材料和器件结构。
现场重点演示了三类 RRAM 操作:set、reset 和 read。
Set 的目标是让 RRAM cell 从高阻态切换到低阻态,也就是提高导电能力。
在现场配置里,set 操作会把特定 waveform 加到 selected wordline 和 selected selector 上,其他未选中 line 保持 inactive 状态。系统可以逐 cell 扫描,把 set pulse 施加到选定区域内的每一个 cell。
这意味着工程师不需要手动改线、不需要外接开关矩阵、不需要一条条切换探针。阵列寻址和波形切换由系统完成。
Reset 与 set 的方向相反,目标是让 cell 回到高阻态。根据器件极性不同,reset 可能通过 bitline 侧施加反向 bias 或者改变 selector/wordline 组合来实现。
现场工程师解释时也承认,set/reset 的具体波形和极性要根据器件结构而定。这一点很真实,因为不同 RRAM 材料体系和 selector 结构差异很大,不能用一个固定波形包打天下。
Read 是最基础也是最常用的操作。现场读电压设置在约 0.2V,这是一个典型的非破坏性读出电压。
测试时,系统打开 selector,在 bitline 端测量电流。波形编辑界面上用绿色窗口标出测量时间段,也就是说,电流不是随便在某个时刻读,而是在指定时间窗口内采样。
这对 RRAM 很关键。
因为 RRAM 读出结果会受瞬态、电容、selector导通状态、settling time 影响。如果没有精确的读出窗口,测出来的电流可能不是稳定状态,也可能混入波形边沿带来的误差。
现场最有价值的一段,是关于测试时间的追问。
工程师在软件里展示 set operation 的时间,现场有人注意到:set pulse 本身设的是 20,000 ns,也就是 20 µs,但实际每个 cell 的 operation 显示接近 300 µs。
于是现场开始追问。
问:你这里 set pulse 是 20 µs,但是平均每个 cell 操作大概 300 µs。那剩下的 280 µs 到底花在哪里?是在 sensing,还是在 cell switching?
答:你理解得对。这里显示的 300 µs,不等于 pulse 本身就是 300 µs。这个版本是 debug version,FPGA 里还有调试逻辑和 analyzer 逻辑,所以在一个 cell 切换到下一个 cell 时产生了额外 overhead。
追问:所以 20 µs 是真正施加到 cell 上的 pulse,300 µs 是整个系统完成一次 cell operation 的总时间?
答:是的。当前演示系统因为调试版开销较大,看起来是 300 µs 级别。但这些 debug overhead 后续会去掉,正式版本会降到几十微秒量级,预计在 50 µs 左右。
这段追问很关键,因为它把“波形速度”和“阵列扫描效率”分开了。
很多测试工具讨论速度时容易混淆三个概念:
TestMesh 的价值不只是 pulse 很窄,而是把 cell switching、波形施加、采样、数据回传、map 生成这一整套流程做得足够快。
结合这次 Demo 和我们之前对 TestMesh 的讨论,它提高效率主要靠四个层面。
传统方法常见做法是:
SMU / pulse generator + switch matrix + 探针台 / 手动切换 + 软件控制。
这种方法能测,但大量时间耗在路径切换、设备握手、软件通信和数据整理上。
TestMesh 把 cell selection 和 routing 放到 FPGA 和 extension board 架构里完成,cell 之间切换由硬件路径完成,远比通过外部仪器一条指令一条指令切换要快。
RRAM crossbar 测试不是只选中一个点,还要控制未选点。
TestMesh 通过 active / inactive waveform,把 selected 和 unselected lines 的状态都纳入同一个测试定义。这样测试脚本描述的不再是“某个电压源输出多少伏”,而是一个阵列操作:
这使得 set/reset/read 可以在阵列级别快速重复执行。
现场展示的每个 operation 背后都是 Python 脚本。工程师可以把 read、set、reset、verify、cycling、disturb 等操作编排成完整流程。
例如,一个典型 RRAM 阵列测试可以写成:
如果用传统仪器,这可能需要工程师在多个软件之间来回切换;而在 TestMesh 体系里,可以逐步固化为脚本和 test program。
这点经常被低估。
很多新型存储实验室不是没有测试仪器,而是测试完以后,数据后处理非常痛苦。尤其是 crossbar 阵列,数据天然是二维结构。如果最后只是导出一堆 CSV,再靠学生手工拼图、画 distribution、算差分,很容易出错,也很慢。
现场展示的 Barney / Barney Math 软件,可以直接显示:
这实际上把“测量”和“分析”连成了一条链。
现场另一个争论点,是最小 pulse width。
一开始工程师说 TestMesh / TMA 原生 waveform generator 可以做到很短的脉冲。后来大家追问,如果通过 crossbar extension board 连接器件,最小脉宽是多少。
问:你刚才说最小脉冲可以做到 5ns,但现在通过 crossbar extension board 测 RRAM,最小到底是多少?
答:TMA 主机原生 waveform generator 可以做到约 5ns。但如果信号通过 crossbar extension unit,再经过板上的 multiplexer 和 selector 到 DUT,最小脉宽大约是 50ns。
追问:也就是说,如果直接从 TestMesh 输出,通过同轴线接到客户自己的评估板,保留原生性能,可以做到 5ns;但如果走 crossbar extension board,因为中间有多路复用和寻址电路,脉冲会被拉宽到约 50ns?
答:是的。extension board 提供阵列寻址能力,但会牺牲一部分原生波形性能。
这段非常重要。
它说明 TestMesh 有两种用法:
第一种,是直接连接 DUT 或客户 evaluation board,追求最短脉冲、最快上升沿、最高波形保真度。这个路径更适合单 cell、小阵列、需要极短 pulse 的材料和器件实验。
第二种,是通过 crossbar extension board,追求阵列级寻址、批量扫描和自动化 map。这个路径更适合 32×32、64×64、128×128 这类 crossbar 阵列。
两种方式不是谁替代谁,而是面向不同研发阶段。
如果客户最关心的是 switching speed、极短脉冲、器件物理极限,就应该优先考虑直连方式。
如果客户最关心的是阵列mapping、CIM权重写入、阵列均匀性、disturb 和统计分布,就应该优先考虑 extension board。
现场还有一个很有代表性的问题:如果客户不是只想打一颗简单的 set pulse,而是要复杂波形,例如阶梯波、多个 pulse 串、斜坡、不同电压平台组合,能不能做?
工程师给出的回答是可以,而且有两种方式。
第一种是图形化编辑。用户可以在 GUI 上增加 pulse segment,手工调整电压、时间、上升沿、下降沿等参数,组成一个 sequence。
第二种是 Python 脚本。工程师现场解释,类似阶梯波或复杂 pulse sequence,用 Python 写起来并不复杂,甚至十来行代码就能生成一个自定义波形。
问:如果我们不是只要一个 set pulse,而是要一个更复杂的波形,比如阶梯式、多个pulse组合,能不能生成?
答:可以。第一种方法是在图形界面里直接编辑,增加 pulse,调整每一段的时间和电压。第二种方法是用 Python code 生成。比如从 0V、0.1V、0.2V 逐步增加,这种 step sequence 可以直接写在脚本里。
追问:如果我们给你一张波形图,你们能不能判断这个波形能不能生成?
答:可以。这类波形基本可以生成。用 Python 生成会更灵活。
这一段对 RRAM 研究很关键。
因为 RRAM 不是一个标准化器件。不同材料体系、不同电极、不同 forming 机制、不同 selector 设计,对波形非常敏感。有些实验不是简单 set/reset,而是要研究:
传统固定菜单式设备很难跟上这种变化,而 TestMesh 的优势就在于:GUI 可以快速试,Python 可以深度定制。
现场还有一个很工程化的问题:软件里设定的波形,到了 DUT 端是不是还保持原样?
这也是大家要求用示波器看的原因。
客户不是不相信 waveform editor,而是希望确认:
工程师随后用示波器展示了波形,并解释测量位置不同,看到的 rise time 会不同。
如果在 TMA 输出端测,可以看到很快的上升沿;如果经过 extension board 和器件路径后再测,上升沿会变慢,可能到 10ns、20ns量级。
这段交流其实把“仪器指标”和“真实器件端波形”区分开了。
对做 RRAM 的团队来说,这一点特别重要。
因为 RRAM switching 可能对 pulse width、rise time、overshoot 非常敏感。软件里写 10ns,不代表器件端一定就是理想 10ns;如果中间经过线缆、socket、extension board、multiplexer、寄生电容,最终到 cell 端的波形会变形。
所以对于极短脉冲研究,建议一定要配合示波器校准测试路径;对于阵列级自动化测试,则需要接受 extension board 带来的波形保真度折中。
演示后半段,工程师展示了数据分析软件 Barney / Barney Math。
这部分非常值得写进文章,因为它解决了很多 RRAM 团队后处理的痛点。
现场展示的是 32×32 map。每一个小方格代表一个 cell,鼠标移到某个 cell 上,可以显示 row、column 和对应电流值。
在示例数据中,reset 状态下某个 cell 电流大约是 6µA;set 后同一个 cell 可以到 60µA,set/reset 之间有明显电流差。软件还可以生成 differential map,把 set 前后变化用颜色显示出来。
更进一步,软件可以做 distribution 和 correlation plot。例如:
问:这些数据后处理,是不是只能在GUI里面点?能不能用 Python?
答:可以。软件支持 Python。GUI 里能手工做的事情,也可以通过 Python library 做。同时测量时会生成 CSV 文件,里面包含测量数据。你既可以自己处理 CSV,也可以把数据导入 Barney Math 做更复杂的分析。
这个回答很重要。
因为对科研团队来说,GUI 只是第一步。真正发表论文、做批量对比、做器件模型、做工艺 split 分析时,最后一定要进入脚本化数据处理。
TestMesh + Barney Math 的价值在于,它既给了交互式界面,又没有把用户锁死在界面里。数据可以导出,Python 可以处理,后续还可以对接自己的算法。
RRAM 测试里还有一个非常现实的问题:set 过程中如果电流过大,器件可能被打坏。因此客户追问,设备是否支持 maximum current threshold 或 compliance current。
这段问答也很有代表性。
问:在 set 操作中,如果电流太大,可能会损伤器件。TestMesh 能不能设置最大允许电流,比如超过阈值就限制?
答:目前可以利用 IB module 里的串联电阻限制最大电流。这不是一个 active compliance 方案,而是通过 current sensing module 内部的电阻起到限流作用。
追问:也就是说,不是像某些 SMU 那样实时 active clamp,而是通过串联电阻做被动限流?
答:是的。如果客户需要更精细的 programmable current limitation,可以考虑定制 module,在 IB module 这一层加入更复杂的限流能力。
这个回答其实很诚实。
TestMesh 的长处是高速波形、阵列寻址、批量扫描和自动化数据分析;如果客户需要非常精细的 SMU 式 active compliance,可能需要在模块层面定制,或者根据实验策略加入保护电阻、限流结构和前期参数摸底。
这也提醒我们:TestMesh不是要替代所有传统参数分析仪,而是在新型存储阵列测试里补上传统工具最难解决的效率和自动化短板。
很多客户第一次看 TestMesh,会自然拿它和 Keysight B1500、Keithley SMU、脉冲源、示波器、探针台做比较。
这个比较没有问题,但要看比较维度。
如果只测一个单 cell 的 I-V 曲线,B1500/SMU非常成熟,也很适合材料和器件早期研究。
但一旦进入 crossbar array,问题就变了。
传统工具面临几个瓶颈:
TestMesh 的方向不是“把一个点测得更精”,而是:
把阵列测试跑起来,把数据流跑通,把效率提上去。
这就是为什么它特别适合:
对于这些场景,测试不再是几条 I-V 曲线,而是成千上万个 cell 状态的统计学问题。
这场 Demo 结束后,我觉得最值得总结的不是某个单独指标,而是以下几个结论。
它把波形、寻址、测量、脚本和分析放在同一套系统中,适合研发阶段反复修改测试条件。
直连 TMA 可以得到更短的脉冲,比如约 5ns;通过 extension board 后,受 multiplexer / selector 影响,最小脉冲会到约 50ns。但 extension board 带来的好处是可以直接面对 32×32 或更大阵列做快速寻址和扫描。
真正让 TestMesh 快的不是某一个 waveform generator,而是:
这些能力叠加在一起,才让 RRAM 阵列测试从“能测”变成“测得动”。
例如:
这些不是缺点,而是新型存储测试本来就需要共同定义。因为不同 RRAM 团队的器件结构、材料体系和测试目标差异太大,不可能用一个固定夹具解决所有问题。
这次 RRAM Demo 给我的最大感受是:
RRAM测试正在从参数测试,走向阵列工程。
过去大家更关心一个 cell 的 switching curve、set/reset voltage、endurance 和 retention。
现在,随着 crossbar、CIM、类脑计算、multi-level conductance 等方向发展,真正的问题变成:
这不是靠单点测量能解决的。
所以 TestMesh 的价值不是“比传统仪器多一个功能”,而是改变了 RRAM 阵列测试的工作方式:
从手工点测,变成脚本化阵列扫描; 从单条曲线,变成二维map和统计分布; 从一次实验几天整理数据,变成测试与分析连续闭环。
对于今天还在做 RRAM、PCM、MRAM、FeRAM、CIM 和其他 emerging NVM 的高校、研究院和芯片团队来说,这种变化会越来越重要。
因为新型存储最后能不能走出实验室,不只取决于材料能不能switch,也取决于:
工程师能不能在足够短的时间里,看清整个阵列到底发生了什么。
这正是 TestMesh 想解决的问题。
更多PCIe5&6.0, CXL, NVMe SSD, SAS/SATA, NVMe over Fabric (NVMoF), NAND,新型存储技术NVM(RRAM/ReRAM, FRAM/FeRAM, MRAM, PCM, 3D-NOR, SRAM/DRAM等) DDR5/LPDDR5以及UFS测试方面的问题想咨询,可以查看Saniffer公司2026.2.24最新更新的测试工具白皮书15.1版本,我们已经整理收录在Saniffer公众号的【白皮书】菜单中。
欢迎关注Saniffer公众号,点击底部菜单栏即可免费获取。如有任何技术问题,也可直接在公众号内留言交流。