logo
  • 首页
  • 产品中心
  • 解决方案
  • 技术专栏
  • 关于我们
  • 首页
  • 产品中心
  • 解决方案
  • 技术专栏
  • 关于我们
  • 【交流纪实】I³C抓包不是“能解码”就够了:一次现场Demo看清低速协议调试的真实门槛

    我们最近就经济型I3C协议分析仪和一个从事NVMe SSD的客户做了现场技术交流,先从设备连接和软件基础操作开始,再到多通道I³C配置、采样/存储、触发、Trace查看、CSV导出、现场抓包异常、CRC/阈值/毛刺过滤、MCTP over I³C支持边界、试用和采购评估。当然,本次讨论重点集中在I³C/SMBus等低速协议采集解码、复合触发、长时间存储、CRC异常排查和后续样机试用安排上。可能对这方面有兴趣的朋友了解业内I3C协议问题诊断有一定的帮助,特此分享出来供大家参阅。I³C抓包不是“能解码”就够了:一次现场Demo看清低速协议调试的真实门槛—— I³C协议分析仪现场技术交流记录很多工程师一听“协议分析仪”,第一反应可能是:能不能抓包?能不能解码?能不能导出CSV?但真正到了研发现场,问题往往没有这么简单。尤其是I³C、SMBus、MCTP over I³C这类低速管理总线协议,表面看速率不高,实际调试起来却很容易卡在一些细节上:电压阈值到底设多少?一组线能不能变成多组协议通道?长时间跑机时数据存哪里?触发条件能不能精确到某个地址、命令、错误或时间窗口?CRC错误到底是协议问题,还是信号质量问题?软件解码出来的结果,是否真实反映了链路本身?2026年6月17日上午,我们和客户团队做了一场协议分析仪技术交流,现场由Emily演示一款逻辑分析与协议分析二合一的工具。整场交流从设备接线、软件设置讲起,随后展示I³C协议解析、通道配置、触发、保存和导出功能,并在客户真实环境上做了抓包验证。现场也暴露出一些非常典型的问题,比如CRC错误、阈值设置不匹配、毛刺过滤对解码结果的影响,以及MCTP over I³C上层协议解析能力还需要进一步确认。下面按照现场交流顺序,把这次Demo做一个完整梳理。一、先从一个很基础的问题开始:这台设备到底怎么接?会议开始时,大家先做了简单的场地确认、投屏和设备准备。Emily先说明,这次演示不会直接从复杂场景切入,而是先把基础操作流程跑一遍,让客户先知道这台设备如何连接、如何配置、如何开始抓包。现场使用的是一个普通开发板,原计划通过开发板上的简单命令读取温度传感器,演示I³C或类似低速总线通信的基础抓取流程。设备本体比较小,可以理解为一个逻辑分析仪和协议分析仪的组合体。它一端通过一根线连接电脑,另一端通过多根引线接到被测板上的信号线上。线束中黄色线是地线,蓝色线可以作为信号线使用。具体哪根线接clock、哪根线接data,并不是硬件固定死的,而是在软件里定义。这个设计对研发现场很实用,因为不同板卡、不同测试点、不同工程师接线习惯可能都不一样,如果每个pin都有固定用途,反而会增加使用成本。从一开始客户就关心一个实际问题:它是不是只能抓一路I³C?答案是否定的。只要通道数量足够,一台设备可以同时配置多组I³C,例如0-1作为一组,2-3作为另一组。也可以把不同低速协议混在一起抓。也就是说,它不是“一个接口对应一个协议”,而是软件定义通道,硬件线束提供多路数字采集能力。这也是这类低速协议分析仪的一个重要价值:很多板卡上不止一组管理总线,可能同时有I³C、I²C、SMBus、EEPROM访问、板级管理信号等。如果只能抓一路,现场调试效率会大打折扣。二、软件和固件:客户关心的不只是能不能装,还关心后续怎么升级设备接上之前,客户先问了软件授权和升级问题。Emily解释,这类产品主要通过PC端软件控制,软件随仪器提供,并没有复杂的license绑定概念。客户也特别确认,如果团队里多位工程师轮流使用,软件能否安装到不同电脑上。从现场反馈看,这个问题不是限制点。固件方面,客户也问到后续升级如何处理。Emily的解释比较务实:这台设备不像高速协议分析仪那样频繁涉及复杂协议栈和固件升级,更多是成熟低速协议工具,日常使用主要依靠软件。后续如果有软件或功能更新,可以提供给客户,但整体升级频率不会像PCIe/CXL这类高速协议分析仪那么高。这段交流其实反映了客户对工具落地的典型顾虑:买设备不是只看第一次Demo能不能跑,还要看后续软件是否好维护,团队使用是否方便,是否会被某台电脑、某个license或某个复杂升级流程卡住。三、通道配置:所有pin都可以自由定义进入软件后,Emily首先演示了如何新增协议分析通道。在软件里,可以选择协议类型,比如I³C,然后指定哪根线是clock,哪根线是data。每根物理引线本身没有固定角色,都是在软件中分配。客户问到是否可以同时添加多组I³C,现场演示说明是可以的:比如第一组使用0和1,第二组使用2和3;如果还有更多组,只要通道数量足够,也可以继续添加。客户还问到,是否可以混合不同协议。Emily确认,这类低速协议可以混合配置。也就是说,同一台设备上可以同时放多个协议解码通道,每新增一个协议通道,界面上就会多一组对应的数字波形和协议解析结果。这个功能对真实研发环境非常重要。很多时候,工程师不是只看某一条I³C总线,而是想同时观察某个事件发生前后,多个管理总线之间是否存在关联。例如某个设备状态改变后,主控是否访问了某个地址;某条SMBus命令后,另一条I³C总线上是否出现了异常响应。这种跨通道同步观察,是普通单路抓包工具很难替代的。四、电压阈值:低速协议也不能忽略“物理层”很快,客户把问题拉到了电压阈值。对于逻辑分析仪来说,最关键的一步就是判断某个电压到底算0还是算1。客户问,阈值能不能调,最低支持多少。Emily在软件里说明,这个逻辑阈值可以设置,现场提到最低大约可以到0.1V,具体值可以再验证。这个问题看起来很基础,但后面现场抓包时证明它非常关键。客户板卡上可能有1.2V、1.8V、3.3V等不同电平。如果阈值设错,软件看到的数字波形就可能和真实信号不一致,进而导致协议解码错误、CRC错误甚至误判链路异常。也就是说,低速协议不是只看“协议层”。如果物理层阈值、电平、毛刺、边沿质量没有处理好,再好的解码器也可能给出错误结果。五、采样率和长时间抓取:内存不是唯一瓶颈客户随后问到采样率和存储方式。这台设备内部有一定本地内存,但并不是无限大。Emily解释,实际长时间抓取时,可以选择把数据实时传到PC端,甚至存到外部SSD,而不是完全依赖设备内部内存。这样一来,长时间捕获就更多受电脑内存、硬盘容量和数据写入能力影响。客户的典型场景是:设备挂在那里跑很久,异常可能一天才出现一次,工程师希望事后回来查看。对于这种场景,如果只靠设备内部内存,很容易被覆盖或抓不全。因此客户特别关心,数据写满后是停止、报错还是循环覆盖。现场并没有把所有边界细节完全确认清楚,但基本思路是:如果选择流式保存到PC或外部存储,就可以突破单纯硬件内存的限制。Emily也提醒,模拟通道的数据量会非常大。她举例说,一个很短的简单抓取,如果保存模拟数据,可能就会生成几个GB的文件。因此她建议:如果客户主要看协议和数字逻辑,优先使用数字采集和协议解析;如果真正要看模拟信号质量,最好还是用专业示波器配合验证。这点很实在。逻辑分析仪可以给你一个“够用”的模拟波形视图,但不能完全替代示波器。尤其当客户怀疑信号质量、毛刺、边沿、过冲、占空比异常时,专业示波器仍然是必要工具。六、触发功能:真正有用的不是“开始抓”,而是“抓到问题那一刻”接下来,Emily重点讲了触发功能。触发的意义,是在长时间运行中捕捉某个特定事件。客户可能怀疑链路里偶尔出现某种错误,但不知道什么时候发生。如果没有触发,只能一直抓、一直存,最后在海量数据里慢慢找,非常低效。软件提供基础触发和高级触发两类。基础触发可以基于一些常见事件,例如起始帧、错误帧、特定协议事件等。高级触发更灵活,可以通过state、counter和timer组合条件。现场解释说,最多可以配置7个state、2个counter和2个timer。state里可以定义某个事件、地址、命令码或相关字段条件;counter可以用于“出现多少次后再触发”;timer可以用于限制时间窗口,比如某个事件必须在10秒到50秒之间发生,或者两个事件之间的间隔必须落在某个范围内。客户特别问到,能不能抓某个具体命令,并且命令里带有某些特定值。现场的回答是,这类组合条件可以在state里写,具体还需要客户后续按照实际协议字段尝试。触发点的位置也可以设置。比如触发点放在1%附近,就相当于触发后才主要开始保留后续数据;如果放在99%附近,就更像是一直保留触发前数据,一旦错误出现马上停止;如果放在中间,则触发前后都保留一部分。这个功能对现场调试非常关键。很多问题不是“我现在点开始就能复现”,而是“系统跑几小时才偶发一次”。能不能把触发条件写准确,往往直接决定了分析效率。七、逻辑分析界面:波形、协议表、查找、统计、书签由于现场开发板一开始没有顺利跑出预期数据,Emily先打开已有trace文件给客户看软件界面。逻辑分析界面大致分几层:上面是数字波形和部分模拟通道; 中间或下方是协议解码结果; 协议内容可以用表格方式展示; 右侧或工具栏可以做查找、统计、刷新、保存等操作。客户可以在报告里筛选自己想看的字段,也可以用关键词查找某些内容。例如查找某个data值,软件会逐个定位相关记录。统计功能可以给出简单的最大值、最小值、平均值等信息。书签功能也比较实用。用户可以在波形或协议位置打书签,例如用键盘字母标记K、J等,然后软件可以自动计算两个书签之间的时间间隔。这个功能虽然简单,但在调试时很常用,因为工程师经常需要比较两个事件之间的时间距离。Emily也坦率说明,这个软件自带的分析功能是有的,但不一定完全满足客户所有深度分析需求。更现实的使用方式是:用设备把trace准确抓下来,再把协议解码结果导出成CSV,后续用Python或客户内部工具做进一步分析。这句话很关键。对工程师来说,仪器软件不一定要解决所有数据分析问题,但至少要做到两件事:第一,原始捕获要可信;第二,导出的数据格式要可用。八、CSV和私有格式:一个用于复盘,一个用于二次分析保存功能也是客户关注点。软件可以保存成私有格式,例如.sv文件,后续可以继续用原软件打开,保留波形、协议、书签等上下文。也可以导出CSV,CSV里的列基本对应软件中看到的协议表格字段。客户之前使用过类似工具,也确认他们关心的就是导出后字段是否清楚、是否便于后续脚本分析。这里可以把两种格式理解为:私有格式适合“复盘现场”,保留完整软件视图; CSV适合“二次分析”,方便导入Excel、Python或内部分析平台。对于客户这种协议调试团队来说,CSV导出非常重要。因为真正复杂的问题往往不是靠人工翻几行协议表解决,而是要批量统计、筛选、关联多个字段、搜索异常模式,甚至和其他日志系统对齐时间轴。九、逻辑分析和协议分析:侧重点不同,但边界并不绝对随后,Emily又切到协议分析界面。她解释,逻辑分析和协议分析的区别,更多是展示侧重点不同。逻辑分析界面更强调波形和底层信号,协议解析结果放在下方;协议分析界面则更强调协议表格,波形作为辅助显示在下面。客户问到,逻辑分析文件和协议分析文件是否不同。Emily解释,在哪个页面保存,就保存成对应页面的格式。也就是说,软件内部把不同视图作为不同工作模式处理。协议分析界面支持的协议类型比逻辑分析界面少一些,但对于客户当前I³C、SMBus等低速管理总线应用,基本覆盖了主要需求。只是如果涉及更高层的MCTP over I³C,就需要进一步确认支持深度。十、MCTP over I³C:客户真正关心的是上层协议能不能解出来客户很快提出了一个更深入的问题:底层I³C能解出来,那MCTP over I³C这种上层协议能不能进一步解析?现场的回答比较谨慎。Emily表示,如果协议列表里没有显示,就说明当前软件可能不直接支持。她也提到,有些厂商或其他工具在I³C相关方面有规划,但不一定在抓取端完整支持。其实也有另外一个方案,即使用SerialTek PCIe Gen6协议分析仪,不过似乎大材小用。这段讨论暴露出一个真实需求:客户不是只想看I³C的地址和基础读写,而是希望看到MCTP、MI等更上层语义。比如一条I³C传输里承载的是哪类MCTP消息、命令是什么、payload如何解释、checksum/CRC是否正确、是否符合某个设备管理流程。现场后续实际测试也印证了这一点:在尝试解析MCTP over I³C相关内容时,软件似乎只能解出ADDRESS等底层字段,没有完整解析上层数据结构。因此后续需要厂商提供更多trace、帮助文档和配置示例,确认当前版本到底支持到哪一层。这对采购决策影响很大。如果客户只是要便宜、灵活地抓底层I³C,设备可能已经够用;但如果客户核心需求是MCTP over I³C高层协议分析,就必须确认软件是否真正支持,或者能否通过CSV导出后由客户自己解析。十一、现场接客户板卡:真正的问题从CRC错误开始讲完软件界面后,大家把设备接到客户现场板卡上,开始实际抓取。一开始抓到的数据并不多,随后重新连接和触发后,软件抓到了一些I³C通信内容。现场能看到类似read data structure、SDR等协议内容,但最后出现了CRC错误。这个时候,大家的讨论从“功能展示”进入了真正调试状态。客户和Emily开始怀疑:CRC错误到底是协议本身真的错了,还是分析仪因为阈值、电平、信号质量问题误判了某些bit?客户指出,当前板卡实际高电平可能是3.3V,而软件一开始阈值设在1.6V附近,需要确认匹配关系。随后把阈值调整到更符合3.3V信号的设置,并进一步打开毛刺过滤功能。纪要里也记录了这一点:现场出现CRC校验错误,初步判断与信号毛刺和波形不规整有关;调整阈值并启用毛刺过滤后,CRC错误消失。这段现场调试非常有价值。因为它说明一个协议分析仪是否好用,不仅取决于协议解码器,还取决于它如何处理真实世界里的不完美信号。同一条总线,如果阈值不同、滤波不同、采样判断不同,最终解码结果可能完全不同。工程师必须知道:软件看到的CRC错,不一定等于链路真的传错了;也可能是仪器采样设置不合适。十二、信号质量:协议分析仪不能完全替代示波器CRC错误消失后,客户并没有完全放心,而是继续追问信号真实性。客户希望设备能真实反映链路物理层状况,避免软件过滤或处理后“看起来没错”,但实际上掩盖了真实毛刺。现场也讨论到,最好用专业示波器对同一段信号进行对比验证,看分析仪捕获的数字结果和真实模拟波形是否一致。这其实是一个非常专业、也非常必要的判断。逻辑分析仪为了完成协议解码,必须把模拟信号转成数字0/1。这个过程中会涉及阈值、滤波、采样点、毛刺处理。如果它过于敏感,可能把毛刺当成真实bit;如果它过度过滤,又可能把真实问题抹掉。因此,在客户这种研发场景下,正确用法不是让协议分析仪单独承担所有责任,而是:协议分析仪负责长时间抓包、触发、解码、导出和协议层分析; 示波器负责关键时刻的物理层波形验证; 两者结合,才能判断问题到底来自协议、芯片、板级信号,还是仪器配置。十三、试用安排技术演示结束后,双方讨论试用和后续合作。客户希望能拿到样机充分测试,最好试用时间长些。原因很简单:这类工具是否真的适合团队,不是看一次Demo就能决定的。需要接到真实板卡上,在不同场景下跑,验证长时间抓取、触发、CSV导出、MCTP解析、CRC误判、毛刺过滤、阈值设置等一系列实际问题。厂商方面可以提供短期试用,但样机资源有限,初步讨论可能是一周。客户希望尽量延长,至少要有足够时间让不同工程师都试一遍。后续将申请样机,并提供现有trace文件、MCTP/SMBus等协议资料、帮助文档和配置示例,包括准备MCTP over I³C trace、发送当前软件和抓取trace、安排样机申请、分享协议帮助文档、协调试用周期、验证毛刺过滤和不同电压设置下的解码准确性。十四、经济型不是唯一理由,稳定抓包才是关键会议最后,客户提到本次的核心抓包功能比较符合预期。这句话对销售和产品定位都很重要。客户并不是单纯追求最低价,而是要综合判断:是否能稳定抓到真实信号? 解码是否准确? 触发是否够灵活? MCTP over I³C是否能满足需求? 长时间抓取是否可靠? 导出数据是否方便团队分析? 多个工程师轮流使用是否方便? 出现异常时,厂商是否能支持定位?这款设备的优势很明显:价格相对非常经济;功能集成度高;通道配置灵活;支持逻辑分析、协议分析、触发、保存和导出;对I³C/SMBus等低速协议调试有一定吸引力。但它要真正进入客户研发流程,还需要在几个方面证明自己:一是现场抓包稳定性;二是协议支持深度,尤其是MCTP over I³C;三是信号真实性验证;四是团队长期使用时的配置复用和数据管理便利性。十五、这次交流真正说明了什么?表面看,这是一场协议分析仪Demo;更深一层看,它其实反映了低速管理总线调试的真实复杂度。I³C、SMBus这类协议速率不高,但它们在服务器、SSD、BMC、CXL/PCIe设备管理、板级控制和设备健康监控中越来越重要。很多系统问题并不是高速链路本身出错,而是管理总线上的某条命令、某次状态读取、某个MCTP消息或某次异常响应没有被正确处理。这类问题的难点在于:它们可能偶发; 它们可能跨多个低速通道; 它们可能与电平阈值和毛刺有关; 它们可能需要长时间跑机才能复现; 它们可能既有底层I³C问题,也有上层MCTP语义问题; 它们可能需要把协议trace、CSV、示波器波形和系统日志放在一起看。所以,一台低速协议分析仪的价值,不只是“支持I³C”四个字,而是能不能在真实调试中帮工程师更快锁定问题。结语:I³C调试,真正考验的是“信号、协议和现场经验”的组合这次现场交流给人的最大感受是:低速协议调试并不低级,也不简单。一开始只是接几根线、配置一个I³C通道,看起来很容易;但真正接到客户板卡上,马上就遇到CRC错误、阈值设置、3.3V电平匹配、毛刺过滤、MCTP上层解析、长时间抓取、trace导出和竞品对比等一系列真实问题。这恰恰说明,工程师需要的不是一个只能“显示波形”的工具,也不是一个只能“解几行协议”的软件,而是一套能在真实研发现场工作的调试方法:用灵活通道配置适配复杂板卡; 用长时间抓取等待偶发问题; 用复合触发精准停在错误现场; 用CSV导出进入自己的分析流程; 用示波器验证关键物理层波形; 用协议分析判断底层I³C和上层MCTP之间的边界; 最后用真实试用结果决定是否进入团队工具链。从这个角度看,这次Demo最有价值的地方,不是它展示了多少菜单,而是它把客户真正关心的问题暴露出来了:抓到的数据准不准?解出来的协议够不够深?现场出现CRC错误时,工具能不能帮助我们判断问题来自哪里?对于做服务器、SSD、BMC、PCIe/CXL设备管理和板级调试的工程师来说,这才是低速协议分析仪真正的门槛。更多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公众号,点击底部菜单栏即可免费获取。如有任何技术问题,也可直接在公众号内留言交流。
    2026-06-24 10:20:01
  • 【存储前沿】从实验室冷板凳到2026商业风口:RRAM凭什么成为存内计算(CIM)的“天选之子”?

    最近和几位做大芯片研发和数模混合前端的朋友聊天,大家无一例外都在头疼一件事:28nm及以下的边缘侧AI与IoT芯片,到底该怎么搞?传统的嵌入式Flash(eFlash)到了28nm工艺节点基本上就撞了物理墙,再往下缩放不仅工艺难度呈指数级上升,漏电和可靠性更是灾难。而AI大模型(哪怕是裁剪过的边缘端轻量级模型)那密密麻麻的权重参数,如果天天在SRAM和算力单元之间搬来搬去,光是“功耗墙”和“存储墙”就能把系统逼入绝境。这时候,RRAM(可变电阻式随机存取内存/阻变存储器)和存内计算(CIM)这两张牌,就从早期的实验室冷板凳,彻底变成了如今半导体巨头与AI新贵们手里的“香饽饽”。今天我们就来彻底扒一扒RRAM的技术前世今生、商业现状,以及研发阶段最让人抓狂的测试痛点。一、 时空长廊:RRAM从“理论忆阻器”到“22nm商用量产”把时间拨回到1971年,华裔科学家蔡少棠(Leon Chua)教授在理论上预言了除了电阻、电容、电感之外的第四种基本电路元件——忆阻器(Memristor)。但这个概念在空气中飘了三十多年,直到2008年HP实验室宣称在二氧化钛(TiO2)薄膜中实现了忆阻器的物理特性,这才在全球范围内点燃了阻变存储器(RRAM)的研究狂潮。在此之后,全球的高校和科研院所(如斯坦福、清华、中科院微电子所、比利时IMEC、德国IHP等)开始了长达十余年的材料与工艺长跑。大家从最早的TiO2转战到工艺兼容性更好的过渡金属氧化物(如氧化铪 HfO2、氧化钽 Ta2O5),并重点攻克多值单元(MLC)的稳定性以及器件在反复擦写下的疲劳(Endurance)问题。而最近几年,RRAM迎来了商业化落地的“黄金时代”:在工艺端,以台积电(TSMC)、格芯(GlobalFoundries)、联电(UMC)为代表的顶级Fab厂,全面将嵌入式RRAM(eRRAM)推进到了40nm、22nm甚至更先进的FD-SOI工艺节点。在应用端,巨头们开始大刀阔斧地集成。例如英飞凌(Infineon)推出的PSoC Edge系列高端微控制器,就深度集成了非易失性RRAM,以此在边缘端提供高性能的机器学习与数据存储能力。eRRAM已经正式接棒传统Flash,成为28nm以下微控制器和低功耗IoT芯片的标配非易失性存储方案。二、 全球RRAM商业硬核生态全景图目前全球RRAM的玩家主要分为两大阵营:提供IP授权或 standalone器件的硬核Startup/成熟技术公司,以及在背后提供晶圆代工支持的Fab巨头。为了方便大家直观了解,我将当前全球最主流的生态链条精简总结为下表:核心玩家合作Fab厂 / 工艺节点核心产品形态商业与销售模式TSMC (台积电)自产 / 40nm, 22nm嵌入式eRRAM晶圆/SoC芯片代工制造 / 配合客户方案出货GlobalFoundries新加坡Fab 7等 / 22FDX嵌入式eRRAM晶圆、微控制器代工制造 / 提供eRRAM工艺平台Weebit Nano联合SkyWater等 / 22nm下嵌入式RRAM IP模块纯IP授权模式 (含License与版税)Crossbar曾联合格芯新加坡等 / 40nm4Gbit大容量独立芯片 / IP早期卖产品,现全面转向IP授权英飞凌 / 赛普拉斯联合外部Fab / 28-22nm封装好的微控制器(MCU)成品销售自有品牌芯片产品Intrinsic Semi联合商业Foundry / 先进节点硅脂IP / 面向微控制器的eRRAM纯IP授权模式从产品形态来看,除了早年Crossbar等公司尝试过做4Gbit的高密度Standalone(独立式)大容量芯片外,当前全行业的绝对主流是嵌入式IP(eRRAM)。它们要么以晶圆(Wafer)形式交给Fabless公司集成进SoC,要么由英飞凌这样的成熟大厂封装成最终的MCU器件。相应的,销售模式也高度集中在“IP授权(卖License和封测版税)”与“直接卖集成好的标准芯片”这两种。三、 天选之子:RRAM为什么能引爆存内计算(CIM/IMC)?首先回答一个高频的技术疑问:常说的CIM(Compute-in-Memory)和IMC(In-Memory Computing)是不同人说的同一个概念吗?在如今的半导体硬件和AI加速器语境下,两者的核心概念完全等价,都是指“存算一体/存内计算”。如果非要咬文嚼字,IMC在早年软件工程里指代过“内存数据库”(比如把整个数据集加载到传统的DRAM里运行以绕过磁盘I/O);但只要谈到硬件架构创新,CIM和IMC指的都是彻底打破冯·诺依曼架构、在存储阵列内部直接完成计算的技术。而在SRAM、Flash、MRAM等众多存储介质中,RRAM被公认为CIM架构的“天选之子”,具备无可比拟的天然独特优势:物理级别的“免费”乘加运算: RRAM的核心物理特性是电导(阻值的倒数)连续可调。当我们把AI模型的权重值映射为RRAM单元的电导(G),把输入数据转换为模拟电压脉冲(V)加在阵列的行上,根据欧姆定律,流过每个单元的电流就是 I = V x G(乘法)。接着,根据基尔霍夫电流定律,同一列的电流在列线上天然累加(加法):这种直接利用物理定律在交叉阵列(Crossbar)里瞬间完成矩阵乘加(MAC)的操作,在数字电路里需要成千上万个晶体管和漫长的数据搬运,而RRAM一瞬间就完成了。非易失性与“权重常驻”: 与SRAM这种断电就丢数据的介质不同,RRAM是非易失性的。这意味着边缘端AI模型(如Transformer、CNN)的权重在Forming(激活)和写入后,可以长年累月地“常驻”在存储单元内。系统休眠时完全不耗电,唤醒时无需重新从外部加载模型,特别适合随时待命的低功耗边缘推理设备。超高的集成密度与femto-Joule(飞焦)级能耗: RRAM通常采用1T1R(一管一阻)甚至无管的Cross-point结构,后道工序(BEOL)集成,不占用宝贵的基底逻辑面积。由于完全消除了数据在存储器和CPU/GPU之间来回传输的功耗,其能效比(TOPS/W)相比传统数字加速器能实现数倍到数十倍的降维打击。四、 痛点攻坚:为什么传统仪器测不好RRAM?NplusT TESTMESH 的破局之道凡事皆有代价。RRAM和CIM的前景有多性感,它在研发、验证和测试阶段就有多让人抓狂。RRAM是基于纳米级细丝(Filament)的形成与断开来改变阻值的。在研发和Debug阶段,工程师需要给阵列施加极度复杂的动态脉冲:Forming(激活)时需要高压高流,Set/Reset时需要纳秒/微秒级的窄脉冲,而在Read(读取)时又需要极其微弱且高精度的电流采样。面对这种特性,传统测试仪器和设备显得极其尴尬:传统量产ATE设备(如爱德万、泰瑞达等): 它们是为大批量的标准数字或模拟芯片设计的。RRAM在擦写过程中阻值是动态剧烈变化的,传统ATE缺乏在微秒级内快速切换电流测量量程的能力,且采样率不足,根本无法捕捉阻变阵列的微观行为,更无法模拟芯片内部读出放大器(Sense Amplifier)的真实阈值触发。Keysight等传统脉冲发生器与参数分析仪组合(如B1500A系列): 精度确实高,在测单个器件(单管1T1R)时很完美。但它根本不是为了“跑芯片级算法和海量阵列循环”而生的。通道数极少,如果你想给一个Mb甚至Gb级别的RRAM测试芯片跑一遍完整的寿命(Endurance)失效统计或者算法图案(Pattern)验证,传统仪器的速度会慢到让你绝望。为了打破这个行业瓶颈,意大利知名的存储测试创新企业 NplusT 推出了专为新型非易失性存储(Emerging NVM)量身定制的 TESTMESH 全功能工程测试平台。核心型号包括 TMA-100 与 TMC-100。目前,全球顶级的半导体科研巨头(如比利时IMEC在2026年初刚追加了大宗订单,德国IHP研究所也深度部署了TMC-100用于1T1R的RRAM存内计算矩阵乘法研究),另外以色列的Weebit等也都在用它替代传统仪器。TESTMESH 相比传统方案的巨大硬件优势:200MHz算法级波形发生器(Algorithmic Waveform Generator): 拥有微秒级的脉冲选择能力和动态阻抗控制。这意味着工程师可以任意编写极其复杂的智能擦写算法(如逐步递增脉冲ISPP),仪器会自动根据器件即时状态在微秒内调整输出。超快多量程电流感知电路(Fast Current Sensing): 传统的电流表切换量程需要漫长的等待,而TESTMESH在微秒以内就能完成从“写脉冲大电流”到“读状态微安级电流”的量程切换。其Setup时间小于1微秒,采样速度达到数十纳秒级别,完美捕捉每一次细丝断开与连接的动态。内置阈值可编程1-bit ADC: 这个硬件设计绝了,它能完美模拟(Emulate)最终商业芯片内部读出放大器(Sense Amplifier)的行为。不需要把完整的模拟电流读出来,直接在硬件层进行1位量化判断是否到达目标状态,让测试逻辑跟最终芯片运行完全同步。令人震惊的测试效率提升: 根据全球顶级客户的实际反馈,在执行复杂的RRAM/CIM寿命测试和表征时,TESTMESH的执行速度比传统高成本的巨型ATE设备快了整整40倍!同时,由于其提供了极其灵活的Python和C++可编程环境,并无缝集成了专属的 BarnieMAT 阵列数据分析软件,使得技术研发人员的整体工程生产力直接提升了3倍。结语RRAM和存内计算(CIM)的下半场,拼的不再仅仅是实验室里单个器件的惊艳指标,而是商用落地时的良率、可靠性与算法迭代速度。从22nm的晶圆代工量产到边缘AI芯片的全面爆发,谁能用更高效的工具(如TESTMESH这类专门化的测试平台)把阵列缺陷、微观阻值漂移以及算法演进的Time-to-Result(得出结果的时间)缩到最短,谁就能在这场存算一体的颠覆性浪潮中,拿到第一张真正通往万物互联时代的船票。更多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公众号,点击底部菜单栏即可免费获取。如有任何技术问题,也可直接在公众号内留言交流。
    2026-06-23 10:15:56
  • 【交流纪实】ReRAM到底怎么测?一场Demo讲清Set、Reset、Read和阵列可视化

    一颗ReRAM单元如何被“读懂”:从Set/Reset到32×32阵列可视化测试——Resistive Memory Characterization Demo现场技术交流记录新型存储器件的研发,往往不是从“容量”“接口”“带宽”这些宏观指标开始,而是从最底层的一颗cell开始。一颗ReRAM单元能不能被set?能不能被reset?读的时候会不会扰动原有状态?同一个阵列里,哪些cell已经进入低阻态,哪些cell仍然停留在高阻态?不同cell之间的电导分布是否一致?如果想做多电平存储,又如何把一个cell精确调到目标电阻值?这些问题看起来很基础,但恰恰是ReRAM、PCM、MRAM、FRAM以及存内计算芯片研发绕不开的核心问题。2026年6月12日下午5:30 - 7:00,我们和客户团队进行了一场Resistive Memory Characterization Demo。这次演示基于一颗真实的客户ReRAM测试芯片,阵列规模为32×32,也就是1024个memory cell。整场交流从器件结构讲起,随后展示TMA100平台和扩展板硬件,再进入软件界面,依次演示read、set、reset、差分分析、单cell I-V测量、Python脚本控制,以及后续如何让客户通过demo软件、离线数据和样机进一步熟悉系统。下面按照现场演示的顺序,把这次交流完整梳理出来。一、先讲器件:这不是普通存储阵列,而是一组可调电阻演示一开始,Tamas没有马上进入软件,而是先画了一张器件结构图。这次测试的对象是一个小型ReRAM阵列,规模为32行×32列,总共1024个memory cell。每个cell可以理解为一个可变电阻,也就是resistive memory element。它的阻值不是固定的,而是可以通过外部电信号改变。每个cell旁边还有一个select transistor,用来选择当前要操作的cell。只有当某个cell对应的选择晶体管被打开时,系统才能对它进行set、reset或read操作;其他未选cell则保持关闭,避免被误操作。从连接方式看,阵列上方有word line,用来连接memory cell的一端;下方有bit line或source line,通过select transistor连接到cell的另一端;同时还需要控制select transistor的gate。这样,系统就可以选择某一行、某一列,最终定位到一个具体cell。Tamas特别强调,ReRAM单元的基本电学操作其实并不复杂,核心就是三个动作:Set:让cell电导增加,也就是电阻降低。Reset:让cell电导降低,也就是电阻升高。Read:用较低电压读取cell电流,再根据欧姆定律计算它的电阻或电导。这里最关键的是read操作。因为read本身也需要施加电压,如果读电压太高,就可能无意中触发set或reset,改变cell原来的状态。所以ReRAM测试里,一个非常重要的技术点就是:读电压必须足够低,同时测量系统又要能准确感知很小的电流。这就是ReRAM characterization和普通数字测试不同的地方。它不是简单判断0或1,而是要在不扰动cell状态的前提下,精确测量模拟电流、电阻和电导。二、为什么ReRAM天然适合存内计算?在介绍器件结构时,Tamas顺带解释了这类crossbar阵列为什么经常被用于in-memory computing。如果把每个ReRAM cell看成一个可调电导,那么阵列中的每一行、每一列就不只是存储bit,而是可以承担模拟计算功能。当对一组行施加不同电压,并在列端读取电流时,流出的电流就是多个cell电导与输入电压共同作用的结果。从电路角度看,这就是一种模拟vector-matrix multiplication。输入电压可以理解为向量,cell电导可以理解为权重矩阵,列端电流就是乘加结果。所以,这类ReRAM阵列不仅可以作为非易失存储器研究,也可以用于神经网络加速、模拟矩阵运算和存内计算架构探索。当然,这也带来更高的测试复杂度。因为工程师不仅关心某个cell能不能存0或1,还关心它的电导值是否可控、是否稳定、不同cell之间是否一致、阵列中是否存在漏电、串扰和半选干扰。三、真实芯片并不完美,这反而更接近研发现场Tamas在开场时也说明,这次演示使用的是一颗真实客户芯片,但由于保密原因不能展示全部细节。同时,这颗芯片还处于较早期阶段,并不是一个非常完美的器件。这点很重要。很多产品演示会选择一个表现非常漂亮的样品,把所有结果都跑得很整齐。但真正的早期器件研发通常不是这样。first silicon里经常会有坏cell、弱cell、异常行列、set/reset不充分、电流分布不理想、某些区域完全不工作等情况。这次Demo的价值恰恰在于,它不是用一个“完美器件”展示理想曲线,而是用一个真实、带缺陷的阵列,让客户看到测试系统如何发现这些问题、显示这些问题、分析这些问题。对于做新型存储器件研发的人来说,这比一张漂亮的宣传图更有参考价值。四、硬件平台:TMA100加专用Extension Unit器件结构讲完后,Nicola把镜头转向实验室里的硬件系统。现场展示的不是TMC100,而是TMA100加一块专用Extension Unit。TMA100本身提供波形发生器、电源、测量资源、I/O接口等基础能力;而Extension Unit则负责把这些资源适配到具体的32×32 crossbar器件上。设备主板上的资源通过34个SMB连接器以及额外header引出。波形发生器、电源、I/O、测量路径等资源都可以通过这些接口进入应用板。在这次配置中,Extension Unit是专门为32×32 crossbar器件设计的。板上有一个socket,客户芯片就放在这个socket里。由于芯片比较敏感,现场没有打开socket。围绕芯片,扩展板上分成几个主要区域:一部分负责word line控制; 一部分负责source line或bit line侧的选择与测量; 一部分负责select transistor相关控制; 同时还通过高速连接和FPGA实现地址选择和配置控制。简单理解,TMA100提供“仪器资源”,Extension Unit负责“把仪器资源正确接到这颗芯片上”。对于不同客户芯片,TMA100主平台可以复用,但Extension Unit或socket board往往需要根据封装、pinout、阵列结构和端子定义做适配。现场客户也问到,这块板是不是第三方公司提供的。Tamas明确说明,除了socket里的客户芯片之外,整个测试板和系统都是厂商自己开发的。五、Extension Unit的作用:不是产生波形,而是做器件适配后面中文讨论里,客户也进一步问到:波形到底是在左边小板上产生,还是在后面的大设备上产生?现场解释得很清楚:波形发生、电源、测量等核心资源来自后面的TMA100主设备;Extension Unit主要负责和客户device的适配,包括行列选择、信号路由、socket连接、测量转换、电流路径引出等。这就像一套通用测试平台加一块客户专用夹具。主机负责提供可编程资源,扩展板负责把这些资源变成适合某颗芯片的连接方式。对于ReRAM这类新型器件来说,这个适配层非常关键。因为不同客户的芯片可能是裸die,也可能是封装器件;可能是1T1R结构,也可能是selector-based结构;可能有独立word line、bit line、source line、gate,也可能是更复杂的阵列;有些芯片还需要ESD保护、上电时序、数字配置、额外偏置或特定测量路径。所以,真正能不能测,不只是看仪器规格,而是要看主平台资源、扩展板设计和软件配置能不能一起适配客户芯片。六、进入软件:32×32 Mini Array测试程序硬件介绍结束后,Demo进入软件界面。软件左侧显示已经实现的测试程序列表。现场加载的是针对当前器件的32×32测试程序。第一次启动时,软件会初始化硬件,随后进入interactive panel,也就是交互式操作界面。这个界面里有多个可用功能,例如initialize、read、set、reset等。每个功能背后对应一段Python脚本,界面上的参数也是由脚本定义出来的。这点很适合研发阶段。工程师可以先用界面执行基本操作,看到结果;后续如果想修改参数、改波形、组合流程、做cycling或更复杂算法,就可以进入Python脚本层。七、Read操作:用低电压读取整个32×32阵列软件演示的第一步是read。Nicola选择了完整的row和column范围,也就是读取整个32×32阵列。read操作的本质,是在选中的selector、word line和对应读出路径上施加低电压,在指定时间窗口内测量电流。软件里可以看到read waveform。系统会在波形稳定后的某段时间内采样电流。这个采样窗口非常重要,因为太早采样可能信号还没稳定,太晚又会增加测试时间。对于低电流读出,采样窗口、积分时间和量程选择都会影响最终数据质量。read完成后,测量数据被送入后处理分析软件。现场打开memory map后,可以看到一个32×32的阵列图,每个方格代表一个cell,颜色代表测得的电流大小,也可以理解为电导强弱。图中绿色区域代表电流较低,通常对应reset后的高阻状态;亮色或较浅颜色代表电流较高,通常对应set后的低阻状态;一些深蓝色或异常区域则代表不工作或表现异常的cell。由于这颗芯片本身不是很成熟,阵列图并不完美。但这也刚好说明了测试软件的价值:它能把每个cell的状态直观展示出来,而不是只给一个整体pass/fail结果。八、Set和Reset:改变cell状态,再看阵列怎么变化完成初始read之后,Nicola继续演示set和reset。Set操作会对选定区域施加一个脉冲,使cell导电能力增强,也就是电阻降低。Reset操作则施加相反方向或不同条件的脉冲,使cell导电能力减弱,也就是电阻升高。软件可以对单个cell、某个区域,或者整个array执行set/reset。现场演示中,对整个阵列进行了reset,并与set后的结果进行对比。两张map放在一起后,可以直观看到部分区域的颜色变化。更进一步,软件可以生成differential map,也就是把set之后和reset之后的电流差异计算出来。这样就能看到哪些cell真的发生了明显变化,哪些cell几乎没有变化。现场结果显示,部分cell有大约30到50微安量级的电流差异,但也有很多cell保持在类似状态。这再次说明,这颗芯片并不是理想样品,很多cell的set/reset响应并不好。对研发工程师来说,differential map很有价值。因为单独看两张电流图,有时候不容易判断变化;但差分图可以直接把“发生变化的位置”和“变化幅度”显示出来。对于分析阵列缺陷、行列异常、局部工艺问题、弱切换cell非常有帮助。九、每个cell都有自己的阻值:不是简单写0和1客户随后问了一个本质问题:这些不同颜色是不是表示不同的写入状态?是不是相当于阵列里每个ReRAM cell都写了不同weight?Tamas解释说,可以这么理解:每个cell都有自己的resistance或conductivity value。系统当前测的是电流;由于读电压已知,就可以根据欧姆定律计算出该cell的电阻或电导。这也是ReRAM与传统数字存储不同的地方。它既可以作为二值存储使用,也就是低阻态和高阻态分别表示0和1;也可以进一步用于多电平存储或模拟权重存储,让不同阻值代表不同权重。对于存内计算来说,这一点尤其重要。因为权重不是简单0/1,而可能是多个模拟电导值。因此测试系统不仅要能判断cell有没有switch,还要能测量电导分布、分析电导稳定性,并研究如何把cell调到目标电导。十、单cell I-V测试:从阵列map走到一个具体cell为了更清楚说明如何从电流得到电阻,Nicola选择了一个角落里的单个cell,做I-V测试。这个测试只对一个cell施加不同读电压,同时测量对应电流。如果cell行为近似线性,就可以从I-V曲线斜率推算电阻。现场举例,在200mV读电压下,测得电流大约15μA左右。根据欧姆定律,可以估算出对应电阻在十几千欧量级。随后通过set/reset操作,系统展示了阻值可以发生明显变化。后续讨论中,厂商提到,对于这颗具体cell或这颗具体器件,set之后的低阻状态大约可以到4kΩ量级;reset之后的高阻状态可能在120kΩ到200kΩ量级。当然,这只是这颗器件、这个cell、这个测试条件下的结果,不能简单外推为所有ReRAM器件的通用数值。这个单cell测试很有代表性。因为阵列map适合看整体分布,而I-V曲线适合深入理解某个cell的电学行为。真实研发中,两者通常要结合起来:先用map找异常区域,再挑选典型cell做I-V、set/reset、retention、cycling等详细分析。十一、多电平存储的难点:如何把cell调到目标阻值?Tamas在单cell测试后进一步展开了一个很重要的话题:multi-level cell,也就是多电平存储。如果只做二值存储,事情相对简单:set到低阻态,reset到高阻态。比如一个cell可以在4kΩ和120kΩ之间切换,那么可以把它们分别当成两个状态。但如果希望一个cell存储更多bit,或者用于模拟权重,就不能只停留在高阻和低阻两个极端。工程师可能希望把cell精确调到某个中间电阻,比如50kΩ、80kΩ或其他目标值。问题是:怎么调?是用较小reset pulse一点点拉高电阻? 还是用较小set pulse一点点拉低电阻? 是否需要write-verify算法? 每次pulse之后要不要read回来比较? 目标值附近如何避免过冲? 不同cell是否要用不同算法? 同一个cell经过cycling之后,算法还是否稳定?Tamas指出,这正是一个很好的研究课题。Test Mesh系统的优势在于,它足够开放,可以让用户实现和比较不同programming algorithm。比如incremental step pulse programming、set/read/verify、reset/read/verify,或者根据当前电导自适应调整下一次脉冲。这类研究不是固定仪器菜单能完全覆盖的。它需要工程师不断修改算法、观察结果、再调整策略。平台的开放性在这里就变得非常关键。十二、客户关心两比特单元:四个电导状态能否区分?现场还有一个问题来自客户:如果一个ReRAM单元要做two-bit,也就是四个状态,那么四个conductivity value如何定义?能不能测出来?厂商的回答是,系统当然可以测量conductivity distribution,但具体四个状态是多少,取决于客户器件和编程算法。对于现场这颗Demo芯片,目前看到的主要是两个比较明显的状态:一个低阻态约4kΩ,一个高阻态约120kΩ到200kΩ。要实现稳定四状态,需要进一步开发更精细的中间态编程算法。这点很现实。测试设备能提供测量能力和算法开发环境,但不会自动保证某颗器件一定能实现可靠MLC。能不能做two-bit,取决于材料、工艺、cell结构、噪声、漂移、retention、cycling稳定性以及programming algorithm。对于客户来说,这意味着平台可以用来研究四状态电导分布,但最终要靠器件和算法共同证明可行性。十三、打开Python脚本:测试流程不是黑盒演示后半段,Nicola打开了set操作背后的Python脚本。脚本第一部分定义用户界面中的参数,例如row from、row to、column from、column to、set level、word line level、bit line level等。也就是说,软件界面里看到的输入框和默认值,并不是写死的,而是由Python脚本定义。脚本第二部分读取界面输入,并把这些参数带入底层operation。例如根据用户输入修改cell active level、word line active level、bit line active level,然后生成实际要执行的set operation。最后,脚本调用run_worker,在用户选择的row/column区域内逐cell执行该operation。这一段演示非常重要,因为它说明系统不是一个封闭黑盒。用户不只是点按钮,而是可以理解按钮背后的测试逻辑,也可以修改脚本,增加参数,组合新的测试流。随后Nicola又展示了read multi-scale脚本。这个脚本把两个不同量程的read operation串在一起,cell by cell执行。这样可以在同一次测试中兼顾高电流和低电流范围,避免单一量程看不清不同阻态。再进一步,还可以写cycling脚本:重复N次set/reset,并在某些cycle之后插入read,比如read after set、read after reset。这样就可以做endurance相关测试。从这段演示可以看出,Test Mesh的核心不是“内置了几个按钮”,而是提供一个Python可扩展框架,让工程师把自己的实验思路变成可执行测试流。十四、客户反馈:软件逻辑清楚,但希望能拿到demo程序学习看到Python脚本后,客户反馈说程序逻辑比较清楚,希望后续能分享一些简单程序,让学生和团队可以先学习。Tamas表示可以提供一些基础program,帮助客户理解单cell如何测量、如何执行set/reset、如何查看结果。他也强调,软件的基本使用并不复杂:如果只是做基础测量、执行测试、看数据,学习门槛相对低;如果要进入复杂功能,例如自定义算法、多电平编程、cycling优化、复杂后处理,则需要更深入的培训和支持。客户也提到,希望能有一个简单软件版本,配合demo data,让学生可以先在本地熟悉界面和后处理流程。这里双方形成了一个很实用的后续方向:即使暂时没有真实device,也可以先提供离线demo数据,让客户在软件里看到map、I-V、差分图、后处理分析等功能。这样可以先建立共同语言,等设备或真实芯片条件具备后,再进入实测阶段。十五、没有真实device怎么办?先用离线数据,再考虑样机会议后半段,中文交流中进一步讨论了一个实际问题:真实客户芯片不一定能拿到中国来,厂商手里的这颗Demo芯片也可能因为客户保密和运输限制无法随设备一起发出。如果设备来了但没有device,客户仍然可以熟悉硬件、软件和基本流程,但无法做完整实测。因此现场提出两个可行方案:第一,提供离线demo软件和已有测试数据。客户可以在没有设备的情况下,先学习后处理软件,查看已有array map、differential map、I-V数据和分析功能。第二,后续考虑把demo设备发到中国,即使暂时没有真实device,也可以帮助客户熟悉系统结构、软件环境、脚本逻辑和操作流程。等客户自己的芯片或适配板准备好后,再进入真实测试。客户明确表示,还是希望能把设备拿过来熟悉一下。因为新型存储方向发展很快,团队需要尽快了解这类工具的能力和使用方法。十六、后续还需要高清演示视频和二次技术交流除了demo软件和样机,现场还提出希望厂商录制一些高清演示视频,用于展示软件主要功能和Gemini后处理能力。这样一方面可以帮助当前客户团队内部学习,另一方面也可以用于后续向潜在客户介绍。Tamas表示这需要时间准备,但方向上可以支持。同时,双方也同意后续可以组织第二次更深入的交流。第一次Demo的目标是让客户快速建立整体印象:设备长什么样,怎么连接,软件怎么运行,数据如何显示,Python脚本大概如何组织。第二次交流则可以更聚焦,比如:如何针对客户自己的器件定义端子和操作? 如何做single cell characterization? 如何设计set/reset/read/verify算法? 如何做MLC多电平编程研究? 如何做cycling和endurance测试? 如何使用后处理软件分析大量cell数据? 如果没有真实device,如何先用demo data培训学生?最后,现场还决定把Tamas拉进已有讨论群,方便客户、学生、代理和厂商之间后续直接沟通问题。十七、这次Demo真正说明了什么?如果只看演示动作,这次会议做了几件事:介绍了ReRAM cell结构,展示了TMA100+Extension Unit硬件,读取了32×32阵列,做了set/reset,生成了差分图,测了单cell I-V,打开了Python脚本,并讨论了demo软件和后续培训。但更深层看,这场Demo说明的是新型存储器件characterization的一套完整方法:先理解器件结构和端子定义; 再把TMA100资源通过Extension Unit连接到芯片; 用低读电压读取阵列,避免扰动状态; 用current map观察整体电导分布; 通过set/reset改变cell状态; 用differential map找出真正发生切换的cell; 选择典型cell做I-V曲线和电阻计算; 再通过Python脚本扩展到multi-scale read、cycling、write-verify和MLC算法研究。这和传统存储测试很不一样。传统数字存储更多关注数据能不能正确读写;而ReRAM characterization更关注模拟电学状态能否被精确控制、测量和保持。对于研究型客户来说,一台设备是否“好用”,不只是看硬件参数有多高,而是看它能不能让工程师快速从现象走向判断:哪一类cell有问题,哪种pulse有效,哪种读电压安全,哪种算法能把阻值拉到目标区间,哪些异常来自器件,哪些异常来自测试条件。结语:ReRAM测试不是读一个电流,而是读懂一个器件ReRAM、PCM、MRAM这类新型非易失存储器件,真正有意思的地方在于:它们不是简单的0和1,而是介于材料、电路、算法和系统之间。一个cell的电阻值,背后可能对应材料状态变化; 一个阵列的current map,背后可能对应工艺均匀性; 一次set/reset失败,背后可能是脉冲条件不合适,也可能是器件本身缺陷; 一个中间电导状态,可能是未来MLC和存内计算权重的基础; 一个Python脚本,则可能决定工程师能不能快速验证新的programming algorithm。这次Resistive Memory Characterization Demo最大的价值,不是展示了一颗完美芯片,而是展示了一套面对真实、不完美、仍在研发中的器件时,如何快速测量、快速分析、快速迭代的方法。对于做新型存储和存内计算研发的团队来说,这类工具真正解决的不是“能不能打一颗pulse”,而是如何把一颗cell、一行阵列、一组电流分布,变成可理解、可比较、可优化的研发数据。从这个角度看,一颗ReRAM单元被读出来的,不只是电流值,而是整个器件研发过程中的下一步方向。更多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公众号,点击底部菜单栏即可免费获取。如有任何技术问题,也可直接在公众号内留言交流。
    2026-06-22 18:00:28
  • 【急寻货源】全网紧急采购M.2 NVMe和M.2 SATA SSD与DDR4服务器内存,有货速联!

    各位供应链同仁、渠道商、合作伙伴:受全球半导体产能战略调整以及端侧AI基础设施对传统产能的严重“虹吸”影响,目前存储市场正经历着前所未有的结构性缺货。我司近期因项目集中交付,急需采购一批特定型号的 SSD(固态硬盘)与 DIMM(服务器内存条) 现货,需求总量约几百张/根。如果有以下对应型号的库存,或者拥有大品牌相同规格的替代型号,请立即与我们取得联系。现金或快款结算,真诚求货!为什么这些型号在当前市场全面缺货?在向大家公布具体清单和替代方案前,我们也结合当前的行业现状,为大家梳理了这几款产品在市场上近乎“绝迹”的底层原因:美光彻底退出消费级市场,Crucial 成为历史 我们急需的 Crucial P3 Plus 4TB 如今极难寻觅。核心原因在于母公司美光(Micron)在数月前(2026年2月)做出了一个震惊全行业的决定:宣布全球范围内彻底终止 Crucial(英睿达)品牌旗下所有消费级内存与固态硬盘的研发与销售通路。美光为了改善对大型 AI 数据中心及战略客户(如 HBM3E/HBM4、高性能 DDR5)的晶圆供应,将原本属于消费级的产能全部梭哈到了高毛利的 AI 赛道上。M.2 SATA III 接口处于实质性停产(EOL)边缘 三星 860 EVO 500GB M.2 SATA 这类老款闪存同样一货难求。目前各大晶圆厂(三星、海力士等)在有限的产能下,已全面将生产线切换给高密度的 NVMe PCIe 4.0/5.0 甚至企业级 AI 存储。M.2 封装的 SATA 协议由于性能和市场萎缩,属于老旧的断代产品,厂商基本不再为其分配核心晶圆。DDR4 产能遭到硬性压缩,服务器RDIMM供需失衡 针对美光这款主流的 DDR4 16GB 3200 RDIMM 内存,美光已于去年对其主流消费级及部分数据中心 DDR4 产品线发出了 EOL(寿命终止)通知,并在今年年初基本完成了最后批次的交付。“三大”晶圆厂集体将产能重新划拨给 DDR5、LPDDR5X 和 HBM。虽然近期有消息称美光的弗吉尼亚工厂开始重启部分 DDR4 产能以缓解汽车和国防短缺,但服务器级的传统 DDR4 16GB RDIMM 依然深陷全球 DRAM 缺货大潮中,现货极其紧俏。紧急采购清单及推荐可替代型号为了保证项目顺利推进,我们有对应型号最好,若没有,大品牌对应容量/代际的替代型号我们同样全部考虑。具体采购数量和替代清单如下:类别一:高容量 NVMe 固态硬盘急需数量: 50 ~ 100 张原定标型号: Crucial CT4000P3PSSD8 P3 Plus (4TB M.2 2280 NVMe PCIe 4.0 x4)大厂可替代型号推荐:三星(Samsung):990 PRO 4TB 或 980 PRO 4TB西部数据(WD):WD_BLACK SN850X 4TB思得(Solidigm):P44 Pro 4TB金士顿(Kingston):KC3000 4TB类别二:老款 M.2 SATA 固态硬盘急需数量: 50 ~ 100 张原定标型号: Samsung SSD 860 EVO MZ-N6E500B (500GB M.2 2280 SATA III 3D NAND)大厂可替代型号推荐:西部数据(WD):WD Blue SA510 M.2 SATA 500GB金士顿(Kingston):A400 M.2 SATA 480GB / 500GB创见(Transcend):MTS830S 512GB M.2 SATA类别三:服务器专用物理内存急需数量: 约 200 根原定标型号: 美光 MTA9ASF2G72PZ-3G2F1 (DDR4 SDRAM 16GB 3200 MT/s 288-pin RDIMM ECC)大厂可替代型号推荐:三星(Samsung):M393A2K43DB3-CWE (16GB DDR4 3200 ECC RDIMM)SK海力士(SK Hynix):HMA82GR7CJR8N-XN (16GB DDR4 3200 ECC RDIMM)金士顿(Kingston):KSM32RD8/16HDR (16GB DDR4 3200 ECC RDIMM)欢迎联系 / 恳请转发我们在此郑重承诺:凡是手握上述型号(或优质大厂替代型号)现货的供应商、渠道商、代理商,只要货源正规、测试合规,我们愿意接受合理的市场溢价,并提供极快的付款审批流程。欢迎各位同仁转发此文到您的朋友圈、电子元器件微信群或供应链群中。如果有线索,请直接在公众号后台给我们留言,或者通过以下方式直接对接我们的采购负责人:📬 联系邮箱: [lily.liu@saniffer.com]📱 微信/电话: [17717523769](注:请在私信时直接说明您手中持有的具体型号、现有库存数量、以及大致报价,以便我们第一时间建档推进,感谢配合!)
    2026-06-19 17:59:31
  • 【经验分享】面试必问的 PCIe 拓扑与 Bus 分配,今天用一张图给你讲得明明白白!

    近期有用户在使用我们的PCIe 6.0 switch卡连接Nvidia Mellanox CX系列网卡的时候问到一个关于PCIe 拓扑树(topology tree)显示的问题。我们知道,在 PCIe 系统和服务器硬件运维中, lspci 输出的树状图(Topology)是排查设备链路、拓扑结构和 Bus 号分配问题的核心工具。今天就来结合我们用户的这个实际问题,来详细拆解如何阅读 PCIe Tree、解答关于 Bus 号范围(Upstream/Downstream)看起来好像不一致的疑问,并盘点全球工程师最常用的 lspci 参数与经典实战案例。一、 图解:如何阅读 lspci-t 拓扑树?首先,我们用一个标准的、干净的 lspci-t 拓扑图范本来做教学:拓扑图的基本阅读逻辑:左侧根节点 -[0000:80]-:表示 PCIe Domain : Root Bus (根总线)。这里代表 Domain 为 0000,Root Bus 号是 80。通常对应 CPU 内部的 Host Bridge。分支节点 +-04.1:代表在 Bus 80 上的 Device 04, Function 1(即 80:04.1)。这是一个 Root Port(根端口),本质上是一个 PCI-to-PCI 桥。括号区间 -[81-94]:紧跟在桥设备后面的方括号,表示该桥所能控制/预留的子总线范围(Subordinate Bus Range)。横线连接 ----00.0:表示下一级总线上的设备。例如 -[81-94]----00.0 意味着,在进入次级总线后,遇到的第一个设备是 81:00.0。二、 核心疑问:为什么 Upstream 和 Downstream 的 Bus 号范围不一致?在随附的截图中,有两处画红线的 Bus 范围区间:根端口下挂的范围是: -[81-94]后面紧跟的交换芯片/子桥下挂的范围是: -[82-93]1. 为什么它们不一致?这属于非常经典的 PCIe 桥的 Bus 资源分配与嵌套(Nested Bridges)。在 PCIe 规范中,每一个 PCI-to-PCI Bridge(包括 Root Port, Switch Upstream Port, Switch Downstream Port)在配置空间里都有三个关于 Bus 的寄存器:Primary Bus Number:桥本身所处的上级总线号。Secondary Bus Number:桥直接导出的下一级总线号。Subordinate Bus Number:该桥下方所能延伸达到的最大(最后一级)总线号。2. 对照原图的拓扑级联关系拆解:第一层(Root Port) 80:04.1:它直接导出的下一级 Bus 是 81。它能管辖的整个庞大子系统的最大范围是 81 到 94(共 20 个 Bus 号空间)。第二层(PCIe Switch 的 Upstream Port) 81:00.0:它是由 Bus 81 上的设备导出的。它自身的次级 Bus 是 82。重点: 它并没有把上级给的 94 全吞掉,它向上汇报自己管辖的最大范围是 82 到 93。第三层(PCIe Switch 的 Downstream Ports):在 82-93 的内部,Switch 拆出了非常多的下游端口(Downstream Ports),例如 00.0, 01.0, 02.0 直到 10.0。其中的 00.0 端口直接分配了 Bus 83 给网卡(Mellanox ConnectX-6 Dx),而网卡拥有两个 Function( 00.0 和 00.1)。剩下的 01.0 分配了 Bus 84, 02.0 分配了 Bus 85……以此类推,直到 10.0 分配了 Bus 93。3. 为什么空出了 Bus 94?你会发现 Root Port 批了 81-94,但底下的 Switch 只用了 82-93,94 消失了。这是因为 BIOS/系统内核在进行 PCIe 热插拔预留(Hotplug Reservation)。系统为了防止用户以后在这个 Root Port 附近插入新的扩展卡或切分设备,故意在最外层(Root Port)多留了一个 94 号总线。如果未来有新硬件插入,可以直接将 94 分配给新硬件,而不需要重新打乱、刷新整个 81-93 已经分配好的现有拓扑结构。三、 全球最常用 lspci 命令与实战案例以下是根据全球系统工程师和内核开发者的使用频度,整理出的最常用 lspci 参数及其实战解决的问题:常用命令组合全球频度核心作用描述lspci⭐⭐⭐⭐⭐快速列出所有 PCI 设备简要信息。lspci-tv⭐⭐⭐⭐☆带有设备详细名称的树状拓扑图显示。lspci-vvv⭐⭐⭐⭐⭐打印极其详细的硬件底层配置空间及链路状态。lspci-k⭐⭐⭐⭐☆显示每个 PCI 设备当前绑定的内核驱动和可选模块。lspci-nn⭐⭐⭐⭐☆同时显示设备的文字名称和数字化的 Vendor ID / Device ID。lspci-s<BDF>⭐⭐⭐⭐⭐精准过滤并只查看指定 BDF 地址的设备。经典实战案例佐证案例一:排查设备是否降速(物理链路劣化)命令: lspci-vvv-s83:00.0|grep-E"LnkCap|LnkSta"为什么要用:当你在测试 Mellanox 网卡或 NVMe 盘时,发现性能死活跑不满(例如原本 100G 的网卡只能跑 50G)。解决什么问题:-vvv 可以 dump 出 PCIe 能力寄存器。 LnkCap(Link Capability)代表硬件设计最高支持的能力(如 Speed16GT/s,Widthx16,即 PCIe 4.0 x16)。而 LnkSta(Link Status)代表当前实际运行的状态。如果实际状态显示 Speed8GT/s,Widthx8,说明硬件可能由于金手指脏污、机箱震动或信号干扰,在物理层发生了解宽和降速。使用该命令能一秒定位物理链路故障。案例二:硬件无法识别,需要找驱动或提报 Bug命令: lspci-nn|grep-i mellanox为什么要用:当系统里装了一块新网卡或加速卡,操作系统无法识别它(显示为 Unknowndevice),或者你在写自动化脚本、需要精确匹配芯片型号。解决什么问题:标准的 lspci 只输出人能看懂的文本(依赖本地的 pci.ids 数据库)。如果数据库没更新,就看不到名字。加上 -nn 后,会强制输出十六进制的数字,例如 [15b3:101d](15b3 是 Mellanox 厂商 ID,101d 是设备 ID)。有了这个绝对唯一的数字 ID,工程师可以直接去谷歌查到该芯片的官方型号,或者直接写进内核驱动的 match_table 里去加载驱动。案例三:排查网卡、GPU 到底用的是哪个驱动命令: lspci-k-s83:00.0为什么要用:在配置网络 DPDK 高性能转发或者安装 NVIDIA/AMD 显卡驱动时,经常需要确认当前设备是被内核自带的开源驱动(如 nouveau、 mlx5_core)接管,还是被用户态驱动(如 vfio-pci)接管。解决什么问题:使用 -k 参数会明确输出两行:Kerneldriverinuse:mlx5_core (当前正在生效的驱动)Kernelmodules:mlx5_core (系统里可供选择的驱动模块)这能让装驱动、切驱动的运维过程变得极其透明,防止“驱动没装上”或“驱动冲突”导致的各种玄学罢工。更多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公众号,点击底部菜单栏即可免费获取。如有任何技术问题,也可直接在公众号内留言交流。
    2026-06-18 17:58:41
  • 【交流纪实】从32×32 Crossbar演示看懂ReRAM/PCM/MRAM研发测试的真正难点

    不用等ATE排期:一场Demo看懂新型存储芯片如何快速搭建测试流—— Test Mesh在ReRAM / PCM / MRAM / In-Memory Computing器件测试中的一次现场演示做新型存储器件研发的人,大多都会遇到一个共同问题:器件还在早期硅片阶段,工艺、结构、阵列、读写算法都在不断变化,但测试需求已经等不及了。传统ATE当然强大,但它往往更适合已经比较稳定、测试流程比较明确、后续要进入量产验证的阶段。对于早期研发来说,真正麻烦的并不是“能不能测”,而是每一次器件结构变化、每一次波形调整、每一次算法迭代,都要重新搭建测试流、重新调试程序、重新导出数据、再重新分析结果。2026年6月12日下午4:00 - 5:30,我们和客户工程师做了一场关于ReRAM如何测试的技术交流。整场交流围绕一个32×32 crossbar阵列展开,演示对象是一颗用于in-memory computing和vector-matrix multiplication方向的早期测试芯片。因为这颗芯片还处在first silicon阶段,器件本身并不完美,很多cell的set/reset行为并不理想。但也正因为如此,这场演示反而更接近真实研发现场:不是拿一个完美样品跑标准流程,而是看一套测试平台如何面对一个“不听话”的早期器件,快速搭建测试、观察现象、修改脚本、分析数据,并和客户一起讨论下一步如何适配真实芯片。下面按照现场演示的时间顺序,把这次Test Mesh Demo做一个完整梳理。一、为什么一开始就拿ATE来比较?Demo刚开始,Thomas先抛出了一个很直接的观点:在某些研发应用中,Test Mesh会比传统ATE更合适。这里的“更合适”不是说ATE不强,而是说两者面对的场景不同。ATE的优势在于高并发、高稳定性、高吞吐、量产级测试能力;但在新型存储器件研发阶段,工程师最需要的往往是快速搭建实验、快速修改测试流、快速看到数据结果。Thomas强调了三个点:第一,ATE编程和调试周期长。对于一个还在不断变化的测试芯片,测试流可能今天要改set pulse,明天要改reset条件,后天又要增加read-after-write或者disturb测试。如果每次都走传统ATE开发流程,时间会非常长。第二,Test Mesh更适合快速实验。现场提到,很多测试flow可以在几个小时内搭起来,而不是以周为单位等待。第三,数据分析被集成进系统。测试完成后,结果不是先导出一堆log,再靠工程师手工处理,而是直接进入分析工具,马上看到array map、distribution、differential map等可视化结果。这就是整场Demo的主线:Test Mesh不是只负责“施加波形”,而是把测试开发、执行和数据分析放在同一个平台里。二、不同器件结构,对应不同平台配置正式看硬件之前,Thomas先用一页图说明了Test Mesh平台的配置思路。因为新型存储器件的结构差别很大,平台也不能只做成一种固定形态。比如:如果客户做的是crossbar阵列,或者in-memory computing架构,那么更适合使用Gemini相关配置,也就是这次Demo所展示的方向。如果客户的test chip是基于address decoder的结构,那么DMA相关配置会更合适。DMA可以驱动TXU,因此有些客户会根据不同DUT同时使用DMA和TXU。如果客户已经进入更高级阶段,器件带有digital interface,或者部分操作已经数字化,但底层仍然需要访问memory array,那么可以考虑TMY-100与Gemini组合。换句话说,Test Mesh不是一台固定仪器,而是一套可根据DUT结构重新组合的平台。对于ReRAM、PCM、MRAM、FRAM,以及各类crossbar/in-memory computing测试芯片来说,前端接口、阵列组织、选择方式、读写端子、波形需求都有很大差异。平台能否适配,关键不只是通道数量,而是硬件扩展板、波形源、数字控制、软件脚本和数据分析能不能一起跟着变化。三、硬件打开看:Gemini平台如何连接32×32 crossbar阵列接着,Nicola把镜头转到实验室里的Gemini硬件平台。现场设备是打开状态,没有盖上外壳,方便客户看到内部结构。系统主机侧有CPU和CodeX接口卡,接口卡上有一组34个SMB连接,用来把Test Mesh资源连接到外部扩展板。通过这组连接,可以引出波形发生器、数字通道、电源、电流参考以及测量相关资源。这次Demo使用的是专门面向in-memory computing crossbar应用的扩展板。扩展板上有socket,用来放置客户的测试芯片。围绕socket,板上分成几个功能区域:一部分用于word line相关控制; 一部分用于source line或drain/source侧的选择; 一部分用于selector控制; 同时还配有用于cell addressing的FPGA逻辑和高速连接。现场演示的阵列是32×32结构,因此可以理解为有32条word line、32条selector line、32条bit line或对应的source/drain访问路径。每个区域都可以选择active和inactive两类波形,比如被选中的cell施加active电压,未选中的cell施加deselected voltage,从而避免误操作未选单元。这里客户特别问了三块区域的含义。Thomas和Nicola解释说,在这颗Demo芯片里,某些命名和传统word line、bit line、source line叫法不完全一样,因为这是in-memory computing方向的测试芯片,不同客户对端子的命名也不一样。平台本身并不限制信号名字,Python脚本里可以根据客户器件定义成word line、source line、bit line、gate、drain、selector等任何更符合客户习惯的名称。这点很重要。新型存储器件不是标准SSD,也不是标准DRAM。不同团队对cell结构、selector、source/drain、word line的定义可能不同。测试平台如果强行套固定命名,反而会增加沟通成本。Test Mesh的做法是让硬件资源可配置,让软件参数名也可配置。四、为什么扩展板要定制?硬件介绍过程中,现场还特别说明了扩展板和socket board的意义。这次使用的扩展板是为一个特定客户的32×32 crossbar芯片设计的,里面有该芯片需要的信号路径、socket、调试点、保护电路和测试连接。板上还预留了一些SMB接口,用于调试特定cell或特定信号。如果换成客户自己的芯片,尤其是封装形式、pinout、阵列结构、端子定义不同,就需要重新设计对应的socket board或base board。平台中很多模块可以复用,例如波形源、数字通道、测量单元、FPGA寻址逻辑等,但DUT接口板通常需要根据客户文档定制。这也是后续待办里很关键的一项:客户需要把芯片文档、封装信息、pin定义、阵列组织和基本操作条件发给Thomas团队,由厂商评估如何做对应的Test Mesh配置和socket board。五、进入软件:先初始化,再进入interactive模式硬件介绍结束后,Demo转到软件界面。软件启动后,需要先打开一个server,然后进入用户界面。界面里能看到已经实现的program列表。现场选择的是一个面向32×32 ReRAM/crossbar阵列的配置。第一次进入系统时,需要执行initialize。初始化过程中,软件会读取扩展卡EEPROM里的校准参数。这个设计很实用,因为不同扩展卡、不同socket board、不同测量路径都会有自己的校准信息,把这些参数放在扩展卡里,软件启动时自动读取,就可以减少人工配置错误。初始化完成后,系统进入interactive模式。界面中列出了当前可以执行的功能,例如read、set、reset、cycling、IV sweep、disturb等。每一行背后其实都是一个Python脚本。后面演示也专门打开了这些脚本,让客户看到界面参数和底层操作之间是如何绑定的。六、第一个操作:read整个32×32阵列软件演示从read操作开始。read界面里可以设置row和column范围,比如从哪一行到哪一行、从哪一列到哪一列。也可以选择pattern,例如读取整个array,或者只读取某些特殊pattern或子区域。对于这次Demo,先读取完整32×32阵列。接着设置read condition。这里可以定义读操作时施加到不同端子的电压,比如selector level、cell level、word line level、source/drain侧电平,以及测量量程。现场还演示了read waveform,大约14微秒的波形窗口中,黄色或绿色标记区域表示真正采样的时间窗口。客户问到这个测量窗口是什么意思。Thomas解释说,系统会在信号稳定后的指定窗口内采样,采样速度可以达到10ns级别。如果积分窗口设为1微秒,就会采大约100个样本;如果设为2微秒,就会采大约200个样本,最后返回这些样本的平均值。积分时间越长,噪声越低,但测试时间也会相应增加。这个设计体现了研发测试中常见的取舍:要更快,还是要更低噪声?要单次快速扫描,还是要更稳定的电流读数?这些都可以通过软件参数调整。七、结果不是一堆log,而是一张current mapread操作执行完成后,结果马上进入分析工具。界面显示的是一个32×32 current map,每个格子对应一个cell的电流。鼠标移到任意cell上,可以看到具体的row、column和电流值。客户马上根据颜色问:浅色、深色分别代表什么?是不是可以理解成data 0和data 1?厂商解释说,这颗Demo芯片是一个早期样品,目前并不能简单认为某些颜色就是稳定的0或1。很多cell没有表现出理想的switching行为,有些处于中间状态,有些可能本身有缺陷。因此,在这个阶段,更准确的理解是:颜色代表测得的cell current,而不是已经可靠映射为逻辑状态。这也是早期器件研发里经常遇到的情况。工程师希望看到清晰的HRS/LRS分布,但first silicon往往并不会这么配合。测试平台此时的价值不是“证明器件完美”,而是帮助工程师快速看到阵列里哪里正常、哪里异常、哪些行列有系统性问题。除了current map,软件还可以立即生成distribution图。横轴是电流,纵轴是落在对应电流区间的cell数量。对于小阵列,人眼看map也许还能判断;但如果未来是更大的array,distribution和筛选工具就非常必要。八、set/reset演示:器件不完美,反而更接近真实研发接下来,工程师演示set和reset。一开始,Nicola对阵列中的部分区域执行set操作,然后再次read。客户观察后发现,set之后并没有看到明显的高低电流状态变化。随后又执行reset,再读一次,结果仍然不是特别理想。客户直接指出:对于ReRAM来说,set之后应该进入低阻态、高电流;reset之后应该进入高阻态、低电流。但现场看到的结果并没有明显switching。Thomas也很坦率地解释:这颗芯片不是一个成熟器件,而是非常早期的silicon,所以表现并不完美。正因为器件本身不稳定,才更适合用来演示分析工具如何帮助定位问题。随后,软件生成了set之后、reset之后,以及set/reset之间的differential map。这个差分图显示的是两次状态之间电流变化的差异。虽然整体切换不理想,但在阵列底部某些区域,仍然能看到几十微安级别的变化。通过distribution和筛选功能,还可以把变化超过某个阈值的cell标记出来,例如筛选电流变化超过50微安的cell,系统会在map中用醒目标记显示对应位置。这个功能在大阵列中尤其重要。如果只是32×32,人眼还能慢慢找;如果是几万、几十万甚至更大规模cell,工程师不可能靠肉眼检查。能够快速筛选异常cell、弱切换cell、高电流drop cell,对于工艺调试和失效分析非常有价值。九、客户关心的不是“能不能set”,而是“一次set到底花多久”现场客户很快把问题转到测试效率。对于32×32阵列,总共约1024个cell。客户问,如果对每个cell做一次set,总时间是多少?现场看到一次set全阵列大约是0.27秒,也就是271毫秒左右。客户进一步追问:如果未来要做大量cycling,这个时间会不会太长?如果目标是一轮set/reset在几十微秒量级,系统能不能做到?这个问题非常关键。因为在ReRAM、PCM、MRAM这类器件研究中,工程师经常要做大量循环,比如每个cell做成千上万次set/reset,然后观察endurance、漂移、分布变化和失效模式。如果每个操作都要毫秒级开销,整体测试时间会很长。厂商解释说,现场看到的时间包含了不少软件和数据处理开销,并不等同于纯pulse时间。Test Mesh的软件架构分为Python层和C++底层。Python负责脚本、参数、流程和界面交互;真正高速执行的部分在C++层。但如果每次只从Python调用一个单cell操作,就会有Python到C++函数调用的开销,单次调用可能达到毫秒级。因此,不能用“Python逐cell调用”的方式去做速度敏感测试。正确的做法是把操作批量化,让C++层一次扫描整个matrix,或者把多个pulse、多个操作组合成一个低层sequence执行。这样可以显著降低函数调用开销。这段讨论非常有价值,因为它说明了Test Mesh的使用方法:它不是让用户用Python一条一条慢慢打pulse,而是用Python描述实验逻辑,再把高速重复操作下沉到C++和硬件层执行。十、cycling测试:10次set/reset,用差分图看变化随后,工程师演示cycling功能。cycling脚本可以设置循环次数,例如10次、1000次等;也可以设置每隔多少cycle做一次read。例如现场设置10次set/reset循环,并在第5次和第10次之后读取状态。客户问,一个cycle是set和reset各一次,还是set算一次、reset算一次?厂商解释,这里的cycle可以理解为set/reset成对重复,例如10个cycle就是10次set加10次reset。现场执行了一个小区域的cycling测试,并生成read after set cycle 5、read after set cycle 10等结果图。map中可以看到某些区域颜色发生变化,同时也出现了疑似disturb或异常行列行为。整个10次cycling大约耗时7秒,但里面包含数据记录、sleep等待和读回分析,不是纯粹的pulse执行时间。客户对这个时间提出了质疑,认为如果按单cell、单cycle计算,开销太大。厂商也认可这一点,并解释当前Demo脚本没有为极限速度优化。如果真正要追求高cycling速度,可以改变算法组织方式:例如对一个cell连续做很多次set/reset/read,再移动到下一个cell,而不是每次都在阵列中频繁切换地址。这样,地址切换和函数调用开销只需要付一次,整体效率会高很多。这段讨论非常接近真实项目落地。Demo里跑通功能是一回事,客户真正关心的是未来能不能用在自己的器件上做高效率、大规模循环测试。厂商给出的方向是:硬件具备能力,但测试脚本和算法组织需要根据客户目标优化。十一、打开Python脚本:界面参数是怎么变成波形的?为了说明平台的可定制性,Nicola现场打开了set操作背后的Python脚本。脚本大致分成几部分:第一部分定义界面参数,例如row from、row to、column from、column to、selector level、word line level、bit line level、pulse width、measurement scale等。也就是说,用户在界面上看到的输入框、默认值、参数名称,都是Python脚本定义出来的。第二部分读取用户在界面中设置的参数。如果用户没有设置,就使用默认值。第三部分根据这些参数修改已有的底层operation。例如取一个set operation模板,把cell active、word line active、bit line active等波形参数改成用户指定的值,然后生成一个新的operation,再调用底层worker执行。这套机制的好处是,工程师既可以用图形界面直观地看波形、改参数,也可以直接写Python脚本,把操作串起来。比如现场马上演示了如何把set和reset组合在一起:在同一个脚本里先执行set,再执行reset,甚至可以定义自己的“my set”“my reset”“my cycling”操作。这比传统固定菜单式仪器灵活很多。对新型存储器件来说,很多算法在一开始并不存在标准答案。客户可能今天想做单脉冲set,明天想做incremental step pulse programming,后天想做set-read-verify-reset-read-verify。只要底层资源支持,脚本就可以快速组合。十二、波形示波器验证:set和reset到底打在哪个端子上?客户对波形方向也很关注。在ReRAM等两端或三端器件中,set/reset往往和电压方向有关。客户看到示波器上的波形后,问这是不是单向操作,还是双向操作?从屏幕上看,两个pulse好像方向类似。厂商进一步查看operation定义,并解释这颗Demo芯片中,set和reset施加在不同端子路径上。set时使用selector加word line路径;reset时使用selector加bit line或drain/source侧路径。也就是说,从cell角度看,这是bidirectional pulsing,只是示波器当前探测的通道可能只显示了某一路信号,所以视觉上容易误解。随后工程师切换示波器探头,分别查看drain和source侧波形,进一步说明两个端子的电压关系。这段交流说明,做新型存储器件测试时,仅仅“软件显示打了set pulse”是不够的。客户需要确认实际端子上的波形、方向、幅值、间隔和被选/未选线路状态。Test Mesh通过图形波形定义、脚本参数和示波器验证,把这些问题放在同一个调试环境里处理。十三、波形发生器数量:不是所有配置都一样客户还问到一个硬件扩展问题:当前界面里似乎只有6个waveform generator,如果客户芯片端子更多,能不能增加?厂商解释,这取决于具体系统型号和配置。例如TMY2可支持更多waveform generator,现场这块TKS2 crossbar扩展板实际连接了6个waveform generator。不同系统可以配置4个、6个、8个、12个等资源组合,具体要看DUT需要多少独立模拟波形、多少数字控制、多少测量通道。这说明后续配置不能只看“平台名字”,必须回到客户芯片本身:有几个端子需要独立波形?有几个端子只是数字选择?哪些线需要测电流?哪些线只需要force voltage?是否需要active/inactive两套电平?是否需要同步采样?这些都会影响最终硬件配置和扩展板设计。十四、多量程read:低阻态和高阻态不能用一个量程看完演示后半段,工程师又展示了multi-scale read。对于ReRAM这类器件,低阻态和高阻态的电流可能相差很大。如果只用一个量程,低电流区域可能看不清,高电流区域又可能接近饱和。因此系统支持把两个read operation串联起来,用不同测量scale读取同一个cell或同一区域。现场演示中,把两个read操作拼接在一起,分别使用不同量程。示波器上可以看到两个read pulse非常接近,中间间隔很短,系统在两次read之间完成量程切换。Thomas强调,这种快速切换是Test Mesh的优势之一,因为它可以在同一次测试flow里覆盖更宽动态范围。这对研发分析非常实用。很多时候,工程师不只是想知道cell有没有电流,而是想同时看低阻态、高阻态、中间态、异常漏电和弱切换cell。如果每次都手工换量程,不仅慢,而且容易破坏测试一致性。十五、IV曲线和disturb测试:不仅能读写,还能做特性分析在客户确认主要问题都已经回答后,厂商又简单展示了其他可用测试功能。其中一个是IV characteristics。系统可以对某条line或某个cell扫电压,例如从0到某个电压点,按一定step扫描,同时测量电流,得到I-V曲线。现场提到,这对ReRAM、PCM等器件的基本电学特性分析很有用。另一个是disturb测试。工程师展示了disturb脚本思路:先做initial operation,然后对未选cell或特定线路施加某种干扰条件,中间可以加入较长等待时间或特定脉冲,再读取前后变化。对于crossbar阵列来说,disturb非常重要,因为未选线路、半选cell、相邻cell都可能受到影响。真正的阵列级可靠性,不只是单个cell能不能set/reset,还包括被选操作会不会影响未选区域。十六、客户封装芯片能不能测?答案是可以,但要先看文档Demo接近尾声时,客户问到自己的实际芯片适配问题。客户的器件不是裸die测试结构,而是封装芯片,希望知道Test Mesh是否可以支持。厂商确认,封装器件可以测试,但需要客户提供完整文档。包括封装形式、pinout、端子定义、阵列结构、工作电压、保护电路、是否需要上电时序、是否有digital control、是否有ESD diode或其他限制等。厂商拿到资料后,可以设计对应socket board,把Test Mesh资源连接到客户芯片上,并在软件里根据客户定义创建对应操作、参数名、测试脚本和分析流程。这也是这次会议后最重要的下一步:客户先提供芯片文档,厂商评估适配方式,再决定是否准备demo设备发到中国,甚至安排工程师到现场支持安装、培训和初始测试。十七、这场Demo真正展示的,不是一台仪器,而是一种研发测试方法如果只看表面,这次Demo演示了read、set、reset、cycling、IV、disturb、current map、distribution、differential map、Python脚本和波形控制。但更深一层看,它展示的是一种适合早期器件研发的测试方法:先用硬件扩展板把客户芯片接入平台; 再用Python快速定义端子名称、参数和操作; 用图形界面检查波形和测试条件; 执行read/set/reset/cycling等基础实验; 把结果直接送入数据分析工具; 通过current map、distribution和differential map快速发现异常; 再根据器件表现修改pulse、量程、测量窗口、算法顺序和测试区域; 最后把成熟的测试flow沉淀成可重复执行的脚本。对于ReRAM、PCM、MRAM、FRAM,以及in-memory computing crossbar芯片来说,这种工作方式很有意义。因为这些器件的早期研发并不是标准化流程,而是不断试错、不断修改、不断对比数据。平台越开放,工程师越容易跟上器件变化;数据分析越及时,工程师越快知道下一步该改什么。结语:新型存储测试的难点,不是打一个pulse,而是把现象变成判断新型存储器件的测试,最难的地方往往不是“能不能打一个set pulse”或者“能不能读一个电流值”。真正难的是:为什么某些cell切换明显,某些cell几乎不动? 为什么同一个阵列里有几条line表现异常? 为什么set/reset之后看不到预期的HRS/LRS分布? 为什么一个量程看不全,需要multi-scale read? 为什么cycling时间看起来很长,瓶颈到底在pulse、寻址、Python调用,还是数据记录? 为什么Demo里器件表现不好,但这反而更接近真实first silicon调试? 客户自己的封装芯片接上来之后,如何快速把这些测试流迁移过去?这次Test Mesh Demo的价值就在这里。它没有把测试包装成一个简单的pass/fail结果,而是把器件行为一层层展开:从端子连接,到波形定义;从单cell电流,到全阵列map;从set/reset前后对比,到差分筛选;从Python脚本,到C++底层优化;从当前Demo芯片,到未来客户自有封装器件的socket board适配。对于做ReRAM、PCM、MRAM、FRAM和存内计算芯片的研发团队来说,这类平台最重要的意义不只是“替代ATE”,而是在器件还没有完全成熟、测试流程还在不断变化的时候,给工程师一个可以快速试验、快速修改、快速分析的工具。在早期研发阶段,时间往往比设备规格表更宝贵。能不能把一个想法当天变成测试流,能不能把一次异常马上变成可视化结果,能不能根据器件表现快速改下一版实验,这些才决定了研发迭代的速度。Test Mesh这次演示的核心价值,也正是在这里。更多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公众号,点击底部菜单栏即可免费获取。如有任何技术问题,也可直接在公众号内留言交流。
    2026-06-17 17:57:35
  • 【交流纪实】NAND测试不是跑读写:一次现场演示讲透闪存颗粒级验证

    NAND Flash特性如何测试?怎么测试?用户一般关心哪些问题?我们今天通过和一个用户技术交流的整个过程汇总来看看业内的最新进展。一颗NAND芯片放上去之后,真正的闪存测试才刚开始一次闪存测试系统现场技术交流记录很多人理解的闪存测试,可能还停留在“把NAND颗粒接上去,跑一遍读写擦”的阶段。但真正做过NAND Flash研发、验证、可靠性分析的人都知道,事情远没有这么简单。一颗NAND芯片从实验室样片到进入SSD控制器、再到最终变成可量产、可交付、可长期稳定工作的存储产品,中间要经历大量底层测试:读写擦循环、Vth分布、Read Offset BER、温度漂移、功耗曲线、命令序列、时序行为、异常状态响应、不同Die之间的温度差异、不同封装接口之间的兼容性……这些问题不是靠一台普通SSD测试平台就能看清楚的。2026年6月12日下午2:00 - 3:45,我们在办公室和客户工程师做了一场将近两个小时的闪存测试系统技术交流。整场交流从硬件实物讲起,随后进入软件演示,再到测试数据分析、Python脚本开放性、FPGA执行逻辑、LTT/PI-LTT接口支持,以及未来系统扩展和报价配置讨论。下面按照现场交流的顺序,把这次技术沟通做一个完整梳理。一、先从硬件看起:NAND颗粒不是“插上去”这么简单交流开始后,我们先给客户工程师看了现场的测试单元。这个系统的核心硬件叫Test Unit,简称TU。每个TU可以理解为一个独立的NAND测试模块,上面安装不同类型的socket,用来适配不同封装的NAND颗粒。感性的朋友,可以看我们Saniffer公众号之前发布的很多关于NAND FLASH测试的高清视频,查询关键词:NAND,例如:【高清视频】SSD研发使用的神秘的QLC NAND特性测试和分析设备长得啥样?现场重点讨论了BGA152、BGA154以及部分BGA132封装的适配问题。不同封装的颗粒,socket和PCB定位方式会有差异。比如BGA152封装,需要根据socket上的三角形定位点和芯片自身的mark进行对位;BGA154则会在PCB上标出对应的定位区域。这个步骤看似简单,但对裸NAND颗粒测试来说非常关键,因为它直接决定后续上电、通信和测试是否可靠。客户也问到一个实际问题:不同封装的底座能不能现场更换?现场解释是,这类socket通常不是像消费级转接板一样随意替换的,而是根据封装固定配置。BGA152兼容BGA132,但BGA154通常需要独立配置。如果未来遇到更特殊的封装,例如更大ball count或特殊接口形态,就需要评估定制开发,可能涉及额外的NRE费用。这也说明,裸NAND测试系统和普通SSD测试平台最大的不同之一,就是它直接面对的是芯片本身,而不是已经被控制器封装、抽象过后的NVMe SSD。二、系统部署:从单个TU到48端口,再到84端口和更大规模硬件介绍之后,现场进一步展开了系统形态。这套系统可以单个TU独立使用,也可以把多个TU集成到一个shelf里,再把多个shelf安装到标准机架中。对于预算有限、样片数量较少、或者高校实验室、小型团队来说,可以先采用单模块便携式系统;对于企业级研发验证,则通常会采用多TU、多shelf、多机架的配置。现场展示的配置是一个shelf中可安装多个TU,例如6个模块的配置。每个TU通过网线连接到主控电脑,主控电脑上需要配置DHCP Server。系统上电后,每个TU会自动从DHCP Server获取IP地址,随后NanoCycler软件可以自动扫描到这些测试单元,并在界面中显示出来。界面上可以看到每个TU的状态,包括序列号、IP地址、FPGA版本、当前温度、剩余存储空间等信息。每个TU内部有SD卡,启动后运行嵌入式Linux系统。测试过程中的部分log默认可以写在本地存储里,但如果测试量较大,尤其是多端口长时间运行时,现场建议在主控电脑上配置NFS Server,让测试数据直接通过网络写到电脑或服务器磁盘中,避免本地SD卡空间不足。主控电脑建议采用专机专用,安装Windows系统、NanoCycler软件、OpenCL相关组件、DHCP Server、NFS Server以及数据库软件。客户也特别关心这些软件在公司IT环境中是否允许安装,因为在大型企业里,测试设备本身能不能跑起来是一回事,能不能符合公司IT管理要求又是另一回事。在并行规模方面,厂商给出的建议比较务实:理论上一台PC可以管理更多TU,但推荐一套软件管理48个测试端口以内会更稳定。如果未来需要100个左右的测试点,更合理的方式是拆分成两个系统、两台PC分别管理,而不是把所有TU都塞给一台电脑。这次还讨论了48端口、84端口、108端口甚至更大规模配置。标准机架宽度是19英寸,大约50厘米宽,深度和高度取决于shelf数量。48端口方案空间利用率相对一般,如果做到108个测试单元,可能需要三个机架;而84端口方案在空间利用上更好,但价格也会更高。客户最后希望厂商同时评估几种配置组合,在预算、占地、端口数量之间做平衡。三、温度测试:0到85℃只是底线,真正难点在温度一致性硬件和系统连接讲完后,现场自然进入到温度测试问题。这套测试系统本身具备加热能力,主要通过压盖结构对芯片进行加热,并通过内部温度传感器监控温度变化。现场提到,从室温升到80℃、85℃甚至90℃,系统可以在两三分钟内完成,而且稳定后温控精度可以做到约±1℃以内。客户的基础需求是覆盖0~85℃。这个范围对于数据中心级应用已经非常典型,不涉及车规或更极端工业级环境时,这个配置基本可以满足当前需求。但低温测试的实现方式和高温不同。设备本身并不是一台制冷设备,如果要做到0℃甚至更低温,通常需要把整个TU或shelf放入外部温箱,电源线和网线通过温箱壁的穿孔引出。现场也提到,有客户曾经把设备短时间放在零下25℃甚至更低环境中运行,验证过可行性;如果需要更快速的低温冲击,也可以结合类似温度冲击系统,也就是现场中提到的“Thermo Jet”一类设备。这里还有一个很容易被忽略的点:芯片内部sensor在低温下不一定都能正常报告温度。有些NAND die内部温度传感器可能只在25℃以上比较可靠,低于这个范围时,就需要结合外部测量手段。对研发验证来说,这一点非常关键,因为你看到的软件温度曲线,不一定完全等同于每个die真实的结温。后面软件演示中也验证了这个问题:在温度profile测试里,系统设置了40℃、50℃、60℃、70℃、80℃等set point,同时记录系统温度和芯片内部不同die的温度。可以看到不同die之间存在几度温差,这和加热位置、封装结构、ball阵列散热路径都有关系。对NAND测试来说,温度不是一个简单的“设定值”,而是需要结合die、word line、block位置和测试行为一起理解。四、软件演示正式开始:recipe不是菜单,而是测试流硬件介绍大约进行到20多分钟后,厂商NplusT工程师开始远程共享屏幕,进入NanoCycler软件演示。软件打开后,首先看到的是一个管理界面。中间区域显示当前连接的shelf和TU状态,左侧或相关区域列出已经准备好的测试recipe,右侧显示测试输出、log、plot、sequence等结果窗口。这里的核心概念是recipe。它不是一个简单的“测试菜单”,而是一套可编辑的测试流程。一个recipe由多个test block组成,每个block代表一个测试动作或函数,例如初始化、设备配置、DQ校准、Program/Erase Cycling、Read Offset BER、Vth Dump、Power Profile、Temperature Profile、Sequence Capture等。用户可以通过图形界面拖拽这些block,把它们连接起来,形成完整测试流程。也可以直接用文本方式或Python脚本方式编辑。每个block都有参数,例如选择channel、chip enable、LUN、block、page、cycle次数、读操作频率、VCC/VCCQ电压、ODT、driver strength等。这对工程师很友好:简单测试可以通过图形界面搭建;复杂测试可以下钻到Python脚本,甚至进一步定制设备库和底层命令序列。五、第一个实验:Cycling + Read Offset BER + Vth分析软件演示的第一个实验,是基于一颗YMTC QLC NAND器件,做cycling、read out和Vth分析。测试流程大致包括以下几步:首先是初始化,软件会选择当前测试的NAND型号。系统里已经内置了很多device definition,现场选择的是一颗YMTC QLC器件。随后进入device configuration,配置VCC、VCCQ、电气参数、ODT、driver strength等。接着进行DQ calibration,因为测试设备最高可到2.4GT/s级别,对DQ和DQS的校准非常重要。校准完成后,进入cycling,也就是Program/Erase循环。现场为了演示,只设置了很短的cycle次数。之后进入Read Offset BER测试。客户在这里问了一个非常专业的问题:Read Offset BER是不是类似read retry?厂商工程师解释说,这里不是普通意义上的read retry,而是对每个read level进行offset sweep。例如对QLC NAND的多个read level,在每个level上从-128到+127按步进扫描offset,然后读取raw bit error,得到不同read offset下的BER变化。这个测试的价值在于,它可以帮助工程师观察不同page、不同level、不同word line上的read window变化。对于QLC甚至未来更高bit/cell的NAND来说,Vth分布和read margin非常敏感,单纯看能不能读出来远远不够,必须看分布曲线、偏移余量、错误率变化趋势。现场演示中,软件对选定的page进行read offset测试,并生成曲线。随后又执行Read Offset Vth Dump,把不同level和offset下的memory content dump到二进制文件中。即便只选择了十几页,也会生成上百MB级别的binary文件。之后可以通过Python分析脚本进一步处理这些binary数据,生成Vth distribution图。这里有一个细节很重要:CSV文件主要保存测试log、设备ID、操作时间、erase/program/read相关数据等结构化信息;真正用于Vth分布重建的数据来自binary dump文件。换句话说,如果只是导出CSV,只能看到测试过程和部分统计结果;如果要做更深入的Vth分布分析,必须结合binary数据和Python处理脚本。这也是为什么这类系统不是普通功能测试工具,而是面向NAND底层特性分析的研发工具。六、第二个实验:功耗曲线,不只看平均值,更要看峰值第一个实验之后,工程师切换到Power Profile演示。这个测试主要用来分析NAND在不同操作下的电流变化,例如ICC3、ICC4等。现场演示中特别比较了single plane和multi-plane操作下的电流差异。一个很典型的现象是:如果只看datasheet里的平均电流,可能觉得功耗并不夸张。但实际测试曲线会显示,在erase或program某些阶段,瞬时电流峰值可能远高于平均值。现场演示中,single plane erase平均电流大约几十mA,但峰值可能到一百多mA;multi-plane操作下,平均值和峰值都会明显上升。客户也追问,系统是不是只能测ICC,能不能测ICCQ、IPP等其他电源通道。厂商回答是可以选择不同current channel,当前演示只是选择了ICC作为示例,实际测试block中可以配置要监控的电流通道。这对于NAND研发和SSD系统设计都很重要。因为SSD控制器、电源管理、电容配置、热设计、并发program/erase策略,最终都会受到这些底层电流特性的影响。很多问题不是“平均功耗超不超”,而是“某个瞬间峰值是否把系统打穿”。七、第三个实验:Sequence Capture,把真正发给NAND的命令抓出来接下来演示的是Sequence Capture。这项功能非常适合调试复杂算法或新NAND器件。系统可以捕获实际施加到NAND device上的命令、地址、数据、R/B状态等序列。比如erase操作中,可以看到erase command、地址cycle、confirm command,以及R/B信号拉低持续的时间。现场提到,某次erase的R/B低电平时间大约在9ms量级,软件可以直接在sequence视图中观察到。在program sequence里,还可以看到QLC programming中的coarse step和fine step。例如某些QLC page program会涉及DC、80等命令序列、page address、data in、program confirm等步骤。软件可以选择是否展开大量数据内容;如果数据内容很长,也可以用简化方式显示。这项功能的价值不只是“看波形”。厂商工程师特别提到,当某个器件行为异常、算法不工作,或者设备厂商要求确认主机到底发了什么命令时,可以把sequence capture结果导出来,发给NAND原厂一起分析。这对调试早期样片尤其有价值。很多时候,问题不是NAND坏了,也不是测试设备坏了,而是某个命令序列、timing、feature setting、status polling方式和器件预期不一致。Sequence Capture给工程师提供了一个“回到事实”的手段。八、第四个实验:温度profile,看的是芯片真实工作过程第四个实验是Temperature Profile。工程师展示了当天早上启动的一组温度测试,设置了40℃、50℃、60℃、70℃、80℃几个阶段,并记录系统sensor和芯片内部多个die的温度变化。从结果看,系统升温速度很快,从室温到80℃可以在两三分钟内完成;温度稳定后,控制精度也比较好。但更值得关注的是,die0、die1、die2、die3之间并不是同一个温度。不同die位置不同,离加热源、封装表面、ball阵列和散热路径不同,因此会形成温度梯度。这件事情对NAND测试特别重要。因为NAND的retention、read disturb、program disturb、Vth drift、BER变化都和温度强相关。如果只是拿一个“系统温度”作为测试条件,可能会掩盖die之间真实差异。对于高层数3D NAND、QLC NAND来说,这种差异更值得关注。现场客户的底线需求是0~85℃,厂商确认现有配置可以覆盖;如果未来做车规、军工、航天或更极端工业环境,则需要考虑更长形态的低温测试fixture、外部温箱或temperature forcing系统。九、软件架构:图形界面下面,其实是Python + ARM + FPGA演示后半段,客户把问题进一步拉到软件架构和可扩展性。厂商工程师打开了recipe文件夹,展示了软件内部结构。每个recipe对应一组Python文件,测试开始时,PC端的Python代码会被下载到TU中执行。TU内部运行嵌入式Linux,并且FPGA里集成ARM处理器。Python脚本在ARM处理器上控制测试流程,而高速实时序列由FPGA逻辑执行。这里可以理解成两层架构:上层是Python和recipe,负责描述测试流程、设备管理、算法逻辑、参数选择、数据记录等。下层是FPGA,负责高速信号生成、命令执行、响应捕获和实时控制。为了让用户能够扩展,系统提供了device library和test library。比如某个YMTC QLC器件可以继承前一代device class,再增加新的page结构、program algorithm、feature setting等描述。用户也可以创建新的test function,或者修改已有recipe。更底层的复杂命令序列,则可以通过类似Op Code Builder的机制生成。Python代码描述要执行的NAND命令、地址、等待时间、data in、trigger等,系统把这些描述转成FPGA可以执行的sequence。真正高速执行的时候,不是Python在实时bit-banging,而是FPGA按预先生成的sequence执行。这点很关键。因为很多人一听“Python控制”,会担心速度不够。实际上Python主要负责流程和描述,真正高速时序由FPGA执行。十、关于自动化:当前以GUI为主,未来支持API调用客户随后问到一个很实际的问题:能不能脱离Windows GUI,用自己的Python脚本或自动化平台直接调用API跑测试?厂商的回答是当前系统主流使用方式还是在Windows PC上安装NanoCycler软件,通过GUI创建、管理和运行recipe。也就是说,买回系统后,现阶段大多数客户仍然是通过软件界面来启动测试、监控状态、查看结果。但厂商也表示,如果客户未来确实需要更高程度自动化,可以开发一个中间层软件。这个中间层可以负责下载测试recipe、启动测试、监控状态、获取结果等操作。它不一定具备完整GUI功能,但可以满足自动化调度和脚本集成的需求。从客户场景看,这一点非常重要。研发早期,工程师通过GUI搭建flow、调试recipe是合理的;但一旦进入批量验证、长时间可靠性测试、夜间自动运行、多设备并发管理,就会更需要脚本化、自动化、可集成的接口。因此,这套系统当前是“GUI + recipe + Python脚本”的开放结构;如果未来客户有明确自动化需求,可以进一步推进API层开发。十一、数据传输和NFS:NAND接口速度和结果回传速度是两回事现场还有一个容易混淆的问题:NAND接口速度和测试结果回传到PC的速度不是一回事。客户问,虽然NAND侧NFI接口可以到2.4GT/s,那么从FPGA或SD卡到PC、服务器的数据传输速度是多少?厂商解释,FPGA到NAND device之间,在program/read操作中可以按NAND接口速度工作;但测试结果回传到PC是通过LAN网络。每个card到电脑之间一般是1GbE链路,具体吞吐还取决于系统配置、交换结构、并发数量等。这也是为什么厂商建议使用NFS。对于某些会产生大量数据的测试,例如Vth dump、read offset大范围扫描,如果让GUI轮询方式慢慢收集结果,会明显拖慢效率;而通过NFS让每个TU直接把结果写到主控电脑或服务器磁盘,则更适合高数据量测试。这也是实验室部署时必须提前考虑的问题:测试设备本身能跑高速NAND接口,不代表PC端数据管理就自动足够。网络、磁盘、NFS、数据归档策略,都要和测试规模匹配。十二、状态监控:不仅能polling,还能看FPGA捕获的信号状态客户还问到program time是如何监控的:是通过R/B信号,还是通过polling status?厂商说明,系统可以通过FPGA监控每个信号状态,因此在读取program、read等很短时间事件时可以做到较高精度。厂商还举了一个例子:之前有客户的芯片R/B行为不正常,导致原有方式无法工作,后来通过修改软件,引入软件polling方式解决。虽然软件polling会慢一些,但可以绕过器件异常行为。这说明系统的灵活性不仅体现在“能不能写Python”,也体现在面对非标准器件、早期样片、异常接口行为时,能不能调整底层交互方式。对于研发阶段的NAND芯片来说,这种能力往往比标准功能列表更重要。十三、LTT/PI-LTT:近期能用,长期要看硬件升级路径最后一段技术讨论集中在LTT/PI-LTT (Power Isolated Low Tapped Termination)支持。客户最关心的是:未来某些NAND device可能只支持LTT或PI-LTT,如果现在采购系统,后续是否还能升级?厂商解释,目前FPGA本身并不是原生LTT模式,但可以通过模拟方式让device端工作在LTT模式。这里有两种情况:如果FPGA侧采用unterminated logic方式模拟,速度大约受限在800MT/s到1GT/s附近,具体还取决于器件本身。如果device工作在LTT模式,但FPGA侧保持center-tap terminated模式,通过这种混合方式,经验上可以做到1.6GT/s左右,但达不到2.4GT/s。厂商也提到已有大客户采用类似方案,并验证了可用性。对于当前阶段,如果客户近期需求主要是0~85℃、BGA152/BGA154、标准测试和部分LTT emulation,这个方案基本可以覆盖。但如果未来明确需要完整PI-LTT或更高速度LTT支持,还是要提前规划硬件升级路径,尤其是BGA154+相关配置。这也是本次交流最后形成配置讨论的原因:客户希望保留一部分BGA152/BGA132兼容能力,因为现有市场和历史器件仍有使用;但未来主流会转向BGA154,特别是BGA154+(支持SCA必须该型号的TU)与LTT支持。因此最终配置不能只按当前样片来定,还要考虑未来两三年的器件接口演进。注意:SCA 在半导体和存储领域主要代表 Separate Command and Address(独立命令与地址)。它是一种针对 NAND Flash 闪存接口的新一代技术架构。十四、最后的配置讨论:技术满足只是第一步,预算和空间同样重要技术演示结束后,双方回到报价和配置。客户当前还处于调研阶段,希望先从技术可行性、实验室部署、温度覆盖、接口支持、软件开放性、后续升级路径等方面评估整体方案,再根据预算决定配置。现场讨论了三类组合: 一种是相对经济的48端口小机架方案; 一种是空间利用率更高但成本更高的84端口方案; 还有一种是根据BGA152/BGA154比例、是否配置BGA154+、是否增加低温扩展fixture来组合的混合方案。从客户反馈看,0~85℃是必须覆盖的底线;BGA154+是未来重点;BGA152/BGA132需要保留一部分用于现有器件;LTT能力虽然当前未必马上大量使用,但对未来升级非常关键。结语:真正的NAND测试,是把芯片行为一层层剥开这次技术交流给人的最大感受是:真正的闪存测试,并不是把芯片放进socket,点击start,然后等一个pass/fail结果。对NAND研发工程师来说,真正关心的是:为什么这个page的BER在某个read offset下突然变差? 为什么某个word line的Vth分布比相邻word line更宽? 为什么single plane和multi-plane操作下电流峰值差这么多? 为什么同样设定80℃,不同die的温度并不一致? 为什么某个program sequence在这个器件上可以工作,在另一个样片上却失败? 为什么R/B行为异常时,系统还能不能换一种方式监控状态? 未来器件进入LTT/PI-LTT模式后,现有测试系统还能不能继续用?这些问题,才是裸NAND测试系统真正要解决的事情。从这次现场演示看,这套系统的价值并不只是端口数量,也不只是最高2.4GT/s接口速度,而是它把硬件socket、温控、FPGA高速执行、Python recipe、Vth分析、功耗捕获、sequence调试、数据导出和未来自动化扩展放在了同一个平台里。对于正在做NAND Flash研发、SSD控制器验证、企业级存储可靠性分析的团队来说,这类工具的意义在于:它让工程师不再只看到SSD层面的结果,而是能够真正回到NAND芯片本身,看到每一次读、写、擦、漂移、升温和异常背后的底层行为。一颗NAND芯片放上去之后,真正的测试才刚刚开始。更多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公众号,点击底部菜单栏即可免费获取。如有任何技术问题,也可直接在公众号内留言交流。
    2026-06-16 10:49:29
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 44
    • 电话:(021)5080-7071; 131-2785-6862

      在这里输入描述
    • www.saniffer.cn

      在这里输入描述
    • 邮箱:sales@saniffer.com

      在这里输入描述
    • 地址:上海市浦东新区张江路505号1号楼1605-1单元

      在这里输入描述

    关注微信公众号

    上海森弗信息技术有限公司 备案号:沪ICP备2024076352号-1

    版权所有 © 上海森弗信息技术有限公司 技术支持:竹子建站