一种在FPGA中实现UFS阵列控制器的实现方式制造技术

技术编号:28129806 阅读:33 留言:0更新日期:2021-04-19 11:50
本发明专利技术提供了一种在FPGA中实现UFS阵列控制器的实现方式,通过在UFS控制器与UFSHCI控制器之间增加了一个阵列管理,在FPGA中实现类似于磁盘阵列管理的多个UFSFLASH的阵列控制,UFS阵列控制器包括应用层、协议层和物理层,应用层和物理层采用分层控制,应用层包括三层用于高速数据流的记录,协议层遵循UFS标准,物理层通过M

【技术实现步骤摘要】
一种在FPGA中实现UFS阵列控制器的实现方式


[0001]本专利技术涉及存储器阵列控制
,特别涉及一种在FPGA中实现UFS阵列控制器的实现方式

技术介绍

[0002]当前,以FLASH存储芯片作为介质的SATA、mSATA、NVMe电子盘应用广泛,性能越来越高,成本越来越低;在一些嵌入式电子设备中,受限于体积以及结构的限制,采用嵌入式计算机+电子盘的方案实现有困难,在一些高速流数据的处理系统中,数据需要实时存储,事后分析,而高性能计算机+电子盘磁盘阵列的解决方案体积较大,并且环境适应性也不能满足一些特定要求,因此在很多定制嵌入式设备尤其是军用电子设备里,直接采用FPGA控制FLASH芯片阵列,这样集成度更高,结构更灵活,提高了可靠性。
[0003]在航空电子领域使用FPGA或者其它处理器控制FLASH芯片阵列最为灵活方便,但需要考虑坏块管理与数据纠错,缺点就是在大容量存储上SLC成本高昂,MLC成本低,但数据纠错比较复杂,即使加上数据纠错,也需要通过设置一系列参数才能实现纠错,TLC的数据纠错处理极其复杂,目前常用的LDPC纠错算法也非常消耗FPGA的逻辑资源,在高速存储中难以找到对应的FPGA实现,因此目前在高速存储中大量应用SATA SSD/PCIE SSD SIP并行实现,SIP将MLC/TLC以及控制器集成在一个SIP封装内,实现了体积小型化与接口标准化,因此在控制端实现大幅降低了复杂度与技术门槛,但是SIP依然存在着成本较高的缺点,目前,在同等容量下,SIP的成本依然比嵌入式FLASH高一个数量级。
[0004]综上,目前使用FPGA直接控制FLASH阵列以及SSD SIP(将SATA SSD或者PCIE SSD用SIP工艺封装在一个芯片封装内)存储数据在军用电子设备数据存储是常用解决方案,但是现有的直接采用FPGA控制FLASH或者NVMe SIP阵列,存在如下问题:
[0005]a)采用SLC/MLC/TLC等FLASH芯片,由于FLASH工艺本身的缺陷,FLASH芯片结构存在坏块以及坏点,需要复杂坏块管理以及数据纠错算法,设计复杂,特别消耗FPGA资源,受限于FPGA资源限制,难以实现理想的存储速度。
[0006]b)采用SLC/MLC/TLC受限于进口,由于市场规模的原因,国产SLC/MLC并未被芯片厂家提上日程,对于军用电子设备,受限很大。
[0007]c)SATA SSD SIP或者PCIE SSD SIP相比较SLC/MLC/TLC,不需要复杂的坏块管理以及数据纠错算法,因而使用FPGA控制变得简单,对资源要求不高,但是这类实现采用的是SIP技术,内部依然使用的是进口FLASH芯片,受制于国外限制,而且成本较高。
[0008]目前UFS FLASH作为嵌入式FLASH的主流产品,与SATA SSD SIP和PCIE SSD SIP相比,成本比较低,但是当前UFS FLASH主要应用于移动终端产品,UFS标准中没有考虑在一个系统中多个UFS FLASH使用的情况(面向物联网与移动设备的UFS标准明确禁止一个主控制器连接多个CPort的情况,这是因为建立在UNIPRO协议之上UTP传输协议非常简洁,没有考虑多个UFS终端的应用情况),因此现有的集成有UFS控制器的处理器或者UFS控制器IP不支持多个UFS FLASH并行扩展。

技术实现思路

[0009]为解决上述技术问题,本专利技术提供了一种在FPGA中实现UFS阵列控制器的实现方式,在UFS控制器与UFSHCI控制器之间增加了一个阵列管理,在FPGA中实现类似于磁盘阵列管理的多个UFS FLASH的阵列控制,从而实现UFS大容量高速存储阵列,大幅降低航空电子设备中存储阵列的成本。
[0010]本专利技术提供了一种在FPGA中实现UFS阵列控制器的实现方式,整个系统通过应用模块、OS/公共UFS主机控制器驱动模块、UFS阵列控制器和UFS控制器组成,所述UFS阵列控制器通过UFS主机控制器接口与所述OS/公共UFS主机控制器驱动模块连接,所述UFS阵列控制器通过UFS内部接口与所述UFS控制器连接实现UFS控制器的阵列管理。
[0011]所述UFS阵列控制器包括物理层、协议层和应用层,所述物理层和应用层分层控制。
[0012]所述应用层包括MMIO空间管理模块、磁盘阵列管理模块、UFS操作命令集控制管理模块、设备管理器和任务管理器,所述设备管理器、任务管理器与所述协议层的接口连接遵循UFS标准;
[0013]所述MMIO空间管理模块通过MMIO接口实现数据循环队列或描述符队列的控制,所述磁盘阵列管理模块实现磁盘阵列数据与地址映射,所述UFS操作命令集控制管理模块实现若干UFS器件的数据读写控制。
[0014]所述物理层M

PHY通过利用分层查表在FPGA中调用7series FPGAS Transceivers Wizard,将PWM脉冲调制、差分高电平脉冲、差分低电平脉冲、配置数据编码、8b/10b编码设计到若干查找表进行映射,实现M

PHY在M

TX以及M

RX上的编码/解码器。
[0015]进一步的,所述M

PHY层的第一层查找表对应M

TX框架中的8B/10B,将8B/10B编码表和不同状态下的10位编码与传输线的高/低分别用0XXXXXXXX0b,1111111111b,0000000000b设计到不同的查找表内。
[0016]进一步的,所述M

PHY层的第二层为PWM_G1数据码流查找表,对状态下8B/10B转换查表的高位地址设计一个查找表,建立不同状态对应不同高位地址的映射。
[0017]进一步的,所述M

PHY层的第三层将M

PHY的17位接口接到所述M

PHY层第二层查找表的映射,包括8B/10B的直接映射、DIF

N,DIF

P,DIF

N到DIF

P跳变过程以及PWM

G1数据流按照HS

GX速率取样进行映射。
[0018]进一步的,所述PWM

G1数据流至少支持PWM

G1和/或PWM

G0以及PWM

G2

7。
[0019]进一步的,所述MMIO空间管理模块的MMIO接口按照JESD223C/D的UFSHCI标准规定设计与主机的接口,或按照扇区大小管理的512B*2
N
大小FIFO堆栈,将外部接口以简单的FIFO接口实现。
[0020]进一步的,所述UFS阵列控制器中并行的多个UFS FLASH芯片采用统一的配置信息进行配置,且从UDM_SAP接入点和UIO_SAP接入点读取本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在FPGA中实现UFS阵列控制器的实现方式,其特征在于,整个系统通过应用模块、OS/公共UFS主机控制器驱动模块、UFS阵列控制器和UFS控制器组成,所述UFS阵列控制器通过UFS主机控制器接口与所述OS/公共UFS主机控制器驱动模块连接,所述UFS阵列控制器通过UFS内部接口与所述UFS控制器连接实现UFS控制器的阵列管理。所述UFS阵列控制器包括物理层、协议层和应用层,所述物理层和应用层分层控制。所述应用层包括MMIO空间管理模块、磁盘阵列管理模块、UFS操作命令集控制管理模块、设备管理器和任务管理器,所述设备管理器、任务管理器与所述协议层的接口连接遵循UFS标准;所述MMIO空间管理模块通过MMIO接口实现数据循环队列或描述符队列的控制,所述磁盘阵列管理模块实现磁盘阵列数据与地址映射,所述UFS操作命令集控制管理模块实现若干UFS器件的数据读写控制。所述物理层M

PHY通过利用分层查表在FPGA中调用7series FPGAS Transceivers Wizard,将PWM脉冲调制、差分高电平脉冲、差分低电平脉冲、配置数据编码、8b/10b编码设计到若干查找表进行映射,实现M

PHY在M

TX以及M

RX上的编码/解码器。2.根据权利要求1所述的在FPGA中实现UFS阵列控制器的实现方式,其特征在于,所述M

PHY层的第一层查找表对应M

TX框架中的8B/10B,将8B/10B编码表和不同状态下的10位编码与传输线的高/低分别用0XXXXXXXX0b,1111111111b,0000000000b设计到不同的查找表内。3.根据权利要求2所述的在FPGA中实现UFS阵列控制器的实现方式,其特征在于...

【专利技术属性】
技术研发人员:张泽渺叶明
申请(专利权)人:成都旋极历通信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1