System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种基于fpga的高可靠性nand-flash控制器及其数据处理方法,属于数据处理设备领域。
技术介绍
1、nand-flash是大容量掉电非易失存储的首选存储芯片,被广泛应用在服务器、嵌入式众多领域。随着应用需求的改变和技术的发展,nand-flash芯片又衍生出raw-nand-flash芯片和托管型nand-flash芯片,raw-nand-flash芯片除了flash存储单元以外,只包含小规模的控制电路,用于提供onfi(open-nand-flash-interface)协议的解析;托管型nand-flash芯片包含控制电路和flash存储单元,控制电路提供ufs、emmc、qspi接口,以及数据校验、坏块管理flash管理功能。由于托管型nand-flash接口引脚数少、控制时序简单、不需要进行底层flash管理,因而受到嵌入式cpu的广泛支持。然而托管型nand-flash的控制电路与flash存储单元是封装到同一基片上的,无法更换flash存储单元,且出于成本考量,一般采用tlc或者mlc存储单元,这些种类的存储单元在受到辐射照射时,出现多bit错误的概率比slc存储单元更大,多bit错误较单bit错误相比,纠错算法更加复杂,且有概率无法纠正。
技术实现思路
1、本申请提出一种基于fpga的高可靠性nand-flash控制器及其数据处理方法,可以部署于fpga的nand-flash控制器,便于更换满足工程要求的nand-flash,同时还能适应太空中的
2、为解决上述技术问题,本专利技术采取的技术方案是,一种基于fpga的高可靠性nand-flash控制器,包括
3、指令生成模块,接收来自外部模块的命令,然后根据命令的类型和参数,生成相应的命令字;
4、指令fifo模块,缓存指令生成模块生成的命令;
5、接口模块,根据onfi协议定义的接口,负责控制器与nand-flash进行通信;
6、ecc校验模块,对数据进行错误校验,发现和纠正数据在传输过程中发生的错误;
7、写数据fifo模块,缓存待写入nand-flash的数据;
8、读数据fifo模块,缓存从nand-flash读取的数据;
9、gpio模块,控制nand-flash的gpio引脚;
10、axi接口模块,根据命令字,生成相应的axi控制信号和数据信号,并通过axi接口与上层模块进行通信。
11、优化的,上述基于fpga的高可靠性nand-flash控制器,
12、指令生成模块接收上层指令并进行指令校验、开启/关闭针对数据的ecc和三模冗余校验,根据闪存状态判断并处理异常情况、将处理后的指令传输到指令fifo进行缓存。
13、优化的,上述基于fpga的高可靠性nand-flash控制器,接口模块包括指令广播模块、数据广播模块、三模校验模块、onfi接口模块;
14、指令广播模块,在指令fifo中读取指令并广播到onfi接口模块,完成指令的传输;
15、数据广播模块,在写数据fifo中读取数据并广播到onfi接口模块,完成写数据的传输;
16、三模校验模块,对onfi接口模块的数据进行按位表决,确认数据无误后再存入缓存。
17、优化的,上述基于fpga的高可靠性nand-flash控制器,ecc校验模块接收数据并对数据进行分节分段,得到相应数据的校验值;
18、写数据发送至ecc校验模块后,ecc校验模块对数据字段进行分节编码,并控制缓存对数据和校验值进行写入闪存操作;
19、读数据发送至ecc校验模块后,ecc校验模块再次对数据字段进行分节编码,并与读取的校验码进行比对,进行纠错及错误反馈;
20、数据确认无误后进入读缓冲fifo。
21、优化的,上述基于fpga的高可靠性nand-flash控制器,所述gpio模块传输中断信号;
22、当产生中断时,gpio模块上拉相应引脚电平;
23、当清除中断时,需要在清零选项寄存器中清零中断并重配置相应寄存器。
24、优化的,上述基于fpga的高可靠性nand-flash控制器,所述axi接口模块包括为指令生成模块封装的axi-lite接口、为write fifo模块和read fifo模块封装的axi-stream接口,提供对soc内部总线的连接。
25、优化的,上述基于fpga的高可靠性nand-flash控制器,通过接口模块与nand-flash连接;
26、基于fpga的高可靠性nand-flash控制器挂载三块nand-flash芯片,形成nand-flash存储阵列。
27、优化的,上述基于fpga的高可靠性nand-flash控制器,指令生成模块通过接收上层指令和校验值,并计算校验值进行比对,再通过状态指示对控制器当前状态进行判断和纠正;
28、在命令和状态无误后,通过选择开启/关闭ecc功能和三模冗余校验功能,来对控制器进行可选配置。
29、一种基于fpga的高可靠性nand-flash控制器的数据处理方法,包括以下步骤,
30、1)指令生成模块接收上层模块指令并生成相应命令字缓存到指令fifo模块;
31、2)根据命令字进行数据操作,由写数据fifo模块和读数据fifo模块对待处理数据进行缓存;
32、3)由指令生成模块控制进行ecc校验模块对写数据fifo模块或读数据fifo模块的数据处理,分节分段得到相应校验结果;
33、4)由指令生成模块控制进行三模校验,对数据进行进一步校验并缓存;
34、5)由指令生成模块控制gpio模块,对控制器状态进行判断;
35、6)通过接口模块与nand-flash进行数据传输;
36、7)通过axi接口模块完成模块间和与上层模块的数据传输。
37、本申请的有益效果为:
38、为了适应太空中的辐射对flash存储和控制系统造成的影响,采用了ecc(错误校正码)和三模冗余(tmr, triple modular redundancy)对数据进行校验。ecc提供了错误检测和纠正的能力,对于减少由于太空辐射导致的单个或多个位错误(即软错误)特别有效;而tmr提供了额外的硬件层面的容错能力,确保即使一个或两个模块受到辐射损伤,系统仍然可以正常工作。这种组合使得nand-flash存储系统能够抵御太空环境中的辐射引起的瞬态错误和永久性损伤。结合ecc和tmr技术,可以大幅提高nand-flash在太空环境中的数据完整性和可靠性。
39、同时采用标准化axi接口,提供高性能的通信能力,支持高带宽和低延迟的数据传输,能够快速处理大量数据。axi接口设计具有良本文档来自技高网...
【技术保护点】
1.一种基于FPGA的高可靠性NAND-Flash控制器,其特征在于:包括
2.根据权利要求1所述的基于FPGA的高可靠性NAND-Flash控制器,其特征在于:
3.根据权利要求1所述的基于FPGA的高可靠性NAND-Flash控制器,其特征在于:所述接口模块包括指令广播模块、数据广播模块、三模校验模块、ONFI接口模块;
4.根据权利要求1所述的基于FPGA的高可靠性NAND-Flash控制器,其特征在于:所述ECC校验模块接收数据并对数据进行分节分段,得到相应数据的校验值;
5.根据权利要求1所述的基于FPGA的高可靠性NAND-Flash控制器,其特征在于:
6.根据权利要求1所述的基于FPGA的高可靠性NAND-Flash控制器,其特征在于:
7.根据权利要求1所述的基于FPGA的高可靠性NAND-Flash控制器,其特征在于:通过接口模块与NAND-Flash连接;
8.根据权利要求1所述的基于FPGA的高可靠性NAND-Flash控制器,其特征在于:
9.一种如权利要求1
...【技术特征摘要】
1.一种基于fpga的高可靠性nand-flash控制器,其特征在于:包括
2.根据权利要求1所述的基于fpga的高可靠性nand-flash控制器,其特征在于:
3.根据权利要求1所述的基于fpga的高可靠性nand-flash控制器,其特征在于:所述接口模块包括指令广播模块、数据广播模块、三模校验模块、onfi接口模块;
4.根据权利要求1所述的基于fpga的高可靠性nand-flash控制器,其特征在于:所述ecc校验模块接收数据并对数据进行分节分段,得到相应数据的校验值;
5.根据权利要求...
【专利技术属性】
技术研发人员:殷晓斌,解歆钰,胡易成,
申请(专利权)人:中国海洋大学三亚海洋研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。