[发明专利]低成本高可靠的SPI FLASH芯片实现方法及系统有效
| 申请号: | 202210631914.2 | 申请日: | 2022-06-07 |
| 公开(公告)号: | CN114706538B | 公开(公告)日: | 2022-10-04 |
| 发明(设计)人: | 钟晨曦;魏玺章;杨平;郑鹏飞 | 申请(专利权)人: | 长沙驭电信息技术有限公司 |
| 主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F11/10;G06F13/42 |
| 代理公司: | 长沙昌恒达专利代理事务所(普通合伙) 43283 | 代理人: | 胡昌国 |
| 地址: | 410205 湖南省长沙市长沙高新开*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 低成本 可靠 spi flash 芯片 实现 方法 系统 | ||
1.一种低成本高可靠的SPI FLASH芯片实现方法,应用于SPI控制器中,其特征在于,包括以下步骤:
将写过来的数据发送给投票表决控制模块;
控制投票表决控制模块将写过来的数据拷贝到多片民用级SPI FLASH芯片中,并控制投票表决控制模块读出多片民用级SPI FLASH芯片写入的数据,对读出的数据进行投票表决以选出正确可靠的数据;
控制校验码纠检错模块对写入的数据加上校检码后进一步对投票表决后的数据进行检错纠错,使多片民用级SPI FLASH芯片达到军品级或宇航级SPI FLASH芯片的可靠性;
所述控制投票表决控制模块将写过来的数据拷贝到多片民用级SPI FLASH芯片中,并控制投票表决控制模块读出多片民用级SPI FLASH芯片写入的数据,对读出的数据进行投票表决以选出正确可靠的数据的步骤包括:
发出enable信号控制所述投票表决控制模块的工作模式;
读操作的时候,接收所述投票表决控制模块回传的投票表决运算,所述投票表决运算由所述投票表决控制模块从各个民用级SPI FLASH读出的数据中进行投票表决得出;
所述工作模式包括bypass模式和正常工作模式,所述发出enable信号控制投票表决控制模块的工作模式的步骤包括:
向投票表决控制模块发出enable信号,当enable信号被拉低时,则控制所述投票表决控制模块工作在bypass模式,即所述投票表决控制模块只跟一个民用级SPI FLASH芯片发生数据通信;
向投票表决控制模块发出enable信号,当enable信号拉高时,则控制所述投票表决控制模块工作在正常工作模式,所述投票表决控制模块将写入的数据拷贝到所有的民用级SPI FLASH芯片中;
所述民用级SPI FLASH芯片包括第一民用级SPI FLASH芯片、第二民用级SPI FLASH芯片和第三民用级SPI FLASH芯片,所述控制投票表决控制模块将写过来的数据拷贝到多片民用级SPI FLASH芯片中,并控制投票表决控制模块读出多片民用级SPI FLASH芯片写入的数据,对读出的数据进行投票表决以选出正确可靠的数据的步骤中,假设从第一民用级SPIFLASH芯片读到的数据为A,从第二民用级SPI FLASH芯片读到的数据为B、从第三民用级SPIFLASH芯片读到的数据为C,则将从不同民用级SPI FLASH芯片读到的数据两两之间做与运算,并将最后的结果之间做或运算,用公式表达最终输出的数据result为:
其中,为最终输出的数据,为从第一民用级SPI FLASH芯片读到的数据,为从第二民用级SPI FLASH芯片读到的数据,为从第三民用级SPI FLASH芯片读到的数据;所述投票表决控制模块和所述校验码纠检错模块为两种降低单粒子翻转事件概率的模块,假设单个民用级SPI FLASH芯片数据出错的概率是,则经过所述投票表决控制模块投票表决后的数据出错概率为:
其中,表示单单经过投票表决控制模块投票表决后的数据出错概率,即所述投票表决控制模块单独生效时可达到降低单粒子翻转事件发生概率的能力;为单个民用级SPIFLASH芯片数据出错的概率;
所述控制校验码纠检错模块对写入的数据加上校检码后进一步对投票表决后的数据进行检错纠错,使多片民用级SPI FLASH芯片达到军品级或宇航级SPI FLASH芯片的可靠性的步骤中,假设单单经过所述校验码纠检错模块纠检错后的错误概率,即所述校验码纠检错模块单独生效时可达到降低单粒子翻转事件发生概率的能力为,则经过所述投票表决控制模块的投票表决和所述校验码纠检错模块的纠检错后,最终数据出错的概率为:
其中,表示经过投票表决控制模块的投票表决和校验码纠检错模块的纠检错后最终数据出错的概率,即投票表决控制模块和所述校验码纠检错模块共同生效时可达到降低单粒子翻转事件发生概率的能力为单个民用级SPI FLASH芯片数据出错的概率;
所述控制校验码纠检错模块对写入的数据加上校检码后进一步对投票表决后的数据进行检错纠错,使多片民用级SPI FLASH芯片达到军品级或宇航级SPI FLASH芯片的可靠性的步骤包括:
当CPU发出指令向民用级SPI FLASH芯片写入二进制数据,编码模块中配置编码多项式,根据BCH编码方式:
其中,代表需要传输的数据,代表编码多项式,代表错误多项式,代表收到的数据;
假设写入过程没有出错,那么经过校验码纠检错模块中的编码模块编码后输出的数据将被复制为三份后分别写入三个民用级SPI FLASH芯片中;
当CPU读取这份数据时,假设其中一个民用级SPI FLASH芯片中存储的数据发生了翻转错误,则在三份数据通过投票表决控制模块时,根据BCH编码方式的计算过程,投票表决控制模块将会将翻转的一位数据纠正过来,最终输出为正确的数据;
假设数据在传输的过程中发生了翻转错误,那么当数据经过校验码纠检错模块时,校验码纠检错模块会把该结果与配置的编码多项式相除,得到余项;根据在校验码纠检错模块中配置好的查找表,查找出与所述余项对应的错误多项式,得到正确的数据。
2.一种低成本高可靠的SPI FLASH芯片实现系统,其特征在于,包括SPI控制器(10)、投票表决控制模块(20)和校验码纠检错模块(30),其中,所述SPI控制器(10)包括:
通信传输单元(11),用于将写过来的数据发送给投票表决控制模块;
第一控制单元(12),用于控制投票表决控制模块将写过来的数据拷贝到多片民用级SPI FLASH芯片中,并控制投票表决控制模块读出多片民用级SPI FLASH芯片写入的数据,对读出的数据进行投票表决以选出正确可靠的数据;
第二控制单元(13),用于控制校验码纠检错模块对写入的数据加上校检码后进一步对投票表决后的数据进行检错纠错,使多片民用级SPI FLASH芯片达到军品级或宇航级SPIFLASH芯片的可靠性;
所述第一控制单元(12)包括:
控制子单元(121),用于发出enable信号控制所述投票表决控制模块的工作模式;
接收子单元(122),用于读操作的时候,接收所述投票表决控制模块回传的投票表决运算,所述投票表决运算由所述投票表决控制模块从各个民用级SPI FLASH读出的数据中进行投票表决得出;
所述控制子单元(121)包括:
第一工作模式切换子单元(1211),向投票表决控制模块发出enable信号,当enable信号被拉低时,则控制所述投票表决控制模块工作在bypass模式,即所述投票表决控制模块只跟一个民用级SPI FLASH芯片发生数据通信;
第二工作模式切换子单元(1212),用于向投票表决控制模块发出enable信号,当enable信号拉高时,则控制所述投票表决控制模块工作在正常工作模式,所述投票表决控制模块将写入的数据拷贝到所有的民用级SPI FLASH芯片中;
所述第一控制单元(12)中,假设从第一民用级SPI FLASH芯片读到的数据为A,从第二民用级SPI FLASH芯片读到的数据为B、从第三民用级SPI FLASH芯片读到的数据为C,则将从不同民用级SPI FLASH芯片读到的数据两两之间做与运算,并将最后的结果之间做或运算,用公式表达最终输出的数据result为:
其中,为最终输出的数据,为从第一民用级SPI FLASH芯片读到的数据,为从第二民用级SPI FLASH芯片读到的数据,为从第三民用级SPI FLASH芯片读到的数据;
所述投票表决控制模块和所述校验码纠检错模块为两种降低单粒子翻转事件概率的模块,假设单个民用级SPI FLASH芯片数据出错的概率是,则经过所述投票表决控制模块投票表决后的数据出错概率为:
其中,表示单单经过投票表决控制模块投票表决后的数据出错概率,即所述投票表决控制模块单独生效时可达到降低单粒子翻转事件发生概率的能力;为单个民用级SPIFLASH芯片数据出错的概率;
所述第二控制单元(13)中,假设单单经过所述校验码纠检错模块纠检错后的错误概率,即所述校验码纠检错模块单独生效时可达到降低单粒子翻转事件发生概率的能力为,则经过所述投票表决控制模块的投票表决和所述校验码纠检错模块的纠检错后,最终数据出错的概率为:
其中,表示经过投票表决控制模块的投票表决和校验码纠检错模块的纠检错后最终数据出错的概率,即投票表决控制模块和所述校验码纠检错模块共同生效时可达到降低单粒子翻转事件发生概率的能力为单个民用级SPI FLASH芯片数据出错的概率;
所述第二控制单元(13),具体用于当CPU发出指令向民用级SPI FLASH芯片写入二进制数据,编码模块中配置编码多项式,根据BCH编码方式:
其中,代表需要传输的数据,代表编码多项式,代表错误多项式,代表收到的数据;
假设写入过程没有出错,那么经过校验码纠检错模块中的编码模块编码后输出的数据将被复制为三份后分别写入三个民用级SPI FLASH芯片中;
当CPU读取这份数据时,假设其中一个民用级SPI FLASH芯片中存储的数据发生了翻转错误,则在三份数据通过投票表决控制模块时,根据BCH编码方式的计算过程,投票表决控制模块将会将翻转的一位数据纠正过来,最终输出为正确的数据;
假设数据在传输的过程中发生了翻转错误,那么当数据经过校验码纠检错模块时,校验码纠检错模块会把该结果与配置的编码多项式相除,得到余项;根据在校验码纠检错模块中配置好的查找表,查找出与所述余项对应的错误多项式,得到正确的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长沙驭电信息技术有限公司,未经长沙驭电信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210631914.2/1.html,转载请声明来源钻瓜专利网。





