CN109903806A - 一种双模式检错内存及双模式检错方法 - Google Patents
一种双模式检错内存及双模式检错方法 Download PDFInfo
- Publication number
- CN109903806A CN109903806A CN201910256476.4A CN201910256476A CN109903806A CN 109903806 A CN109903806 A CN 109903806A CN 201910256476 A CN201910256476 A CN 201910256476A CN 109903806 A CN109903806 A CN 109903806A
- Authority
- CN
- China
- Prior art keywords
- module
- command process
- word
- process module
- error
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明公开了一种双模式检错内存,包括指令处理模块,存储模块,控制信号模块,编码模块及译码模块,其中指令处理模块内部设有纠错码切换标志,所述纠错码切换标志具有0和1两种状态,0表示选择奇偶校验码,1表示选择扩展汉明码:控制信号模块根据指令处理模块发送的控制信号,控制存储模块进行存储或读取操作,同时反馈完成信号给指令处理模块;编码模块对指令处理模块输入的逻辑字编码,译码模块从存储模块中读取物理字进行查错或纠错生成纠错码。本发明同时引入奇偶校验和扩展汉明码,采用纠错码切换标志来实现两种模式的切换,满足使用需求同时提升纠错率,避免设备频繁重启。
Description
技术领域
本发明涉及存储技术,尤其涉及一种双模式检错内存的方法。
背景技术
缓存装置和内存装置作为数据的缓冲区,是一些复杂硬件系统的正常工作的基础条件之一。其承担着缓冲数据的职能, 与任何存储器一样,必须确保存储是可靠的并且不会变得不稳定(例如SRAM上由于电压突波或存储单元损坏导致的数据错误)。因此,存储必须与检错(和纠错)机制相关联。
一般的纠错机制包括奇偶校验和扩展汉明码,其中奇偶校验较为简单,且省电,可以满存储设备的一般检错需求,扩展汉明码由扩展汉明编码机制生成编码表,其具有检错和纠错双功能,但其较为复杂,且耗电大。
目前存储设备上都采用的是一种纠错机制,但是存储设备在使用初期出错的概率很低,若采用较为复杂的纠错机制会导致资源浪费,而在寿命尾期,其出错的概率大大增加,较为简单的纠错机制无法及时检错,导致设备频繁重启而出现崩溃的情况。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种双模式检错内存,同时引入奇偶校验和扩展汉明码,采用纠错码切换标志来实现两种模式的切换,满足使用需求同时提升纠错率,避免设备频繁重启。
为实现上述目的,本发明提出如下技术方案:一种双模式检错内存,包括:
一指令处理模块,与外部电路进行通信,接收外部电路发送过来的新指令,其内部设有纠错码切换标志switch_flag,所述纠错码切换标志具有0和1两种状态,0表示选择奇偶校验码,1表示选择扩展汉明码:
一存储模块,存储有物理字;
一控制信号模块,分别与指令处理模块及存储模块连接,根据指令处理模块发送的控制信号,控制存储模块进行存储或读取操作,同时反馈完成信号给指令处理模块;
一编码模块,分别与指令处理模块及存储模块连接,对指令处理模块输入的逻辑字编码,生成对应的纠错码与逻辑字组成物理字送入存储模块;
一译码模块,分别与指令处理模块及存储模块连接,从存储模块中读取物理字进行查错或纠错生成纠错码,将解码后的逻辑字和纠错码传送给指令处理模块。
优选的,所述物理字包括逻辑字和纠错码。
优选的,所述纠错码为奇偶校验位和扩展汉明码。
一种双模式检错方法,包括如下内容:
a、指令处理模块中检测纠错码切换标志switch_flag的值,若纠错码切换标志为0,采用奇偶校验码作为纠错码,指令处理模块进行正常读写操作,运行步骤b,若纠错码切换标志为1,采用扩展汉明码作为纠错码,指令处理模块进行读写操作,运行步骤g;
b、若指令处理模块接收到写指令,将写指令中的控制信号发送给控制信号模块控制存储模块,而写指令中的逻辑字送入编码模块中;
c、编码模块对逻辑字进行编码生成对应的奇偶校验位,然后将原始逻辑字和对应的奇偶校验位组合成物理字写入存储模块;
d、若指令处理模块接收到读指令,将读指令中的控制信号送给控制信号模块控制存储模块,同时译码模块读取存储模块中相应的物理字;
e、译码模块对读取的物理字进行译码,输出检错结果及数据字给指令处理模块;
f、指令处理模块根据检错结果判断是否存在错误,若不存在错误就将读取的数据字送出,若存在错误,则将纠错码标志位switch_flag设为1,返回步骤a;
g、若指令处理模块接收到写指令,将写指令中的控制信号发送给控制信号模块控制存储模块,而写指令中的逻辑字送入编码模块中;
h、编码模块对逻辑字进行编码生成对应的奇偶校验位,然后将原始逻辑字和对应的奇偶校验位组合成物理字写入存储模块;
i、若指令处理模块接收到读指令,将读指令中的控制信号送给控制信号模块控制存储模块,同时译码模块读取存储模块中相应的物理字;
j、译码模块对读取的物理字进行译码,同时利用扩展汉明码进行纠错,输出检错结果及纠错后的数据字给指令处理模块;
k、指令处理模块将读取的数据字送出,返回步骤a。
优选的,所述步骤b、g中控制信号包括写信号及地址信号,而步骤d、i中控制信号包括读信号及地址信号。
与现有技术相比, 本发明所揭示的一种双模式检错内存,具有如下有益效果:
同时引入奇偶校验位和扩展汉明码两种纠错机制,配合纠错码切换标志,在存储器寿命前期不易出错的阶段,通过奇偶校验这种简单的检错机制来满足数据安全性要求,同时可以达到省电和降低周期内存储器的延迟,而在寿命后期出现错误后,就切换至扩展汉明码机制,实现对存储器同步检错和纠错,有效避免存储错误扩散导致系统崩溃。
附图说明
图1是本发明实施例中内存的模块图;
图2是本发明实施例中组织物理字的框图;
图3是本发明实施例中检错流程。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
如图1所示,本发明所揭示的一种双模式检错内存,包括指令处理模块,存储模块,控制信号模块,编码模块及译码模块,其中:
指令处理模块,与外部电路进行通信,接收外部电路发送过来的读写指令,该指令处理模块中设置了纠错码切换标志switch_flag来选择采用何种纠错机制,该纠错码切换标志具有0和1两个状态,0表示选择奇偶校验位,而1表示选择扩展汉明码。
所述存储模块用于存储电路中的相关指令信息。
所述控制信号模块分别与指令处理模块及存储模块连接,根据指令处理模块发送的控制信号(包括读/写,地址),控制存储模块进行存储或读取操作,同时反馈完成信号(包括读完成和地址)给指令处理模块。
所述编码模块分别与指令处理模块及存储模块连接,对指令处理模块输入的逻辑字进行编码,生成对应的奇偶校验位与逻辑字组成物理字送入存储模块;
所述译码模块分别与指令处理模块及存储模块连接,从存储模块中读取物理字进行译码,输出经过检错或纠错的数据字及其检错结果(有0/1/2比特出错),若当前内存的纠错机制为奇偶校验码,译码模块仅仅对物理字进行检错,而若当前内存的纠错机制为扩展汉明码,则译码模块除了对物理字进行检错,同时还进行纠错处理,生成纠错码连同逻辑字送入指令处理模块。
如图2所示,存储模块中物理字总共13位,包括8位数据位(d0~d7),4位纠错码(h0~h3)及1位奇偶校验位(p)。
当纠错机制为奇偶校验位时,13位物理字中位b0~b7为逻辑字的位d0~d7,位b8~b11保持为零;位b12为奇偶校验位P。
当纠错机制为扩展汉明码,在这种情况下:
13位物理字中位b0~b7为逻辑字的位d0~d7,位b8~b11为纠错码的位h0~h3;位b12为奇偶校验位P。
在上面的13位物理字和8位逻辑字的示例中,编码效率仅为0.615,然而,汉明码的特点是随逻辑字长度增加,编码效率亦随之提高,同时维持检错与纠错能力不变。例如64位逻辑字对应72位物理字时,编码效率达到0.889。而纠错码的选择取决于指令处理模块内部存储的纠错码切换标志,事实上,取决于存储模块的健康状况。
如图3所示,本发明揭示一种双模式检错方法,包括如下内容:
a、指令处理模块中检测纠错码切换标志switch_flag的值,若纠错码切换标志为0,采用奇偶校验码作为纠错码,指令处理模块进行正常读写操作,运行步骤b,若纠错码切换标志为1,采用扩展汉明码作为纠错码,指令处理模块进行读写操作,运行步骤g;
b、若指令处理模块接收到写指令,将写指令中的控制信号发送给控制信号模块控制存储模块,而写指令中的逻辑字送入编码模块中;
c、编码模块对逻辑字进行编码生成对应的奇偶校验位,然后将原始逻辑字和对应的奇偶校验位组合成物理字写入存储模块;
d、若指令处理模块接收到读指令,将读指令中的控制信号送给控制信号模块控制存储模块,同时译码模块读取存储模块中相应的物理字;
e、译码模块对读取的物理字进行译码,输出检错结果及数据字给指令处理模块;
f、指令处理模块根据检错结果判断是否存在错误,若不存在错误就将读取的数据字送出,若存在错误,则将纠错码标志位switch_flag设为1,返回步骤a;
g、若指令处理模块接收到写指令,将写指令中的控制信号发送给控制信号模块控制存储模块,而写指令中的逻辑字送入编码模块中;
h、编码模块对逻辑字进行编码生成对应的奇偶校验位,然后将原始逻辑字和对应的奇偶校验位组合成物理字写入存储模块;
i、若指令处理模块接收到读指令,将读指令中的控制信号送给控制信号模块控制存储模块,同时译码模块读取存储模块中相应的物理字;
j、译码模块对读取的物理字进行译码,同时利用扩展汉明码进行纠错,输出检错结果及纠错后的数据字给指令处理模块;
k、指令处理模块将读取的数据字送出,返回步骤a。
所述步骤b、g中控制信号包括写信号及地址信号,而步骤d、i中控制信号包括读信号及地址信号。
本发明改进了ECC存储器中纠错码的方式,使其在存储设备的正常使用周期,用更省电并且低延迟的奇偶校验纠错机制满足存储设备的检错需求;对于存储设备误码率大大提高的寿命尾期,使用具有单错校正双错检测能力的扩展汉明码纠错方法来保护数据。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (5)
1.一种双模式检错内存,其特征在于包括:
一指令处理模块,与外部电路进行通信,接收外部电路发送过来的新指令,其内部设有纠错码切换标志switch_flag,所述纠错码切换标志具有0和1两种状态,0表示选择奇偶校验码,1表示选择扩展汉明码:
一存储模块,存储有物理字;
一控制信号模块,分别与指令处理模块及存储模块连接,根据指令处理模块发送的控制信号,控制存储模块进行存储或读取操作,同时反馈完成信号给指令处理模块;
一编码模块,分别与指令处理模块及存储模块连接,对指令处理模块输入的逻辑字编码,生成对应的纠错码与逻辑字组成物理字送入存储模块;
一译码模块,分别与指令处理模块及存储模块连接,从存储模块中读取物理字进行查错或纠错生成纠错码,将解码后的逻辑字和纠错码传送给指令处理模块。
2.根据权利要求1所述的双模式检错内存,其特征在于:所述物理字包括逻辑字和纠错码。
3.根据权利要求1所述的双模式检错内存,其特征在于:所述纠错码为奇偶校验位和扩展汉明码。
4.一种双模式检错方法,基于权利要求1所述双模式内存实现,其特征在于包括如下内容:
a、指令处理模块中检测纠错码切换标志switch_flag的值,若纠错码切换标志为0,采用奇偶校验码作为纠错码,指令处理模块进行正常读写操作,运行步骤b,若纠错码切换标志为1,采用扩展汉明码作为纠错码,指令处理模块进行读写操作,运行步骤g;
b、若指令处理模块接收到写指令,将写指令中的控制信号发送给控制信号模块控制存储模块,而写指令中的逻辑字送入编码模块中;
c、编码模块对逻辑字进行编码生成对应的奇偶校验位,然后将原始逻辑字和对应的奇偶校验位组合成物理字写入存储模块;
d、若指令处理模块接收到读指令,将读指令中的控制信号送给控制信号模块控制存储模块,同时译码模块读取存储模块中相应的物理字;
e、译码模块对读取的物理字进行译码,输出检错结果及数据字给指令处理模块;
f、指令处理模块根据检错结果判断是否存在错误,若不存在错误就将读取的数据字送出,若存在错误,则将纠错码标志位switch_flag设为1,返回步骤a;
g、若指令处理模块接收到写指令,将写指令中的控制信号发送给控制信号模块控制存储模块,而写指令中的逻辑字送入编码模块中;
h、编码模块对逻辑字进行编码生成对应的奇偶校验位,然后将原始逻辑字和对应的奇偶校验位组合成物理字写入存储模块;
i、若指令处理模块接收到读指令,将读指令中的控制信号送给控制信号模块控制存储模块,同时译码模块读取存储模块中相应的物理字;
j、译码模块对读取的物理字进行译码,同时利用扩展汉明码进行纠错,输出检错结果及纠错后的数据字给指令处理模块;
k、指令处理模块将读取的数据字送出,返回步骤a。
5.根据权利要求4所述的双模式检错方法,其特征在于:所述步骤b、g中控制信号包括写信号及地址信号,而步骤d、i中控制信号包括读信号及地址信号。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910256476.4A CN109903806A (zh) | 2019-04-01 | 2019-04-01 | 一种双模式检错内存及双模式检错方法 |
PCT/CN2019/103939 WO2020199490A1 (zh) | 2019-04-01 | 2019-09-02 | 一种双模式检错内存及双模式检错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910256476.4A CN109903806A (zh) | 2019-04-01 | 2019-04-01 | 一种双模式检错内存及双模式检错方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109903806A true CN109903806A (zh) | 2019-06-18 |
Family
ID=66954113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910256476.4A Pending CN109903806A (zh) | 2019-04-01 | 2019-04-01 | 一种双模式检错内存及双模式检错方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109903806A (zh) |
WO (1) | WO2020199490A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020199490A1 (zh) * | 2019-04-01 | 2020-10-08 | 江苏华存电子科技有限公司 | 一种双模式检错内存及双模式检错方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI835381B (zh) * | 2022-11-02 | 2024-03-11 | 慧榮科技股份有限公司 | 資料加密的錯誤偵測裝置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090319863A1 (en) * | 2008-06-24 | 2009-12-24 | Yutaka Shirai | Error-correcting system of semiconductor memory, error-correcting method, and memory system with error-correcting system |
TW201015562A (en) * | 2008-10-15 | 2010-04-16 | Genesys Logic Inc | Dual mode error correction code (ECC) apparatus for flash memory and method thereof |
CN102034555A (zh) * | 2011-01-19 | 2011-04-27 | 哈尔滨工业大学 | 一种利用奇偶校验码进行故障在线纠错装置及方法 |
CN102298973A (zh) * | 2011-06-02 | 2011-12-28 | 哈尔滨工业大学 | 抗辐射故障保护型存储装置及其抗辐射故障保护方法 |
CN105023616A (zh) * | 2014-04-30 | 2015-11-04 | 深圳市中兴微电子技术有限公司 | 一种基于汉明码存取数据的方法及集成随机存取存储器 |
CN107393596A (zh) * | 2016-04-26 | 2017-11-24 | 三星电子株式会社 | 半导体存储设备和操作其的方法 |
US20180152203A1 (en) * | 2016-11-25 | 2018-05-31 | SK Hynix Inc. | Error correction circuits and memory controllers including the same |
CN108304277A (zh) * | 2017-01-12 | 2018-07-20 | 质子世界国际公司 | 闪速存储器中的纠错 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7389465B2 (en) * | 2004-01-30 | 2008-06-17 | Micron Technology, Inc. | Error detection and correction scheme for a memory device |
CN106601305A (zh) * | 2016-11-18 | 2017-04-26 | 华中科技大学 | 一种使用检错码和纠错码相结合的固态盘纠错方法 |
CN108170554B (zh) * | 2016-12-07 | 2021-11-23 | 北京兆易创新科技股份有限公司 | 一种nand的数据编码方法和装置 |
CN109903806A (zh) * | 2019-04-01 | 2019-06-18 | 江苏华存电子科技有限公司 | 一种双模式检错内存及双模式检错方法 |
-
2019
- 2019-04-01 CN CN201910256476.4A patent/CN109903806A/zh active Pending
- 2019-09-02 WO PCT/CN2019/103939 patent/WO2020199490A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090319863A1 (en) * | 2008-06-24 | 2009-12-24 | Yutaka Shirai | Error-correcting system of semiconductor memory, error-correcting method, and memory system with error-correcting system |
TW201015562A (en) * | 2008-10-15 | 2010-04-16 | Genesys Logic Inc | Dual mode error correction code (ECC) apparatus for flash memory and method thereof |
CN102034555A (zh) * | 2011-01-19 | 2011-04-27 | 哈尔滨工业大学 | 一种利用奇偶校验码进行故障在线纠错装置及方法 |
CN102298973A (zh) * | 2011-06-02 | 2011-12-28 | 哈尔滨工业大学 | 抗辐射故障保护型存储装置及其抗辐射故障保护方法 |
CN105023616A (zh) * | 2014-04-30 | 2015-11-04 | 深圳市中兴微电子技术有限公司 | 一种基于汉明码存取数据的方法及集成随机存取存储器 |
CN107393596A (zh) * | 2016-04-26 | 2017-11-24 | 三星电子株式会社 | 半导体存储设备和操作其的方法 |
US20180152203A1 (en) * | 2016-11-25 | 2018-05-31 | SK Hynix Inc. | Error correction circuits and memory controllers including the same |
CN108304277A (zh) * | 2017-01-12 | 2018-07-20 | 质子世界国际公司 | 闪速存储器中的纠错 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020199490A1 (zh) * | 2019-04-01 | 2020-10-08 | 江苏华存电子科技有限公司 | 一种双模式检错内存及双模式检错方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020199490A1 (zh) | 2020-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109388518B (zh) | 数据写入方法 | |
US8458566B2 (en) | Method for performing copy back operations and flash storage device | |
US7428689B2 (en) | Data memory system and method for transferring data into a data memory | |
CN112579342B (zh) | 内存纠错方法、内存控制器及电子设备 | |
KR100680473B1 (ko) | 액세스 시간이 감소된 플래시 메모리 장치 | |
US9396079B2 (en) | Semiconductor memory device and semiconductor system including the same | |
US11869618B2 (en) | Memory sub-system including an in-package sequencer to perform error correction and memory testing operations | |
US8615690B2 (en) | Controller of memory device and method for operating the same | |
CN109903806A (zh) | 一种双模式检错内存及双模式检错方法 | |
US20200153461A1 (en) | Data storage system and associated method | |
CN112596674B (zh) | 一种用于固态硬盘主控缓存数据双重保护的方法及系统 | |
CN101615147A (zh) | 皮卫星基于fpga的存储模块的容错方法 | |
CN113366449A (zh) | 基于存储器子系统的损耗的错误校正码改变 | |
CN111694691B (zh) | 一种纠检错后具有自动回写功能的sram电路及回写方法 | |
US9015560B1 (en) | Method and apparatus for ceasing access to a portion of a flash memory when less than a number of errors correctable by an error correction code exists | |
CN115729746A (zh) | 一种基于crc和ecc存储数据保护方法 | |
CN109960605A (zh) | 一种支持部分写的ecc内存及数据部分写入的方法 | |
KR20140108886A (ko) | 이동 통신 시스템에서 메모리 제어 방법 및 장치 | |
US11115063B2 (en) | Flash memory controller, storage device and reading method | |
CN113495671B (zh) | 读写方法及存储器装置 | |
CN113495675B (zh) | 读写方法及存储器装置 | |
US20200387318A1 (en) | Repetitive data processing method for solid state drive | |
CN201780798U (zh) | 高纠错能力的nand闪存 | |
US20190294497A1 (en) | Method of implementing error correction code used by memory storage apparatus and memory storage apparatus using the same | |
CN113495670B (zh) | 读写方法及存储器装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190618 |
|
RJ01 | Rejection of invention patent application after publication |