CN110111826B - 一种航天器使用sram型fpga双口ram抗单粒子翻转加固装置 - Google Patents
一种航天器使用sram型fpga双口ram抗单粒子翻转加固装置 Download PDFInfo
- Publication number
- CN110111826B CN110111826B CN201910305781.8A CN201910305781A CN110111826B CN 110111826 B CN110111826 B CN 110111826B CN 201910305781 A CN201910305781 A CN 201910305781A CN 110111826 B CN110111826 B CN 110111826B
- Authority
- CN
- China
- Prior art keywords
- port
- dual
- port ram
- address
- ram module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
Abstract
本发明涉及一种航天器使用SRAM型FPGA双口RAM抗单粒子翻转加固装置,属于航天电子技术领域。该抗单粒子翻转加固装置包括双口RAM模块和仲裁刷新器,所述双口RAM模块包括两套完全独立的端口,分别为第一端口和第二端口,每个端口包括数据线、地址线、读使能控制线和写使能控制线;其中,用户数据通过第一端口写入和读出双口RAM模块;仲裁刷新器在不影响用户访问数据的情况下,通过第二端口将双口RAM模块中存储的用户数据读取出来后再次写入双口RAM,从而刷新双口RAM。本发明解决了在航天器SRAM型FPGA内部BlockRAM抗单粒子翻转加固的难题。
Description
技术领域
本发明属于航天电子技术领域,涉及一种航天器使用SRAM型FPGA双口RAM抗单粒子翻转加固装置。
背景技术
SRAM型FPGA在航天器电子系统设计中广泛使用。目前,传统SRAM型FPGA的抗辐照加固采用三模冗余加刷新(Scrubbing)的机制进行可靠性提升,。例如:
“航天用SRAM型FPGA抗单粒子翻转设计”(航天器环境工程第28卷第6期2011年12月)一文中提出了对该类芯片的配置逻辑部分采用回读比较后刷新,对其SRAM部分采用通用自纠错宏的抗单粒子翻转设计方案。这种方案是通过内部BlockRAM三模冗余实现。
专利CN201610939803.2名称为一种基于SRAM型FPGA的RAM数据可靠性加固装置及方法,描述了用Hsiao码作为纠错码实现EDAC电路的编解码操作,采用缓存方式实现错误数据纠正后的回写,将处理器或外设访问双口RAM的写地址和写数据暂存于地址缓存和数据缓存中,然后对缓存中的数据进行三区二表决处理。
但是,三模冗余方法存在如下缺点:
首先,对FPGA内部BlockRAM做三模冗余开销巨大,占用比较多的额外存储资源且实时处理性不强;而且,长期的翻转累积也增加了三模中两模翻转导致数据错误的可能性;
其次,刷新机制仅对FPGA内部除了BlockRAM及RAM互联之外的资源刷新,无法覆盖BlockRAM。因此,当在轨长期不变RAM区数据发生单粒子翻转时,刷新机制无法修正。
因此,对于长期重要数据存储的BlockRAM还缺乏有效的抗单粒子翻转手段。
发明内容
本发明的技术解决问题是:克服现有技术的不足,设计了一种航天器使用SRAM型FPGA双口RAM抗单粒子翻转加固装置,解决在航天器SRAM型FPGA内部BlockRAM抗单粒子翻转加固的难题。
本发明的技术解决方案是:一种航天器使用SRAM型FPGA双口RAM抗单粒子翻转加固装置,该装置包括双口RAM模块和仲裁刷新器,所述双口RAM模块包括两套完全独立的端口,分别为第一端口和第二端口,每个端口包括数据线、地址线、读使能控制线和写使能控制线;其中,用户数据通过第一端口写入和读出双口RAM模块;仲裁刷新器在不影响用户访问数据的情况下,通过第二端口将双口RAM模块中存储的用户数据读取出来后再次写入双口RAM,从而刷新双口RAM。
所述数据为经过EDAC编码的数据。
所述抗单粒子翻转加固装置还包括第一EDAC编码器和第一EDAC解码器;
第一EDAC编码器,将外部输入的原始数据进行编码,通过双口RAM模块的第一端口将编码后的数据输入至双口存储器;
第一EDAC解码器,将双口RAM模块第一端口输出的编码后数据进行解码和纠错处理,得到原始数据输出。
所述仲裁刷新器在不影响用户访问数据的情况下,通过第二端口将双口RAM模块中存储的用户数据进行相应的EDAC解码和编码后,再次写入双口RAM,从而刷新双口RAM。
所述仲裁刷新器包括写入仲裁器、刷新地址发生器、第二EDAC编码器、第二EDAC解码器;其中:
刷新地址发生器,在每个控制周期,根据写入仲裁器输出的刷新控制信号的状态,生成双口RAM模块第二端口地址线上的刷新地址,当刷新控制信号为“不刷新”时,保持双口RAM模块第二端口地址线上的刷新地址不变;当刷新控制信号为“刷新”时,更新双口RAM模块第二端口地址线上的刷新地址;
写入仲裁器,在每个控制周期,首先,控制双口RAM模块第二端口的写使能无效,待第二EDAC编码器完成编码后,判断当前时刻双口RAM模块第一端口地址线上的地址与第二端口地址线上的刷新地址是否相同,如果相同,则认为当前第一端口和第二端口地址冲突,将刷新控制信号置为“不刷新”状态;否则,将刷新控制信号置为“刷新”状态,控制双口RAM模块第二端口的写使能有效,将第二EDAC编码输出的数据写入双口RAM中;
第二EDAC解码器,通过双口RAM模块的第二端口读出刷新地址对应的数据,进行解码,将解码后的数据发送给EDAC编码器;
第二EDAC编码器,将收到的数据进行编码,将编码后的数据通过双口RAM的第二端口数据线输出至双口存储器。
所述双口RAM模块采用FPGA内部BlockRAM存储器实现。
刷新地址控制器通过将地址0到地址L-1无限循环累加的方式刷新地址,所述L为双口RAM存储深度。
所述双口RAM的数据宽度为n+k,其中n为原始数据宽度,k为EDAC编码校验位位宽。
所述EDAC编码采用汉明码、BCH码对数据进行编码。
所述第二EDAC编码器的编码方式与双口RAM模块中存储的EDAC编码数据编码方式相同。
本发明与现有技术相比的优点在于:
(1)、本发明利用FPGA双口RAM的两个独立端口中的一个作为刷新端口,配合写入仲裁模块,做到另外一个端口完全无影响的情况下完成刷新处理,解决了在航天器SRAM型FPGA内部BlockRAM抗单粒子翻转加固的难题;
(2)、本发明相对于BlockRAM做三模冗余的方案,减少了存储器开销一半以上;
(3)、本发明采取EDAC编解码方法实现SRAM型FPGA对双口RAM的实时不间断刷新处理,即节约了内部资源,又有效提高抗单粒子能力。
(4)、本发明双口RAM中的数据选取EDAC编码方法进行编码和译码,所述仲裁刷新器对双口RAM内部数据在线进行不间断地EDAC纠错刷新,避免了传统三模冗余方案中单粒子翻转随时间累积导致数据两模出错的风险。
附图说明
图1为本发明实施例的整体框图。
具体实施方式
以下结合附图和具体实施例对本发明进行详细说明。
如图1所示,本发明提供的一种航天器使用SRAM型FPGA双口RAM抗单粒子翻转加固装置包括双口RAM模块、第一EDAC编码器、第一EDAC解码器和仲裁刷新器。
1、双口RAM模块作为物理数据存储器
双口RAM模块包括两套完全独立的端口,分别为第一端口和第二端口,每个端口包括数据线、地址线、读使能控制线和写使能控制线;其中,用户数据通过第一端口写入和读出双口RAM模块中;仲裁刷新器在不影响用户写入数据的情况下,通过第二端口将双口RAM模块中存储的用户数据读取出来后再次写入双口RAM,从而刷新双口RAM。
双口存储器采用FPGA内部BlockRAM存储器实现,BlockRAM存储器具有两个读写端口,用于存储EDAC编码后的数据,假设对外位宽为n,编码校验位位宽为k,那么该存储器位宽即为n+k,存储深度根据用户需求而定,即为L(地址范围为0~(L-1))。
2、第一EDAC编码器
第一EDAC编码器将外部输入的原始数据进行编码,通过双口RAM模块的第一端口将编码后的数据输入至双口存储器。
EDAC编码器定义了RAM内存储数据的编码方式,一般推荐采用汉明码进行编码,信息位为n位,校验位为k位,用以纠错特定位的误码;它将输入的n位用户数据进行编码,得到n+k位的编码后数据。
所述EDAC编码可以采用汉明码、BCH码对数据进行编码。
3、第一EDAC解码器
第一EDAC解码器,将双口RAM模块第一端口输出的编码后数据进行解码和纠错处理,得到原始数据输出。
EDAC解码器定义了RAM内存储数据的EDAC解码方式。解码方式与相应的EDAC编码所采用的编码方式对应。信息位为n位,校验位为k位;它将输入的n+k位的编码后数据进行解码,如有误码则修正误码,得到n位用户数据。EDAC解码器用于内部刷新纠错口的数据读出纠错;也用于外部用户口的数据读出后的纠错。
4、仲裁刷新器
所述仲裁刷新器在不影响用户写入数据的情况下,通过第二端口将双口RAM模块中存储的用户数据进行相应的EDAC解码和编码后,再次写入双口RAM,从而刷新双口RAM。
所述仲裁刷新器包括写入仲裁器、刷新地址发生器、第二EDAC编码器、第二EDAC解码器。
(1)刷新地址发生器
刷新地址发生器在每个控制周期,根据写入仲裁器输出的刷新控制信号的状态,生成双口RAM模块第二端口地址线上的刷新地址,当刷新控制信号为“不刷新”时,保持双口RAM模块第二端口地址线上的刷新地址不变,防止改变用户数据内容;当刷新控制信号为“刷新”时,更新双口RAM模块第二端口地址线上的刷新地址。
刷新地址发生器产生从地址0到地址L-1的读、解码、编码、写入控制时序,上电后通过将地址0到地址L-1无限循环累加的方式产生刷新地址,对每一地址的数据读出,解码、编码并写回同一地址。所述L为双口RAM存储深度。
(2)写入仲裁器
写入仲裁器在每个控制周期,首先,控制双口RAM模块第二端口的写使能无效,待第二EDAC编码器完成编码后,判断当前时刻双口RAM模块第一端口地址线上的地址与第二端口地址线上的刷新地址是否相同,如果相同,则认为当前第一端口和第二端口地址冲突,将刷新控制信号置为“不刷新”状态;否则,将刷新控制信号置为“刷新”状态,控制双口RAM模块第二端口的写使能有效,将第二EDAC编码输出的数据写入双口RAM中。
(3)第二EDAC解码器
第二EDAC解码器通过双口RAM模块的第二端口读出刷新地址对应的数据,进行解码,将解码后的数据发送给EDAC编码器;
(4)第二EDAC编码器
第二EDAC编码器将收到的数据进行编码,将编码后的数据通过双口RAM的第二端口数据线输出至双口存储器。所述第二EDAC编码器的编码方式与双口RAM模块中存储的EDAC编码数据编码方式相同。
写入仲裁器和刷新地址发生器定义了以用户端为有限的写入数据完整性保障;当用户要写入或者读出某地址数据时,如果内部刷新操作正好在对该地址进行刷新,则撤销本次刷新写入,下个控制周期再次读取该地址数据进行EDAC解码、编码并写入。
本发明利用双口RAM的一个端口作为内部刷新纠错接口。另外一个端口作为外部用户访问接口。在外部用户完全无影响的情况下就完成了RAM内的数据纠错刷新。而且刷新频率非常快,当发生单粒子翻转时,能够在1秒内纠错,不会发生单粒子翻转累积。同时作为Scrubbing技术无法覆盖BlockRAM区的缺陷的完善手段。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
Claims (6)
1.一种航天器使用SRAM型FPGA双口RAM抗单粒子翻转加固装置,其特征在于包括双口RAM模块、仲裁刷新器、第一EDAC编码器和第一EDAC解码器;所述双口RAM模块包括两套完全独立的端口,分别为第一端口和第二端口,每个端口包括数据线、地址线、读使能控制线和写使能控制线;其中,用户数据通过第一端口写入和读出双口RAM模块;仲裁刷新器在不影响用户访问数据的情况下,通过第二端口将双口RAM模块中存储的用户数据读取出来后再次写入双口RAM模块,从而刷新双口RAM模块;
所述数据为经过EDAC编码的数据;
第一EDAC编码器,将外部输入的原始数据进行编码,通过双口RAM模块的第一端口将编码后的数据输入至双口RAM模块;
第一EDAC解码器,将双口RAM模块第一端口输出的编码后数据进行解码和纠错处理,得到原始数据输出;
所述仲裁刷新器在不影响用户访问数据的情况下,通过第二端口将双口RAM模块中存储的用户数据进行相应的EDAC解码和编码后,再次写入双口RAM模块,从而刷新双口RAM模块;
所述仲裁刷新器包括写入仲裁器、刷新地址发生器、第二EDAC编码器、第二EDAC解码器;其中:
刷新地址发生器,在每个控制周期,根据写入仲裁器输出的刷新控制信号的状态,生成双口RAM模块第二端口地址线上的刷新地址,当刷新控制信号为“不刷新”时,保持双口RAM模块第二端口地址线上的刷新地址不变;当刷新控制信号为“刷新”时,更新双口RAM模块第二端口地址线上的刷新地址;
写入仲裁器,在每个控制周期,首先,控制双口RAM模块第二端口的写使能无效,待第二EDAC编码器完成编码后,判断当前时刻双口RAM模块第一端口地址线上的地址与第二端口地址线上的刷新地址是否相同,如果相同,则认为当前第一端口和第二端口地址冲突,将刷新控制信号置为“不刷新”状态;否则,将刷新控制信号置为“刷新”状态,控制双口RAM模块第二端口的写使能有效,将第二EDAC编码输出的数据写入双口RAM模块中;
第二EDAC解码器,通过双口RAM模块的第二端口读出刷新地址对应的数据,进行解码,将解码后的数据发送给EDAC编码器;
第二EDAC编码器,将收到的数据进行编码,将编码后的数据通过双口RAM模块的第二端口数据线输入至双口RAM模块。
2.根据权利要求1所述的一种航天器使用SRAM型FPGA双口RAM抗单粒子翻转加固装置,其特征在于所述双口RAM模块采用FPGA内部BlockRAM存储器实现。
3.根据权利要求1所述的一种航天器使用SRAM型FPGA双口RAM抗单粒子翻转加固装置,其特征在于刷新地址控制器通过将地址0到地址L-1无限循环累加的方式刷新地址,所述L为双口RAM模块的存储深度。
4.根据权利要求1所述的一种航天器使用SRAM型FPGA双口RAM抗单粒子翻转加固装置,其特征在于所述双口RAM模块的数据宽度为n+k,其中n为原始数据宽度,k为EDAC编码校验位位宽。
5.根据权利要求1所述的一种航天器使用SRAM型FPGA双口RAM抗单粒子翻转加固装置,其特征在于所述EDAC编码采用汉明码、BCH码对数据进行编码。
6.根据权利要求1所述的一种航天器使用SRAM型FPGA双口RAM抗单粒子翻转加固装置,其特征在于所述第二EDAC编码器的编码方式与双口RAM模块中存储的EDAC编码数据编码方式相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910305781.8A CN110111826B (zh) | 2019-04-16 | 2019-04-16 | 一种航天器使用sram型fpga双口ram抗单粒子翻转加固装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910305781.8A CN110111826B (zh) | 2019-04-16 | 2019-04-16 | 一种航天器使用sram型fpga双口ram抗单粒子翻转加固装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110111826A CN110111826A (zh) | 2019-08-09 |
CN110111826B true CN110111826B (zh) | 2021-04-13 |
Family
ID=67485545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910305781.8A Active CN110111826B (zh) | 2019-04-16 | 2019-04-16 | 一种航天器使用sram型fpga双口ram抗单粒子翻转加固装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110111826B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694691B (zh) * | 2020-06-10 | 2023-03-14 | 西安微电子技术研究所 | 一种纠检错后具有自动回写功能的sram电路及回写方法 |
CN111653306B (zh) * | 2020-07-07 | 2022-08-26 | 中国人民解放军国防科技大学 | 用于单端口sram的微体系结构级通用加固装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7002867B2 (en) * | 2002-09-25 | 2006-02-21 | Infineon Technologies Aktiengesellschaft | Refresh control circuit for ICs with a memory array |
CN102298973B (zh) * | 2011-06-02 | 2014-02-26 | 哈尔滨工业大学 | 抗辐射故障保护型存储装置及其抗辐射故障保护方法 |
CN103280242B (zh) * | 2013-05-08 | 2016-02-17 | 中国人民解放军国防科学技术大学 | 适用于片上存储edac的可配置后台刷新方法 |
CN107291570B (zh) * | 2017-06-23 | 2020-01-07 | 哈尔滨工业大学 | 基于Zynq-7000的片上存储器抗单粒子翻转防护方法 |
-
2019
- 2019-04-16 CN CN201910305781.8A patent/CN110111826B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110111826A (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7458004B2 (en) | Semiconductor storage device | |
JP4205396B2 (ja) | 半導体集積回路装置 | |
JP3892832B2 (ja) | 半導体記憶装置 | |
US7206891B2 (en) | Multi-port memory controller having independent ECC encoders | |
KR101860809B1 (ko) | 메모리 시스템 및 메모리 에러 정정 방법 | |
US20060056258A1 (en) | Semiconductor memory and method for operating the same | |
CN105340022A (zh) | 用于校正数据错误的电路、设备及方法 | |
TWI786707B (zh) | 用於半導體記憶體的錯誤更正寫碼與資料匯流反轉的裝置與方法 | |
CN110111826B (zh) | 一种航天器使用sram型fpga双口ram抗单粒子翻转加固装置 | |
CN103886916B (zh) | 输入位宽可伸缩的编码/编解码存储系统 | |
KR20170112630A (ko) | 반도체장치 및 반도체시스템 | |
CN115762597A (zh) | 面向连续多位纠错码存储器的读写机制设计方法 | |
CN110309014B (zh) | 一种全行编解码sram编码器数据读写结构及数据读写方法 | |
US11881277B2 (en) | Memory device and operating method thereof | |
CN106531224B (zh) | 一种基于sram型fpga的ram数据可靠性加固装置及方法 | |
CN111694691B (zh) | 一种纠检错后具有自动回写功能的sram电路及回写方法 | |
JP4050091B2 (ja) | 半導体メモリ装置 | |
CN112068985B (zh) | 带编程指令识别的norflash存储器ecc检纠错方法及系统 | |
WO2020199492A1 (zh) | 一种支持部分写的ecc内存及数据部分写入的方法 | |
US11791846B2 (en) | Decoder performing iterative decoding, and storage device using the same | |
JP2008192309A (ja) | 半導体集積回路装置 | |
WO2020199490A1 (zh) | 一种双模式检错内存及双模式检错方法 | |
CN211124024U (zh) | 一种抗辐射加固存储器 | |
US7817485B2 (en) | Memory testing system and memory module thereof | |
US11921578B2 (en) | Error correction methods and semiconductor devices and semiconductor systems using the error correction methods and the semiconductor devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |