硬件探秘:企业级SSD NAND信号完整性挑战
PCIe从4.0发展到5.0,企业级SSD的性能标准从7GB/s变成了14GB/s。数据的爆发式增加,企业级SSD的容量需求越来越大,大容量SSD里面的NAND数量也在成倍增加。NAND数量越多,对信号带来的负载就越大;SSD的性能越高,对NAND实际达成的接口速率、信号完整性的要求也就越高。
如何充分发挥NAND性能,是打造高性能、大容量企业级SSD的重要课题。日前,Memblaze硬件开发高级总监倪勇在长江存储2022晶栈Xtacking线上沙龙企业级专场中,就NAND信号速率的提升和完整性方面的挑战,发表了主题演讲。
目前规模化量产的产品中,NAND接口速率可以做到1200MT/s左右,搭配8通道控制器刚好能够满足PCIe 4.0 SSD的前端带宽要求。而在下一代企业级SSD产品设计中,PCIe将升级至5.0,带宽翻倍,届时,NAND是否能够跑满2400MT/s的I/O速率,这将是SSD设计时需要重点考虑的问题。
通常来说,在SSD的设计方案中,影响NAND接口速率的因素有以下几点:
一、NAND封装技术对信号速率的影响
Die 外围电路设计带来的影响
按照堆叠技术的不同,Die外围电路的设计主要有三种方式:CNA、CUA和CBA,其中,CNA存储单元与外围电路水平布局,技术成熟,简单易用。CUA、CBA存储单元与外围电路垂直立体布局,其制造工艺虽然更加复杂,但成品Die的面积更小,成本更低,由于外围电路与存储单元更近更直接,使得NAND可以实现更高的接口速率。
值得一提的是,长江存储的Xtacking架构,同样也是采用了外围电路与存储单元的垂直布局方式,其优势在于外围电路和存储单元晶圆可分开加工,通过晶圆键合技术将他们联接在一起,具有更高的技术难度和技术领先性。
多Die封装的NAND,Die的数量和堆叠方式也会影响接口速率
以BGA132封装,包含2颗Die的NAND为例,通常NAND封装对外会暴露两组总线,即每个Die分别对应一组总线,分别是Bus0和Bus1,Die的堆叠方式按照其形状不同,也会分为两种,如图所示:
由于BGA132封装的外部信号总线分布位置是固定的,两种不同的Die堆叠方式在封装基板的设计上,会存在不同的布线长度。
- 堆叠A由于Die的Bonding线在左右两侧,而基板上的BGA pin在上下两侧,传输线的长度更长,对于信号会有更大的不利影响,尤其是一个通道接两片NAND的布线拓扑中,会表现出更加严重的信号反射。
- 堆叠B的NAND封装基板上布线要更短一些,因此对信号的影响会更弱一些。
NAND的封装尺寸与工艺,对NAND的信号速率的影响
通过仿真模拟,我们比对了相同供应商、相同技术工艺、相同Die数量的NAND,其BGA154封装的仿真模型寄生参数只有BGA132的50%左右,这意味着,在控制器、拓扑和信号速率相同的前提下,使用BGA154可以获得更好的NAND信号眼图,带来更高的信号稳定性,同时,BGA154更小的尺寸也会为PCB的设计带来便利。
标题SSD板级布线拓扑
看完NAND,我们再来看下PCB设计方面,影响信号速率的几个关键点:
单个总线通道上挂接的NAND数量越少,越容易获得更高的信号速率。端到端单点连接方式是最理想的,目前常规应用中,一个通道挂接2颗NAND已经达到直连拓扑下的负载极限。
在单个总线通道挂接多Die的拓扑中,尽可能的缩短PCB布线分支长度,可以有效降低PCB布线对信号完整性的影响。如利用NAND或控制器的Data Mirror特性,可以很好地降低背靠背焊接的两片NAND布线分支长度。
单个总线通道挂接多Die的拓扑中,IO buffer电路可以有效提升信号速率,并对高性能大容量SSD的设计带来便利。它分为外置独立的总线buffer和NAND 内置的buffer两种,其中,外置buffer无论在成本还是布线复杂度上都存在很大的挑战;内置IO buffer对布线影响较小,但NAND成本会有所增加。
我们在同一个设计里面,做了三种不同的仿真拓扑,控制器相同,NAND数量一致(两颗16 Die的NAND挂在同一组总线上),布线长度接近的情况下,使用Target ODT能跑到600MT/s,Non-Target ODT可以达到800MT/s,如果使用IO buffer,无论内置还是外置,同样的NAND数量下,可以达到1200MT/s。这三种不同拓扑的效果一目了然。
标题信号仿真与测试
SSD从采用DDR接口开始,信号完整性的仿真就已经是标准配置,尤其是在Gbps以上的信号速率,没有仿真寸步难行。所以信号完整性仿真是必须要覆盖的设计项目,用以确定前期的拓扑方案,驱动和端接选择。
仿真之后需要进行测试,由于测试本身存在局限性,如测试点的位置确定,测试覆盖率等,使得测试无法成为系统信号完整性的直接证明。所以需要通过仿真与测试的Co-relation对比,来验证仿真结果与最终实现的一致性,从而确定最终的仿真模型,并在此基础上进行整板全信号仿真,以覆盖所有的信号。
除了信号之外,需要重视电源完整性对信号完整性的影响,滤波电路的选取,电源的设计与测量结果,也是影响信号质量的直接因素。
如上图所示,左侧图例是对一组总线挂接两颗NAND,ODP+ODP的读写信号仿真结果,速率在1200MT/s。
而右侧图例所示,是NAND读写信号的测试点测试结果,以及根据对测试点的信号仿真,提取仿真波形,最终与测试波形进行拟合。拟合成功则认为仿真模型的结果与实际实现相匹配,那么需要在这个仿真模型下,再进行全信号的总线仿真,以确保覆盖所有信号的完整性评估。
标题SSD系统软件配置
最后,我们还总结出了一些常用的,可以进一步调优信号完整性,评估信号可靠度裕量的手段:
- 充分利用NAND的feature,来优化信号质量,比如ZQ Calibration,Vref Training等。
- 通过NAND的TX/RX training来优化信号窗口。
- 多样本下的读写操作,通过LDPC纠错率,Read Retry次数等,可以判断系统传输上的NAND信号质量。
- 针对NAND接口进行EST测试,可以进一步评估系统的可靠性裕量。
以上是Memblaze在长江存储2022晶栈Xtacking线上沙龙企业级专场,针对NAND接口速率对高性能SSD硬件设计带来的挑战与应对的一些总结。Memblaze始终以打造高性能、高可靠性企业级SSD为己任,致力于推动国产企业级SSD发挥更大价值。
本次演讲只是一个开始,更多精彩,敬请期待!
硬件探秘:企业级SSD NAND信号完整性挑战相关推荐
- 从零开始学信号完整性(SIPI)--3 SI面临的挑战以及基于SI的设计方法
信号完整性面临的挑战 早在十几年前信号完整性还并没有进入硬件工程师的视野,工程师对付干扰.噪声等问题的"三大法宝"就是接地.滤波.屏蔽,这种仅凭工程师的经验的做法显然非常粗放.当时 ...
- 信号完整性与电源完整性分析 第三版 pdf_成本与PCB设计的挑战下,电源完整性仿真工具到底有多重要...
为PCB(印刷电路板)上的芯片提供电能不再是一种简单的工作.过去,通过细走线将IC连接到电源和地就行了,这些走线占不了多少空间.当芯片速度升高时,就要用低阻抗电源为它们供电,如用PCB上的一个电源层. ...
- 硬件系统工程师宝典(3)-----信号完整性分析是个啥?
各位同学大家好,欢迎继续做客电子工程学习圈,今天我们继续来讲这本书,硬件系统工程师宝典.上篇我们读到硬件电路的概要设计需要考虑的问题,相关的可行性分析可以使开发工作事半功倍. 信号完整性分析概述 今天 ...
- Memblaze发布PBlaze5 PCIe NVMe SSD,高品质企业级3D NAND实现容量跃迁
2017年06月21日,中国北京--北京忆恒创源科技有限公司(Memblaze)今天宣布推出新一代PBlaze5 PCIe NVMe SSD产品,包含适用于数据中心大规模部署的700系列及为企业级关键 ...
- 无法写入最后一个_5000GB写入测试!影驰擎GA-E评测:只卖19999元的16TB企业级SSD...
一.前言:16TB!影驰推出擎系列企业及SSD 提到高端固态硬盘的时候,大多数人往往会想到企业级SSD,但是很多人可能都会认为,企业级SSD理所当然的应该卖天价. 其实,企业级产品并非高不可攀.虽然作 ...
- Memblaze发布大容量企业级SSD:支持32T最大容量,性能更强!
2023年1月10日 -- 今天,北京忆恒创源科技股份有限公司(Memblaze)正式发布 PBlaze6 6930 系列 PCIe 4.0 企业级 NVMe SSD.PBlaze6 6930 面向企 ...
- 如何让企业级 SSD 开发驶入“快车道”
SSD是一个复杂而精密的设备,企业级SSD尤为如此.从性能到功能再到可靠性,数据中心对企业级SSD都有非常严苛的要求.例如,一块企业级SSD就算是发生严重故障,也需要把log记录清楚,并且能够从故障中 ...
- 高速系统设计自学笔记——信号完整性2
反射的产生和预防 在电子系统中,一个电气网络就是一系列的金属导体及由这些导体连接在一起的所有输入输出端口的总和,如下图所示的网络结构.从定义上可以看出,一个电气网络应该至少包括三种元素:驱动.负载及互 ...
- 信号完整性分析心得体会_「职场技能」这8个常用信号完整性的测试手段,你知道几个?...
信号完整性设计在产品开发中越来越受到重视,而信号完整性的测试手段种类繁多,有频域,也有时域的,还有一些综合性的手段,比如误码测试.这些手段并非任何情况下都适 合使用,都存在这样那样的局限性,合适选用, ...
最新文章
- Python 之列表及相关练习题
- java option作用_java – 类Option [T]的意义是什么?
- c语言中.h文件中的宏定义,endian.h这个头文件里面的宏可以直接用么?
- Google官方下拉刷新组件---SwipeRefreshLayout
- 锁用不好,可能把自己锁住哦!(解决多线程的死锁问题)
- 理解 Python 中的 *args 和 **kwargs
- 9件事把你从消极情绪中解救出来
- 沉默的证据:今年高考作文题是一场伟大的科普
- HTML5 LocalStorage 本地存储
- MySQL 实例空间使用率过高的原因和解决方法
- Kaggle竞赛实战系列(一):手写数字识别器(Digit Recognizer)得分99.53%、99.91%和100%
- 【综合类型第 16 篇】W3School 离线手册最新版下载
- C语言课设家庭财务小管家(大作业)
- 小议ARM Cortex-m0/m4系列的总线差异
- 有哪些wordpress企业网站主题推荐?
- JavaScript中的随机数--随机点名器
- python--pygame模块--外星人入侵小游戏项目(全)
- [0CTF 2016] piapiapia 题解
- 痞子衡嵌入式:深扒i.MXRTxxx系列ROM中集成的串行NOR Flash启动SW Reset功能及其应用场合...
- python如何切换windows窗口_selenium+python 切换窗口的几种方法
热门文章
- 清华大学 - 操作系统 课程笔记
- Oracle霸榜9年,阿里数据库花3.8亿将其拉下马?
- mysql忽略大小写jpa解决_春数据JPA查询生成忽略大小写,以避免列数据
- SQL server 2008 r2的激活序列号
- Microbiome:环境样品中绝对定量菌群丰度的新方法
- 不要让ChatGPT成为你的智商税
- a算法TSP旅行商java_A*算法解决旅行商问题
- git上传中 :! [rejected] master -> master (fetch first)问题的解决方案
- java获取json数组格式中的值
- HTTPS 协议原理和流程