CN104616698A - 一种充分利用存储器冗余单元的方法 - Google Patents
一种充分利用存储器冗余单元的方法 Download PDFInfo
- Publication number
- CN104616698A CN104616698A CN201510042661.5A CN201510042661A CN104616698A CN 104616698 A CN104616698 A CN 104616698A CN 201510042661 A CN201510042661 A CN 201510042661A CN 104616698 A CN104616698 A CN 104616698A
- Authority
- CN
- China
- Prior art keywords
- check code
- redundancy unit
- data
- unit
- storage unit
- 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
Abstract
本发明的一种充分利用存储器冗余单元的方法,所述存储器包括存储单元和冗余单元,冗余单元包括行冗余单元和列冗余单元,所述冗余单元内存储有校验码。本发明的列冗余单元可以作为本行校验码,行冗余单元可以作为整体存储单元或部分存储单元的校验码。通过在存储器的存储单元没有损坏的前提下,将备用的冗余单元内存储上检验码,利用校验码来校验数据的正确性和完整性,并进行纠错,达到了充分利用冗余单元的目的,提高了冗余单元的使用率。
Description
技术领域
本发明涉及一种充分利用存储器冗余单元的方法,属于数据通信技术领域。
背景技术
存储器设计领域,目前其容量已经达到了T(=210G)级别,国际上最先进的尺寸在二十纳米左右。随着存储器容量的不断扩大,工艺尺寸的不断缩小,在存储器生产过程中难免引入各种各样的缺陷,导致存储器的某些单元无法正确使用。
针对该问题,目前常用的解决办法是,在存储器的行末尾或列末尾额外增加一部分存储单元作为备用。若某些行或列中出现了有缺陷的存储单元,则使用备用单元来替换;若某行或某列或所有存储单元都完好无缺,则与该行或该列对应的备用单元闲置无用,是一种浪费。
发明内容
本发明为了克服以上技术的不足,提供了一种充分利用存储器冗余单元的方法,在冗余单元内存储有检验码,利用该校验码可以校验存储单元内数据的完整性和正确性。
本发明克服其技术问题所采用的技术方案是:
一种充分利用存储器冗余单元的方法,所述存储器包括存储单元和冗余单元,冗余单元包括行冗余单元和列冗余单元,所述冗余单元内存储有校验码。
所述列冗余单元和行冗余单元可分别校验数据。
(一)列冗余单元可以作为本行校验码
校验时,一次性读出本行所有存储单元的数据和列冗余单元进行校验和纠错;当有存储单元的数据发生变化时,重新计算新的校验码,计算校验码的方法包括:
(1)若校验码计算方法包含非线性运算,则需要读出本行所有未发生变化的数据与发生改变的数据,重新计算校验码;
(2)若校验码计算方法为线性运算,则只需根据发生变化位置其修改前数据、修改后数据和校验码,重新计算校验码。
(二)行冗余单元可以作为整体存储单元或部分存储单元的校验码
校验时,一次性读出整体存储单元和相应的行冗余单元或部分存储单元和相应的行冗余单元进行校验和纠错;当有存储单元的数据发生变化时,重新计算新的校验码,计算校验码的方法包括:
(1)若校验码计算方法包含非线性运算,则需要读出所有未发生变化的数据与发生改变的数据,重新计算校验码;
(2)若校验码计算方法为线性运算,则只需根据发生变化位置其修改前数据、修改后数据和校验码,重新计算校验码。
根据本发明优选的,所述计算校验码的方法包括奇偶校验、CRC校验或ECC校验。
根据本发明优选的,所述存储器为EEPROM,即带电可擦写可编程只读存储器。
本发明的有益效果是:
1、本发明在存储器的存储单元没有损坏的前提下,将备用的冗余单元内存储上校验码,利用校验码来校验数据的正确性和完整性,并进行纠错,达到充分利用冗余单元的目的,提高了冗余单元的使用率。
2、由于一行数据的擦写可以通过一次擦写完成,而跨行数据的擦写则必须逐行擦写,当列冗余单元作为本行检验码时,若本行数据发生改变,校验码的改变可以与数据的改变在一次行擦写中完成,从而可以有效提高校验和纠错的速度。
3、由于行冗余单元通常位于译码地址的两端,冗余单元具有单独的译码地址,所以当行冗余单元作为整体存储单元或部分存储单元的校验码时,可以有效降低译码电路的复杂度。
附图说明
图1为实施例1中存储器的存储单元和冗余单元的示意图。
图2为实施例2中存储器的存储单元和冗余单元的示意图。
具体实施方式
一种充分利用存储器冗余单元的方法,所述存储器包括存储单元和设置于每一行和每一列末尾的冗余单元,冗余单元包括行冗余单元和列冗余单元,所述冗余单元内存储有校验码。
所述列冗余单元和行冗余单元可分别校验数据。
(一)列冗余单元可以作为本行校验码
校验时,一次性读出本行所有存储单元的数据和列冗余单元进行校验和纠错;当有存储单元的数据发生变化时,重新计算新的校验码,计算校验码的方法包括:
(1)若校验码计算方法包含非线性运算,则需要读出本行所有未发生变化的数据与发生改变的数据,重新计算校验码;
(2)若校验码计算方法为线性运算,则只需根据发生变化位置其修改前数据、修改后数据和校验码,重新计算校验码。
(二)行冗余单元可以作为整体存储单元或部分存储单元的校验码
校验时,一次性读出整体存储单元和相应的行冗余单元或部分存储单元和相应的行冗余单元进行校验和纠错;当有存储单元的数据发生变化时,重新计算新的校验码,计算校验码的方法包括:
(1)若校验码计算方法包含非线性运算,则需要读出所有未发生变化的数据与发生改变的数据,重新计算校验码;
(2)若校验码计算方法为线性运算,则只需根据发生变化位置其修改前数据、修改后数据和校验码,重新计算校验码。
优选的,所述计算校验码的方法包括奇偶校验、CRC校验或ECC校验等。
下面以具体的校验方法为例并结合附图对本发明进行详细说明,以下实施例中所述存储器为EEPROM,即带电可擦写可编程只读存储器。
实施例1、
下面以列冗余单元作为本行校验码为例计算校验码,在擦写一行的部分值时,计算校验码的方法可如下进行:
如图1所示,C0-C7为EEPROM的存储单元,C8为列冗余单元,C8中存储的校验码使用奇偶校验方法产生。假设C0-C7中存储的为{1’b0, 1’b1, 1’b0,1’b1, 1’b0, 1’b1, 1’b0, 1’b1},假设C8的生成方式为偶校验,则C8应为1’b0。
若C0-C7的部分数值发生改变,由于奇偶校验方法为线性变化,只需要得知数据改变部分位置其修改前数据、修改后数据和原始校验码,即可计算出新的校验码。例如若C0、C1发生改变,根据奇校验的计算公式, ,现在C0,C1变化为,,新的校验码应为:
即只需知道数据改变部分位置其修改前数据、修改后数据的数值(C0,C1,,)和原始校验码(C8),就可计算出新的校验码()。
由于EEPROM电路具有以下两个特性:(1)EEPROM的读出速度远大于擦写速度;(2)EEPROM的擦写是行操作,即一行数据的擦写可以通过一次擦写完成,而跨行数据的擦写则必须逐行擦写。因此,当列冗余单元作为本行检验码时,若本行数据发生改变,校验码的改变可以与数据的改变在一次行擦写中完成,从而可以有效提高校验和纠错的速度。
上述是针对线性运算做了描述,若校验算法包含非线性运算,假设校验算法为F,则新的校验码要通过获得。
CRC校验和ECC校验方式与上述奇偶校验方式相似,只是选取的校验算法不同。并且实际上,利用列冗余单元进行校验的方法也不局限于列举的奇偶校验、CRC校验和ECC校验。
实施例2、
下面以行冗余单元作为整体存储单元或部分存储单元的校验码为例,在擦写一行的部分值时,计算校验码的方法可如下进行:
如图2所示,R8为行冗余单元,C8为列冗余单元(以字节为单位)。R8行的CHECK_R0字节为R0行的校验字节,CHECK_R1为R1行的校验字节,以此类推,CHECK_R7为R7行的校验字节。
以偶校验为例,则
,
与实施例1中的推导同理,若BYTE_R0C0变化为,则新的校验码为:
即只需要得知数据改变部分位置其修改前数据、修改后数据的数值和原始校验码,即可计算出新的校验码。但是由于EEPROM具有擦写无法跨行的特性,对校验码的修改需要多启动一次擦写操作。
本实施例中CHECK_R0是作为R0行的校验码,即部分存储单元的校验码。同样的,若我们选择:
则CHECK_R0是作为整体存储单元的校验码。
由于行冗余单元通常位于译码地址的两端,冗余单元具有单独的译码地址,所以当行冗余单元作为整体存储单元或部分存储单元的校验码时,可以有效降低译码电路的复杂度。
CRC校验和ECC校验方式与上述奇偶校验方式相似,只是选取的校验算法不同。并且实际上,利用行冗余单元进行校验的方法也不局限于列举的奇偶校验、CRC校验和ECC校验。
以上仅描述了本发明的基本原理和优选实施方式,本领域人员可以根据上述描述作出许多变化和改进,这些变化和改进应该属于本发明的保护范围。
Claims (5)
1.一种充分利用存储器冗余单元的方法,所述存储器包括存储单元和冗余单元,冗余单元包括行冗余单元和列冗余单元,其特征在于,所述冗余单元内存储有校验码。
2.根据权利要求1所述的充分利用存储器冗余单元的方法,其特征在于,列冗余单元可以作为本行校验码,校验时,一次性读出本行所有存储单元的数据和列冗余单元进行校验和纠错;当有存储单元的数据发生变化时,重新计算新的校验码,计算校验码的方法包括:
(1)若校验码计算方法包含非线性运算,则需要读出本行所有未发生变化的数据与发生改变的数据,重新计算校验码;
(2)若校验码计算方法为线性运算,则只需根据发生变化位置其修改前数据、修改后数据和校验码,重新计算校验码。
3.根据权利要求1所述的充分利用存储器冗余单元的方法,其特征在于,行冗余单元可以作为整体存储单元或部分存储单元的校验码,校验时,一次性读出整体存储单元和相应的行冗余单元或部分存储单元和相应的行冗余单元进行校验和纠错;当有存储单元的数据发生变化时,重新计算新的校验码,计算校验码的方法包括:
(1)若校验码计算方法包含非线性运算,则需要读出所有未发生变化的数据与发生改变的数据,重新计算校验码;
(2)若校验码计算方法为线性运算,则只需根据发生变化位置其修改前数据、修改后数据和校验码,重新计算校验码。
4.根据权利要求2或3所述的充分利用存储器冗余单元的方法,其特征在于,所述计算校验码的方法包括奇偶校验、CRC校验或ECC校验。
5.根据权利要求1或2或3所述的充分利用存储器冗余单元的方法,其特征在于,所述存储器为EEPROM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510042661.5A CN104616698A (zh) | 2015-01-28 | 2015-01-28 | 一种充分利用存储器冗余单元的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510042661.5A CN104616698A (zh) | 2015-01-28 | 2015-01-28 | 一种充分利用存储器冗余单元的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104616698A true CN104616698A (zh) | 2015-05-13 |
Family
ID=53151115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510042661.5A Pending CN104616698A (zh) | 2015-01-28 | 2015-01-28 | 一种充分利用存储器冗余单元的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104616698A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165115A (zh) * | 2018-06-26 | 2019-01-08 | 北京中电华大电子设计有限责任公司 | 一种增强flash存储器可靠性的方法 |
WO2021208341A1 (zh) * | 2020-04-16 | 2021-10-21 | 国电南瑞科技股份有限公司 | 一种电力二次设备内存位翻转的检测恢复方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1398407A (zh) * | 2000-02-10 | 2003-02-19 | 株式会社日立制作所 | 半导体集成电路器件 |
CN1855297A (zh) * | 2005-04-21 | 2006-11-01 | 海力士半导体有限公司 | 包括失效单元校正电路的非易失性铁电存储器装置 |
CN101211667A (zh) * | 2006-12-29 | 2008-07-02 | 三星电子株式会社 | 降低误纠概率的纠错电路和方法和包括该电路的存储设备 |
CN101354666A (zh) * | 2008-05-22 | 2009-01-28 | 清华大学 | 微小卫星星载计算机数据存储用的差错检测和纠错系统 |
CN102543213A (zh) * | 2011-12-31 | 2012-07-04 | 大连现代高技术集团有限公司 | Eeprom芯片的数据检错方法 |
US20130205168A1 (en) * | 2012-02-02 | 2013-08-08 | International Business Machines Corporation | Partial-maximum distance separable (pmds) erasure correcting codes for storage arrays |
CN103531589A (zh) * | 2012-07-05 | 2014-01-22 | 中芯国际集成电路制造(上海)有限公司 | 半导体器件及其制造方法 |
US20140157087A1 (en) * | 2012-12-04 | 2014-06-05 | SanDisk Technologies, Inc. | Bad Column Handling in Flash Memory |
CN103988182A (zh) * | 2011-12-16 | 2014-08-13 | 英特尔公司 | 使用奇偶校验和冗余行的动态错误处理 |
-
2015
- 2015-01-28 CN CN201510042661.5A patent/CN104616698A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1398407A (zh) * | 2000-02-10 | 2003-02-19 | 株式会社日立制作所 | 半导体集成电路器件 |
CN1855297A (zh) * | 2005-04-21 | 2006-11-01 | 海力士半导体有限公司 | 包括失效单元校正电路的非易失性铁电存储器装置 |
CN101211667A (zh) * | 2006-12-29 | 2008-07-02 | 三星电子株式会社 | 降低误纠概率的纠错电路和方法和包括该电路的存储设备 |
CN101354666A (zh) * | 2008-05-22 | 2009-01-28 | 清华大学 | 微小卫星星载计算机数据存储用的差错检测和纠错系统 |
CN103988182A (zh) * | 2011-12-16 | 2014-08-13 | 英特尔公司 | 使用奇偶校验和冗余行的动态错误处理 |
CN102543213A (zh) * | 2011-12-31 | 2012-07-04 | 大连现代高技术集团有限公司 | Eeprom芯片的数据检错方法 |
US20130205168A1 (en) * | 2012-02-02 | 2013-08-08 | International Business Machines Corporation | Partial-maximum distance separable (pmds) erasure correcting codes for storage arrays |
CN103531589A (zh) * | 2012-07-05 | 2014-01-22 | 中芯国际集成电路制造(上海)有限公司 | 半导体器件及其制造方法 |
US20140157087A1 (en) * | 2012-12-04 | 2014-06-05 | SanDisk Technologies, Inc. | Bad Column Handling in Flash Memory |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165115A (zh) * | 2018-06-26 | 2019-01-08 | 北京中电华大电子设计有限责任公司 | 一种增强flash存储器可靠性的方法 |
WO2021208341A1 (zh) * | 2020-04-16 | 2021-10-21 | 国电南瑞科技股份有限公司 | 一种电力二次设备内存位翻转的检测恢复方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102567134B (zh) | 存储器模块的错误检查与校正系统以及方法 | |
US20070268905A1 (en) | Non-volatile memory error correction system and method | |
CN106856103A (zh) | 用于与非闪存的涡轮乘积码 | |
CN104115126A (zh) | 使用代数码的多阶段ecc编码 | |
CN106663472A (zh) | 非易失性存储器中的恢复算法 | |
US20150220387A1 (en) | Error correction in non_volatile memory | |
CN101246748A (zh) | 基于字节的掩码操作的设备和产生奇偶校验数据的方法 | |
US20140082264A1 (en) | Nand flash storage chip checking method and device | |
CN101882467B (zh) | Ecc参数可配置的存储器控制装置 | |
CN104299637B (zh) | 快闪存储器装置及其运作方法 | |
US10248497B2 (en) | Error detection and correction utilizing locally stored parity information | |
CN101477481A (zh) | 一种自动纠错系统及方法 | |
CN111061592A (zh) | 一种通用的Nand Flash比特位反转纠错方法 | |
US10741212B2 (en) | Error correction code (ECC) encoders, ECC encoding methods capable of encoding for one clock cycle, and memory controllers including the ECC encoders | |
CN105280240A (zh) | 一种Nand Flash参数的读取方法 | |
CN104991833B (zh) | 一种错误检测方法及电子设备 | |
CN106981308A (zh) | 一种精准获取llr信息的应用方法 | |
CN104616698A (zh) | 一种充分利用存储器冗余单元的方法 | |
CN101634938A (zh) | 固态硬盘的数据迁移方法、数据迁移装置及固态硬盘 | |
CN100468367C (zh) | 固态存储器的安全存储系统及方法 | |
CN105161137B (zh) | 一种MLC架构中Nand Flash控制器电路实现装置 | |
CN105575439B (zh) | 一种存储单元失效纠错的方法及存储器 | |
CN104269190A (zh) | 存储器的数据校验方法 | |
CN105279048A (zh) | 一种数据恢复方法及装置 | |
CN102298972B (zh) | 快闪记忆体的资料读取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150513 |
|
RJ01 | Rejection of invention patent application after publication |