Memory及其controller芯片整体测试方案(上篇)
如果你最近想买手机,没准儿你一看价格会被吓到
手机什么时候偷偷涨价啦!
其实对于手机涨价,手机制造商也是有苦难言,其中一个显著的原因是存储器芯片价格的上涨↗↗↗
>>> 存储器memory的江湖地位
存储器memory,是电子设备的基础核心部件之一,全球memory市场规模约700亿美元,在全球3352亿美元的集成电路产业中,占据23%的份额。
随着今年存储器价格的飙涨,各大memory厂商赚得盆满钵满,甚至把memory称为印钞机也丝毫不为过。与此同时,存储器在真金白银的交换中,也充分证明了自己在电子信息产业江湖中的地位。
>>> 存储器的分类
存储介质的形式有很多种,从穿孔纸卡、磁鼓、磁芯、磁带、磁盘,到半导体DRAM内存,以及SD卡,固态硬盘、SSD、闪存等各种存储介质。
存储器大致可以分为掉电易失性(Volatile Memory)和非掉电易失性(Non-volatile memory)。
目前全球存储器市场最大的集中在
DRAM、NAND Flash、NORFlash三大类
这三类存储器,主要用在哪里呢?
以手机举例——
DRAM
4GB就是内存部分,DRAM,用来存放当前正在执行的数据和程序, 例如屏幕前的你正在刷的微信;
NAND FLASH
64GB就是闪存部分,NAND FLASH,用来存放长期信息,例如各位宝宝的美颜美照,你的聊天记录,还有其他……
当然了,也正是因为我们存的东西越来越多,二维空间已经无法存放这么多的信息,生生逼着NAND走向了三维空间,也就是3D NAND。
▲ 3D NAND的构造就像一个摩天大楼
此外,一些新型的存储器也在研究的过程中,例如磁阻式RAM (MRAM--ST-MRAM、STT-MRAM)、电阻式RAM(ReRAM),PRAM、FeRAM等。
了解了Memory的庞大家族,和主要成员之后,我们回到老本行,来研究一下memory的测试方法。
按照Memory的设计制造working flow及其辅助电路,测试环节大致分为以下几个部分:
Cell level --design andmodeling 单元设计、评估及建模
Wafer level –acceptance test代工厂晶圆级自动化测试
Chip level --Protocolvalidation 芯片级协议分析
Controller IC – Interfacemeasurement控制芯片接口测试
Module level 以SSD为例
接下来我们分上、下两篇分别讲解
这5个部分的详细测试方法和测试方案
{ 第一部分 }
Typical Cell evaluation of NVM – flash memory
三大问题,一个对策,你值得拥有
当前主流的NVM由于读写速度快,测试序列复杂,因此在测试时需要
High pulse quality 高质量的脉冲
Complex waveform generation复杂的信号生成
Higher throughput 高吞吐率
典型的memory cell测试主要分为3部分:
1、Write / Erase pulse width dependency
2、Endurance test
3、Disturb test
1
Write / Erase pulse width dependency
流程如下
问题 1-a) 脉冲波形失真
根据以上测试流程,首先我们的工程师编写程序写进一个理想脉冲。
然而由于传输线的多重反射及电感效应,实际测试脉冲已经引入了失真:
问题 1-b) 复杂的时序图生成
时钟的同步、延时、脉宽、上升下降沿,都是要考虑的因素
2
Endurance Test的流程如下
问题2-a) 超长疲劳测试时间
Issue 2-b) 还是波形产生的问题,在疲劳测试中需要为memory cell注入多电压信号脉冲,以测试memory的性能
3
Disturb test
Issue 3-a) 测试设备的灵活性,例如:在两个cell上同时加压,一个为工作单元, 一个为干扰单元
Issue 3-b) 要求比较高的电压加速degradation (e.g. > 40Vfor NAND)
总结以上部分,可得在存储器单元主要三种功能测试中,主要的测试挑战如下
面对如此错综复杂的考量,正确的方法,是使用Keysight HV-SPGU module in B1500A(HighVoltage Semiconductor Pulse Generator Unit),这是基于Keysight半导体参数分析仪(也就是Tracer)B1500A的高压脉冲产生单元,它可以产生± 40V的电压脉冲,用于memory cell 的disturb test。
从正面面板,可以看到这一个可配置于B1500A的模块,每个模块有两个channel,也就是说对于5插槽的B1500A,最高可以配置10个channel。
除了高压、通道数之外,我们接下来来了解一下它在复杂波形生成、超高脉冲精度、以及测试软件等方面的能力,看它是如何在方方面面满足memory cell测试的全部要求。
>>> 看精度
如此好的精度,带来的直接好处,就是脉冲建立时,overshoot和振铃都非常小,来看几种电压和建立时间的组合:
▲ Ttransient=20ns;Vamp=10V
▲ Ttransient=20ns;Vamp=20V
▲ Ttransient=30ns;Vamp=40V
>>>看测试场景
33种测试场景,贴心内置
>>>看速度:
Estimated test time
for one millioncycle endurance test
20倍加速,再也不用等待那么长的时间。
{ 第二部分 }
On-wafer massiveparametric test for memory
第一部分居然罗里吧嗦讲了这么长,弄得小编开始怀疑自己的年龄。为了证明小编还年轻,决定一言不发,甩2张图直截了当简单粗暴快刀斩乱麻结束这一部分![]()
Memory及其controller芯片整体测试方案(上篇)的更多相关文章
- Memory及其controller芯片整体测试方案(下篇)
{ 第三部分 } DDR总线的设计.调试和验证 在计算机架构中,DDR作为程序运算的动态存储器,面对如高性能计算.图形计算.移动计算.工业应用等领域的要求,发展出DDR4,以及用于图形计算的G ...
- 从Google开源RE2库学习到的C++测试方案
最近因为科研需求,一直在研究Google的开源RE2库(正则表达式识别库),库源码体积庞大,用C++写的,对于我这个以前专供Java的人来说真的是一件很痛苦的事,每天只能啃一点点.今天研究了下里面用到 ...
- Android MediaCodec硬编兼容性测试方案
作者:阿宝 更新:2016-08-15 来源:彩色世界(https://blog.hz601.org/2016/08/15/android-mediacodec-hardcode-compatibil ...
- 从轻测到上线,WeTest与《一起来捉妖》测试方案大公开
从2016年Pokémon GO引发的AR游戏热潮开始,国内就一直在期待新的一款具备代表性的AR游戏的头部作品. 4月11日的腾讯首款AR探索手游<一起来捉妖>不仅为国内市场注入了新的活力 ...
- 软件测试相关术语(测试策略 && 测试方案 ....)
软件测试有几种不同的定义方法: a.软件测试是为了发现程序中的错误而执行程序的过程. b.软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并运用这些测试用例运行程序,以 ...
- Web应用程序整体测试基础——单元测试
近年来,随着基于B/S结构的大型应用越来越多,Web应用程序测试问题也在逐步完善中.但Web应用程序测试既可以在系统开发中实施,也可以独立于系统单独完成,这取决于Web应用程序的复杂性和多样性.同时程 ...
- HttpDNS的坑以及一个针对安卓不太完善的测试方案
背景:单位因为域名劫持(具体表象是某个地区的用户ping不通域名或者因为DNS解析的ip跨网段导致访问速度很慢)需要运维经常去定位,于是提出了httpDNS方案. 想法是美好的,现实是残酷的.没引入这 ...
- 手机APP测试技术-整体测试流程框架
一 手机APP测试基本思路: 测试计划--测试方案--测试用例--执行: 很多小公司都没有具体的需求,项目时间也比较紧,而且流程也不是很严谨,在这样的情况之下,作为测试的我们,该怎样去对项目进行用例 ...
- 移动弱网测试方案Network Emulator for Windows Toolkit
移动app在测试时,有时需要考虑弱网的情形下,app的表现,那么怎么营造这样子的环境呢? 一.首先需要控制网络,有两种方式其一使用网络损伤仪进行,其二采用软件方式.硬件采购费用太贵,因此使用win平台 ...
随机推荐
- linux中删除文件内空白行的几种方法。
linux中删除文件内空白行的几种方法 有时你可能需要在 Linux 中删除某个文件中的空行.如果是的,你可以使用下面方法中的其中一个.有很多方法可以做到,但我在这里只是列举一些简单的方法. 你可能已 ...
- react基本demo详解
一.react的优势 1.React速度很快:它并不直接对DOM进行操作,引入了一个叫做虚拟DOM的概念,安插在javascript逻辑和实际的DOM之间,性能好. 2.跨浏览器兼容:虚拟DOM帮助我 ...
- 高性能MySQL--innodb中事务的隔离级别与锁的关系
最近买了<高性能MySQL>这本书回来看,从中收益颇多!我来一吐为快! 我们都知道事务,那么在什么情况下我们需要使用事务呢? 银行应用是解释事务的一个经典例子.假设一个银行的数据库有两张表 ...
- python中函数参数的引用方式
值传递和引用传递时C++中的概念,在python中函数参数的传递是变量指向的对象的物理内存地址!!! python不允许程序员选择采用传值还是传引用.Python参数传递采用的肯定是“传对象引用”的方 ...
- socketpair通信
1.线程间通信(参考安卓源码InputTransport.cpp) #include <pthread.h> #include <sys/types.h> /* See NOT ...
- ruby中的respond to ?用法
今天写脚本,遇到了这个函数,遂搜索及阅读相关代码,整理如下: respond_to 是判断是否是某个类型的方法,比如: ar = "ss" p ar.respond_to?(:to ...
- vim 配色方案
1. 自己电脑上的vim 注释很难看清,又不想取消高亮.原来显示: 在 if has("syntax") syntax onendif 语句下面追加一句: colorscheme ...
- 为什么我要放弃javaScript数据结构与算法(第八章)—— 树
之前介绍了一些顺序数据结构,介绍的第一个非顺序数据结构是散列表.本章才会学习另一种非顺序数据结构--树,它对于存储需要快速寻找的数据非常有用. 本章内容 树的相关术语 创建树数据结构 树的遍历 添加和 ...
- uCrop 源码剖析
GitHub: uCrop, 版本为 2.2.2 主要是探究一下内部对于图片按比例的裁剪以及压缩, 应该会更很长一段时间 疑惑点 这里记下一些源码分析过程中遇到的疑惑点 sample/src/main ...
- c++ singleton
http://www.yolinux.com/TUTORIALS/C++Singleton.html