如果你最近想买手机,没准儿你一看价格会被吓到手机什么时候偷偷涨价啦!

其实对于手机涨价,手机制造商也是有苦难言,其中一个显著的原因是存储器芯片价格的上涨↗↗↗

>>> 存储器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芯片整体测试方案(上篇)的更多相关文章

  1. Memory及其controller芯片整体测试方案(下篇)

    {  第三部分  }  DDR总线的设计.调试和验证  在计算机架构中,DDR作为程序运算的动态存储器,面对如高性能计算.图形计算.移动计算.工业应用等领域的要求,发展出DDR4,以及用于图形计算的G ...

  2. 从Google开源RE2库学习到的C++测试方案

    最近因为科研需求,一直在研究Google的开源RE2库(正则表达式识别库),库源码体积庞大,用C++写的,对于我这个以前专供Java的人来说真的是一件很痛苦的事,每天只能啃一点点.今天研究了下里面用到 ...

  3. Android MediaCodec硬编兼容性测试方案

    作者:阿宝 更新:2016-08-15 来源:彩色世界(https://blog.hz601.org/2016/08/15/android-mediacodec-hardcode-compatibil ...

  4. 从轻测到上线,WeTest与《一起来捉妖》测试方案大公开

    从2016年Pokémon GO引发的AR游戏热潮开始,国内就一直在期待新的一款具备代表性的AR游戏的头部作品. 4月11日的腾讯首款AR探索手游<一起来捉妖>不仅为国内市场注入了新的活力 ...

  5. 软件测试相关术语(测试策略 && 测试方案 ....)

    软件测试有几种不同的定义方法: a.软件测试是为了发现程序中的错误而执行程序的过程. b.软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并运用这些测试用例运行程序,以 ...

  6. Web应用程序整体测试基础——单元测试

    近年来,随着基于B/S结构的大型应用越来越多,Web应用程序测试问题也在逐步完善中.但Web应用程序测试既可以在系统开发中实施,也可以独立于系统单独完成,这取决于Web应用程序的复杂性和多样性.同时程 ...

  7. HttpDNS的坑以及一个针对安卓不太完善的测试方案

    背景:单位因为域名劫持(具体表象是某个地区的用户ping不通域名或者因为DNS解析的ip跨网段导致访问速度很慢)需要运维经常去定位,于是提出了httpDNS方案. 想法是美好的,现实是残酷的.没引入这 ...

  8. 手机APP测试技术-整体测试流程框架

    一  手机APP测试基本思路: 测试计划--测试方案--测试用例--执行: 很多小公司都没有具体的需求,项目时间也比较紧,而且流程也不是很严谨,在这样的情况之下,作为测试的我们,该怎样去对项目进行用例 ...

  9. 移动弱网测试方案Network Emulator for Windows Toolkit

    移动app在测试时,有时需要考虑弱网的情形下,app的表现,那么怎么营造这样子的环境呢? 一.首先需要控制网络,有两种方式其一使用网络损伤仪进行,其二采用软件方式.硬件采购费用太贵,因此使用win平台 ...

随机推荐

  1. python 创建虚拟环境

    创建一个文件夹:mkdir tf_env 进入到文件夹内:cd tf_env 创建虚拟环境:python3 -m venv tensorflow-dev 激活虚拟环境:source tensorflo ...

  2. Springmvc+Spring+Mybatis整合开发(架构搭建)

    Springmvc+Spring+Mybatis整合开发(架构搭建) 0.项目结构 Springmvc:web层 Spring:对象的容器 Mybatis:数据库持久化操作 1.导入所有需要的jar包 ...

  3. operator.attrgetter() 进行对象排序

    ## 使用operator.attrgetter() 进行对象排序 from operator import attrgetter class Student: def __init__(self, ...

  4. php源码建博客4--实现MVC结构微型框架

    主要: 常量优化路径 自动加载类 优化入口文件 安全访问项目目录 --------------文件结构:-------------------------------------- blog├─App ...

  5. 基于TCP/IP的局域网聊天室---C语言

    具备注册账号,群聊,查看在线人员信息,私发文件和接收文件功能,因为每个客户端只有一个属于自己的socket,所以无论客户端是发聊天消息还是文件都是通过这一个socket发送, 这也意味着服务器收发任何 ...

  6. 查看dll 的是32位还是64位

    1. dumpbin 命令 ** dumpbin 路径写入环境变量 ***  使用 dumpbin /headers 文件名去查看 [X86 表示32位  x64表示64位] 2. 使用 DEPEND ...

  7. Java-谈谈对Java平台的理解

    问题 谈谈对 Java 平台的理解 Java是解释执行的 这句话对么 程序的编译与解释有什么区别 Java 平台的了解 Java的主要特点是两个, 编写一次到处运行 Write once, run a ...

  8. PHP.47-TP框架商城应用实例-后台22-权限管理-角色和管理员的关系

    角色和管理员的关系 角色功能 管理员功能 角色与管理的关联要通过管理-角色表进行{多对多} /********* 管理-角色表 *********/ drop if exists p39_admin_ ...

  9. .net core 基于multipart/form-data的文件上传,这里以图片上传为例

    首先传递的数据格式大概如下: 然后就可以在后端获取数据了:直接上代码了哈: [HttpPost]        ///分别获取 data数据和调用图片上传方法 public async Task< ...

  10. MyBatis-参数处理

    1.单个参数 mybatis不会做特殊处理. #{参数名/任意名}:取出参数值. 2.多个参数 mybatis会做特殊处理. 多个参数会被封装成 一个map. key:param1...paramN, ...