一种基于FPGA的通用闪存测试系统的制作方法

文档序号:16989819发布日期:2019-03-02 00:52阅读:576来源:国知局
一种基于FPGA的通用闪存测试系统的制作方法

本发明属于通用闪存(ufs)的测试领域,具体涉及一种基于fpga的通用闪存测试系统。



背景技术:

ufs(universalflashstorage通用闪存),是由联合电子设备工程委员会(jedec)标准定义的用于高数据传输速度和低功耗的闪存系统。unifiedprotocol(统ー协议),是一种针对利用高速串行链路的芯片到芯片(chip-to-chip)的应用。unipro被定义为通用协议,该协议解决例如错误处理、流量控制、路由或仲裁的一般互连问题。unipro支持m-phy链路,m-phy提供两种传输模式即低速和高速,每种模式支持多速传动(multiplespeedgears),并且m-phy还支持多种省电状态:stall,用于高速模式;sleep,用于低速模式;和hibern8。stall和sleep在它们相应的传输模式中被优化用于快速唤醒,而hibern8为具有较长唤醒时间的极低功率模式。m-phy不同于互连线中使用的其它现有的高速、嵌入时钟的phy(物理层),例如,通常被称为pcie的标准中所限定的那些phy,因为m-phy被优化用于低功率。尽管pcie也具有省电状态,但是它们仅具有ー种传输模式,这与m-phy相反,m-phy具有高速(且较高功率)传输模式和低速(且较低功率)传输模式。这使m-phy控制较复杂,因为需要管理支持两种传输模式所需的所有状态。

ufs使用mipi(mobileindustryprocessorinterface移动工业处理器接口)联盟开发的m-phy物理层,拥有2.9gbps每线程至5.8gbps每线程的速度。ufs实现了一个全双工的lvds串口,较8个平行线程的emmc而言拥有更宽的带宽。ufs相较emmc最大的不同是并行信号改为了更加先进的串行信号,从而可以迅速提高频率;同时半双工改为全双工;ufs基于scsi(smallcomputersysteminterface小型计算机系统接口)结构模型以及支持scsi标记指令序列;linux内核已经支持ufs格式。

该规范获得数家消费性电子产品市场领导者的支持,包括诺基亚、索尼移动通信、德州仪器、意法半导体、三星、美光、sk海力士等。ufs包含了现有移动终端设备中使用的emmc(embeddedmultimediacard嵌入式多媒体卡)、tinyssd(tinysolid-statedrive微型固态硬盘)的优点,ufs非常适合要求高性能需求与低功耗需求相结合的移动终端(如移动电话、便携计算机、手持设备、平板电脑等)应用,ufs被视作emmc和sd卡的取代者。

目前市场上的ufs测试设备很少,测试方法大多基于asic(application-specificintegratedcircuit专用集成电路),其主要原理为,根据需求将待测通用闪存(deviceundertest,被测器件dut)的测试电路(包括软件)封装成芯片,驱动芯片对dut进行测试。其缺点在于,这种测试形式的扩展性有限,每次测试的dut数量有限,测试的效率不高。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于fpga的通用闪存测试系统,至少可以部分解决上述问题。本发明技术方案针对目前的通用闪存(ufs)测试设备少、方法因循守旧、测试效率低的情况,通过fpga对多个通用闪存测试单元进行管理,可以同时对多个待测通用闪存(dut)进行测试,无须针对dut另行封装通用闪存测试单元芯片进行测试。

为实现上述目的,按照本发明的一个方面,提供了一种基于fpga的通用闪存测试系统,包括ufs主控器、unipro、m-phy和fpga,其特征在于,所述ufs主控器、unipro和m-phy顺次相连接,共同形成一个通用闪存测试单元并设置在fpga中,所述m-phy与待测通用闪存对应连接;所述fpga对通用闪存测试单元进行逻辑编程,进而驱动ufs主控器对相应的待测通用闪存进行性能测试。

作为本发明技术方案的一个优选,通用闪存测试单元中包括两个m-phy,每个m-phy对应与一个待测通用闪存相连接。

作为本发明技术方案的一个优选,m-phy外部电路上设置有物理开关,fpga根据链路状态控制物理开关实现开启或者关闭,以完成待测通用闪存的测试。

作为本发明技术方案的一个优选,每个fpga中设置有1~4个通用闪存测试单元。

作为本发明技术方案的一个优选,每个fpga中设置有2个通用闪存测试单元。

作为本发明技术方案的一个优选,m-phy与待测通用闪存之间优选通过老化接口板连接器相连接。

作为本发明技术方案的一个优选,fpga核心板和所述待测通用闪存优选采用正反安装的方式集成布置,以便对多个待测通用闪存进行集中测试。

作为本发明技术方案的一个优选,fpga核心板优选按照阵列形式顺次排布,每个fpga核心板上设置有至少一个通用闪存测试单元,用于对所述单板上对应设置的待测通用闪存进行测试。

作为本发明技术方案的一个优选,m-phy中设置有多种层协议,用于实现不同数据层之间的信息传递。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:

1)本发明技术方案,将ufs的通用闪存测试单元设置在fpga核心板上,通过fpga驱动通用闪存测试单元对dut进行测试,每个通用闪存测试单元无须特别设置(无须特别封装)即可对对应的dut进行测试,fpga可以随时对测试内容进行调整,获得更好地测试效果。

2)本发明技术方案,由于采用的是fpga驱动形式,其具有良好的扩展性,每个fpga上可以集成至少一个通用闪存测试单元,每个通用闪存测试单元可以对两个dut进行测试,在fpga的统一驱动下,可以在提高扩展性的同时对多个dut进行测试,提高了dut的测试效率。

附图说明

图1是本发明技术方案的实施例中基于fpga的通用闪存测试系统的框架示意图;

图2是本发明技术方案的实施例中ufs主控制器模块的框架示意图;

图3是本发明技术方案的实施例中unipro模块的框架示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面结合具体实施方式对本发明进一步详细说明。

如图1所示是本发明技术方案实施例的通用闪存测试系统框架示意图,其中本方案中测试单元fpga核心板(fpgacoreboard)与dut(ufsdevice)优选放置在同一块单板上,采用正反安装的方式,ufs主控制器、unipro、m-phy都在fpga内部实现,每个ufs接口优选最多支持2lane,每个fpga优选支持1~4个ufs,本实施例中是2个。本实施例中,常见的单板有pcb板等,其作为承载fpga核心板和通用闪存测试单元的主要结构,具有便于上述器件安装拆卸的等优点。

同时,采用fpga驱动ufs主控制器、unipro和m-phy等组成的通用闪存测试单元,这就使得无须对通用闪存测试单元进行封装,也不需要提供额外的驱动源,整体具有较强的扩展性。由于fpga具有可编程性,从而无须对通用闪存测试单元进行额外的封装,可以针对不同需求对通用闪存测试单元的测试过程进行调整。

如图1所示,本实施例中fpga核心板安装在单板上,fpga中设置有ufs主控器、unipro和m-phy等结构,具体来说,上述ufs主控器、unipro和m-phy顺次连接,每个unipro上可以连接不止一个m-phy,本实施例中,采用的是一个ufs主控器与一个unipro相连接,然后每个unipro对应与两个m-phy相连接的测试形式。也就是说,本实施中,一个通用闪存测试单元优选设有两个m-phy,即一个通用闪存测试单元承担两个待测通用闪存的测试任务。

进一步地,本实施例中,每个m-phy都是通过bibconnector(burn-ininterfaceboardconnector,老化接口板连接器)与对应的dut相连接的,每个m-phy都是通过老化接口板连接器对应连接一个dut。

本实施例中,m-phy外部电路上还设置有物理开关,该物理开关用于实现对m-phy外部电路在高速模式、低速模式以及低功耗模式之间进行切换,上述外部电路可以进一步辅助通用闪存测试单元完成dut的性能检测。且,上述物理开关优选通过fpga直接进行控制。

作为本实施例的进一步优选,上述ufs主控器、unipro和m-phy顺次相连接,共同形成一个通用闪存测试单元,而每个fpga核心板上可以集成安装有多个通用闪存测试单元,形成一个通用闪存测试结构,该基于fpga的通用闪存测试结构可以根据需求进行进一步的扩展,形成通用闪存测试阵列。如图1所示即为本实施中一种优选的通用闪存测试阵列的具体表现形式。

ufs存储器及其与主机的接口可能包括多个层以支持通用闪存测试单元的各个组成部分所需要的标准。主机可以包括jedec标准中定义的主机控制器接口(hci)和ufs传输协议(utp),以及由mipi联盟定义的unipro(unifiedprotocol统一协议)和称为m-phy的物理接口。在主机内部,unipro和m-phy被设计成通过接口或总线进行通信,这种接口或总线称为rmmi(参考m-phy模块接口),该接口也在mipi标准中定义。

与主机通信的ufs存储系统还可以包括对应层、utp、unipro和m-phy。每个m-phy支持一个特定数量的位或引脚,即以lane为单位。根据特定的实现,ufs设备可以支持一个或多个lane。嵌入式ufs通常是单lane设备,但对支持双lane的嵌入式ufs设备的需求越来越大。ufs卡通常是可移动的设备,并且支持单lane的存储通信。

作为本实施例的进一步优选,通用闪存测试单元中,ufs主控器优选ufs2.1hostcontrollerinterface(hci),unipro优选mipiuniproversion1.6,m-phy优选mipim-phyversion3.1。

具体来说,本实施例中所采用的ufs主控器的原理框架如图2所示,其中包括ufs主寄存器、ufs控制器接口、ufs传输协议层以及系统总线接口单元等。各部分的功能如下:

1)ufs主寄存器:ufs主寄存器(ufshostregisters)用于控制主机控制器的操作,并从主机控制器读取状态和中断信息。可以作为内存映射io空间(mmio)实现的。

2)ufs控制器接口:主机软件和ufs设备之间的通信由ufs主控制器接口使用直接存储器访问(dma)来管理。

3)ufs传输协议层:ufs主机以ufs协议信息单元(upiu)格式发送命令、任务和数据。utp(ufstransportprotocol,ufs传输协议)块负责以upiu格式构造命令、任务和数据。

4)系统总线接口单元:unipro使用axi作为系统总线接口。axi从接口使用32位数据传输宽度进行寄存器读/写操作。axi主接口使用32位/64位数据传输宽度用于dma(directmemoryaccess直接存储器访问)操作。

作为本实施例的一个具体的优选,unipro模块的原理图如图3所示,其中包括dma寄存器、dma控制器、设备管理实体、传输层、网络层、数据链路层、物理适配器层等,每个模块的具体功能如下:

1)dma寄存器:dma寄存器用于控制dma控制器的操作,并读取状态和中断信息,这是作为mmio(memorymappedio内存映射io)空间实现的。

2)dma控制器:dma控制器是一种功能强大的基于分散聚集的直接存储器访问,具有三个描述符线程,具有可编程的突发大小,提供了较低的cpu利用率。dma可以在32位或64位数据传输模式下工作。在axi总线上的传输大小也可以相应的改变。

dma将数据传输到或者从fifo接口和主机存储器中的数据缓冲区。驻留在主机存储器中的描述符充当指向这些缓冲区的指针。dma支持独立的发送和接收操作,并由一组寄存器(称为dma寄存器)控制。

3)设备管理实体:设备管理实体使用ufs互连层(uic)命令寄存器来配置和控制单元,如链路初始化、电源模式改变、hibernate(不丢失配置信息的最深低功耗状态)进入/退出、端点重置、在unipro本地或对等端设置/获取任何属性都是由软件使用uic命令寄存器完成的。

4)传输层:传输层是unipro覆盖的最高协议层。传输层支持端点设备之间的多个双向连接。unipro保证通过单个连接发送的数据以相同的发送顺序到达。通过单个连接发送的所有数据都具有相同的通信类号(tc0)。传输层的协议数据单元(pdu)称为段。

5)网络层:网络层的目的是允许在网络环境中将数据路由到适当的目的地。源设备负责提供它想要通信的目标设备的地址。

6)数据链路层:数据链路层的功能包括,流量控制机制、afc帧发送/接收、crc生成/检查,以及将l2帧头和帧尾信息添加到传输层/网络层的段中,并通过物理配器层发送;和从物理适配层接收到的帧中删除l2帧头和帧尾信息,并跨传输层/网络层发送。

7)物理适配器层:包括a)链路初始化、电源管理、休眠、pacp帧处理以获取/设置本地或对等端的任何功能;b)与m-phy(type-i)接口,通过物理通道发送/接收帧;c)跳过符号插入以减少发射机的协议有效负载带宽,以补偿快速发射和慢接收之间的符号间隔公差;d)hs-g3支持,用于支持1lane和2lane工作模式以及2lane工作模式下的lane管理。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1