CN117707839B - Otp数据错误检查与纠正系统、方法及存储芯片 - Google Patents
Otp数据错误检查与纠正系统、方法及存储芯片 Download PDFInfo
- Publication number
- CN117707839B CN117707839B CN202410159924.XA CN202410159924A CN117707839B CN 117707839 B CN117707839 B CN 117707839B CN 202410159924 A CN202410159924 A CN 202410159924A CN 117707839 B CN117707839 B CN 117707839B
- Authority
- CN
- China
- Prior art keywords
- data
- otp
- shadow register
- ecc
- memory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012937 correction Methods 0.000 claims description 13
- 238000013524 data verification Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种OTP数据错误检查与纠正系统、方法及存储芯片,该系统包括:OTP存储器包括多个顺序排列的存储单元,其中最后两个存储单元用于存储ECC校验值,其余存储单元用于存储数据;Shadow寄存器包括与存储数据的存储单元一一映射的多个寄存器;门控阵列用于输出Shadow寄存器的默认值或寄存器存储值;OTP控制器用于:将OTP存储器中数据加载至Shadow寄存器,每加载一个存储单元数据进行一次ECC值迭代运算,加载最后两个存储单元中的ECC校验值,通过与迭代运算得到的ECC值进行比对完成数据正确性的校验,并对Shadow寄存器的存储值进行纠正。本发明能够提高ECC的校验效率并减少ECC校验值占用的OTP存储空间。
Description
技术领域
本发明属于半导体技术领域,更具体地,涉及一种OTP数据错误检查与纠正系统、方法及存储芯片。
背景技术
OTP(One Time Programmable)存储器是一种非易失一次性编程的存储器,常用于存储芯片的可配置参数和校准参数,在芯片上电之后OTP数据被加载进Shadow寄存器。OTP存储器存储数据的正确性是保证带有OTP存储器的系统芯片正常工作的关键因素。
ECC(Error Correction Code)是一种可以检测2bit错误纠正1bit错误的算法,可以用于OTP数据的检测和纠错。利用ECC对OTP进行检测可以提高OTP数据的可靠性。
传统OTP数据的检测和纠错方法主要包括以下两种:
一种是对OTP数据进行分块存储和检验纠错,例如每3*8bit数据搭配8bit空间存储ECC校验值,每次加载3*8bit数据到临时空间中计算ECC校验值,然后,把矫正过的3*8bit数据写入目标寄存器。该方法中ECC校验值占用约25%的空间,ECC校验值所需OTP存储空间过多,导致OTP空间利用率低,同时在进行ECC计算时需要临时存储空间,分块的大小决定了临时空间的大小,而且无法检测存储块位置错误。
另一种是对整片OTP的数据全部读取后才开始计算ECC,这种方式需要的检测时间长,而且需要与OTP同样大小的临时存储器对OTP数据进行临时存储。
发明内容
本发明的目的是提出一种OTP数据错误检查与纠正系统、方法及存储芯片,实现提高ECC的校验效率并减少ECC校验值占用的OTP存储空间,同时ECC校验过程中无需临时存储空间存储OTP数据。
为实现上述目的,第一方面,本发明提出了一种OTP数据错误检查与纠正系统,包括:依次连接的OTP存储器、OTP控制器、Shadow寄存器和门控阵列;
所述OTP存储器包括多个顺序排列的存储单元,其中最后两个存储单元用于存储ECC校验值,其余存储单元用于存储芯片上电需要加载的数据;
所述Shadow寄存器包括与所述OTP存储器中存储数据的存储单元一一映射的多个寄存器;
所述门控阵列包括与所述Shadow寄存器中多个寄存器一一对应的多个门控单元,所述门控阵列用于输出Shadow寄存器的默认值或寄存器存储值;
所述OTP控制器用于:将所述OTP存储器中各存储单元存储的数据依次加载至所述Shadow寄存器,每加载一个存储单元的数据进行一次ECC值迭代运算,在所有数据加载完成后,加载所述OTP存储器中最后两个存储单元中的ECC校验值,通过与迭代运算得到的ECC值进行比对完成Shadow寄存器中数据正确性的校验,并对Shadow寄存器的存储值进行纠正。
可选地,所述OTP控制器包括ECC引擎,所述ECC引擎用于通过串行迭代的方式计算所述ECC值。
可选地,所述OTP控制器还包括逻辑控制器,所述逻辑控制器用于控制数据和ECC校验值的加载、Shadow寄存器的数据写入以及门控阵列的打开和关闭。
可选地,所述逻辑控制器还用于:在数据加载和校验完成之前,控制所述门控阵列关闭,并输出所述Shadow寄存器的默认值。
可选地,所述逻辑控制器还用于:在数据校验完成后,若发现加载出的数据完全正确,则打开门控阵列,使其输出Shadow寄存器中的存储值。
可选地,所述逻辑控制器还用于:在数据校验完成后,若发现加载出的数据中存在1bit错误,则纠正Shadow寄存器中的错误数据,并打开门控阵列,使其输出Shadow寄存器中的存储值。
可选地,所述逻辑控制器还用于:在数据校验完成后,若发现加载出的数据中存在2bit以上错误,则复位Shadow寄存器,不打开门控阵列。
第二方面,本发明提出一种OTP数据错误检查与纠正方法,基于第一方面任意一项所述的OTP数据错误检查与纠正系统,包括:
系统开始工作后,所述OTP控制器将所述OTP存储器存储单元中的数据依次加载到所述Shadow寄存器,其中每加载一个存储单元的数据,进行一次ECC值迭代运算;
所有数据加载完成后,所述OTP控制器加载所述OTP存储器中最后两个存储单元存储的ECC校验值,并与迭代运算所得ECC值进行比对,若发现加载出的数据完全正确,则打开所述门控阵列,使其输出所述Shadow寄存器的存储值;若发现加载出的数据中存在1bit错误,则纠正Shadow寄存器中的错误,并打开所述门控阵列,使其输出所述Shadow寄存器的存储值;若发现加载出的数据中存在2bit以上的错误,则复位所述Shadow寄存器,不开打所述门控阵列;
在数据加载和校验完成之前,使所述门控阵列始终处于关闭状态,输出所述Shadow寄存器的默认值。
第三方面,本发明提出一种存储芯片,包括第一方面任意一项所述的OTP数据错误检查与纠正系统。
本发明的有益效果在于:
(1)本发明可实现对整片OTP做一次ECC校验,在向目标寄存器加载OTP数据的同时计算ECC校验值,在加载完成后,对目标寄存器中的存储值进行纠正,通过一次ECC检测整片OTP的数据错误,提高ECC检测效率。
(2)本方法不对OTP空间进行分块校验,最大程度提高ECC的校验效率,ECC校验值占OTP空间极少,同时避免了传统分块检测方法中存在的ECC不能检测不同存储块位置错误的问题。
(3)本发明中边加载OTP数据边计算ECC校验值,计算ECC与OTP加载过程同时进行,不增加OTP数据加载的整体时间。
(4)本发明的ECC校验值过程中不需要临时存储空间存储OTP数据。
本发明的系统具有其它的特性和优点,这些特性和优点从并入本文中的附图和随后的具体实施方式中将是显而易见的,或者将在并入本文中的附图和随后的具体实施方式中进行详细陈述,这些附图和具体实施方式共同用于解释本发明的特定原理。
附图说明
通过结合附图对本发明示例性实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,在本发明示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了本发明一个实施例的一种OTP数据错误检查与纠正系统的结构示意图。
图2示出了本发明一个实施例的一种OTP数据错误检查与纠正系统中ECC校验值计算的原理图。
图3示出了本发明一个实施例的一种OTP数据错误检查与纠正方法的流程图。
具体实施方式
下面将参照附图更详细地描述本发明。虽然附图中显示了本发明的优选实施例,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
实施例1
如图1所示,本实施例提供一种OTP数据错误检查与纠正系统,包括:依次连接的OTP存储器、OTP控制器、Shadow寄存器和门控阵列;
所述OTP存储器包括多个顺序排列的存储单元,其中最后两个存储单元用于存储ECC校验值,其余存储单元用于存储芯片上电需要加载的数据;优选地,所述OTP存储器为非易失性存储器;本实施例中OTP存储器为256*8bit OTP存储器(即OTP有256个存储单元,每个单元8bit),其中使用存储单元0~253存储数据,存储单元254和255存储ECC校验值。
所述Shadow寄存器包括与所述OTP存储器中存储数据的存储单元一一映射的多个寄存器;Shadow寄存器为OTP内数据的一一映射,方便芯片直接使用OTP内数据;
所述门控阵列包括与所述Shadow寄存器中多个寄存器一一对应的多个门控单元,所述门控阵列用于输出Shadow寄存器的默认值或寄存器存储值;其中,在数据加载和校验完成之前输出Shadow寄存器默认值,以防止错误信息被输送到芯片中,在数据校验完成后,输出Shadow寄存器的存储值;
所述OTP控制器用于:将所述OTP存储器中各存储单元存储的数据依次加载至所述Shadow寄存器,每加载一个存储单元的数据进行一次ECC值迭代运算,在所有数据加载完成后,加载所述OTP存储器中最后两个存储单元中的ECC校验值,通过与迭代运算得到的ECC值进行比对完成Shadow寄存器中数据正确性的校验,并对Shadow寄存器的存储值进行纠正。
本实施例中,所述OTP控制器包括ECC引擎,所述ECC引擎用于通过串行迭代的方式计算所述ECC值。
本实施例中,所述OTP控制器还包括逻辑控制器,所述逻辑控制器用于控制数据和ECC校验值的加载、Shadow寄存器的数据写入以及门控阵列的打开和关闭。
所述逻辑控制器还用于:在数据加载和校验完成之前,控制所述门控阵列关闭,并输出所述Shadow寄存器的默认值;
在数据校验完成后,若发现加载出的数据完全正确,则打开门控阵列,使其输出Shadow寄存器中的存储值;
若发现加载出的数据中存在1bit错误,则纠正Shadow寄存器中的错误数据,并打开门控阵列,使其输出Shadow寄存器中的存储值;
若发现加载出的数据中存在2bit以上错误,则复位Shadow寄存器,不打开门控阵列。
本实施例中,OTP存储器中最后两个存储单元分别存储行ECC校验值和列ECC校验值,OTP控制器对加载至Shadow寄存器的数据正确性进行校验的过程如图2所示,通过获取存储单元中的数据、数据有效标志及数据地址,对数据地址进行解析后,分别进行行ECC值迭代计算和列ECC值迭代计算,之后进行行、列ECC校验值与迭代计算得到的行、列ECC值的分别比对,基于比对结果判断加载至Shadow寄存器的数据是否存在错误。
实施例2
如图3所示,本实施例提供一种OTP数据错误检查与纠正方法,基于实施例1所述的OTP数据错误检查与纠正系统,包括:
系统开始工作后,所述OTP控制器将所述OTP存储器存储单元中的数据依次加载到所述Shadow寄存器,其中每加载一个存储单元的数据,进行一次ECC值迭代运算;
所有数据加载完成后,所述OTP控制器加载所述OTP存储器中最后两个存储单元存储的ECC校验值,并与迭代运算所得ECC值进行比对,若发现加载出的数据完全正确,则打开所述门控阵列,使其输出所述Shadow寄存器的存储值;若发现加载出的数据中存在1bit错误,则纠正Shadow寄存器中的错误,并打开所述门控阵列,使其输出所述Shadow寄存器的存储值;若发现加载出的数据中存在2bit以上的错误,则复位所述Shadow寄存器,不打开所述门控阵列;
在数据加载和校验完成之前,使所述门控阵列始终处于关闭状态,输出所述Shadow寄存器的默认值。
具体而言,基于实施例1的OTP数据错误检查与纠正系统,系统开始工作后,OTP控制器加载OTP内数据到Shadow寄存器,从存储单元0开始,依次向后加载,直至存储单元253。每加载一个存储单元数据,ECC引擎做一次迭代运算。所有数据加载完成后,OTP控制器加载存储单元254和255存储ECC校验值,并与ECC引擎计算所得ECC值进行比对。若发现加载出的数据完全正确,则打开门控阵列,使其输出Shadow寄存器中的存储值;若发现加载出的数据中存在1bit错误,则纠正Shadow寄存器中的错误,然后打开门控阵列,使其输出Shadow寄存器值;若发现加载出的数据中存在2bit或更多bit错误,则复位Shadow寄存器,不打开门控阵列。在数据加载和校验完成之前,使门控阵列始终处于关闭状态,输出Shadow寄存器默认值。
本方法以串行迭代运算的方式计算ECC校验值,可以通过一次ECC检测整片OTP的数据错误,提高ECC效率,同时计算ECC值过程不需要临时空间存储数据,ECC校验值占用OTP空间极少,ECC计算与数据加载同步进行,不增加整体时间。
实施例3
本实施例提供一种存储芯片,包括实施例1所述的OTP数据错误检查与纠正系统。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。
Claims (9)
1.一种OTP数据错误检查与纠正系统,其特征在于,包括:依次连接的OTP存储器、OTP控制器、Shadow寄存器和门控阵列;
所述OTP存储器包括多个顺序排列的存储单元,其中最后两个存储单元用于存储ECC校验值,其余存储单元用于存储芯片上电需要加载的数据;
所述Shadow寄存器包括与所述OTP存储器中存储数据的存储单元一一映射的多个寄存器;
所述门控阵列包括与所述Shadow寄存器中多个寄存器一一对应的多个门控单元,所述门控阵列用于输出Shadow寄存器的默认值或寄存器存储值;
所述OTP控制器用于:将所述OTP存储器中各存储单元存储的数据依次加载至所述Shadow寄存器,每加载一个存储单元的数据进行一次ECC值迭代运算,在所有数据加载完成后,加载所述OTP存储器中最后两个存储单元中的ECC校验值,通过与迭代运算得到的ECC值进行比对完成Shadow寄存器中数据正确性的校验,并对Shadow寄存器的存储值进行纠正。
2.根据权利要求1所述的OTP数据错误检查与纠正系统,其特征在于,所述OTP控制器包括ECC引擎,所述ECC引擎用于通过串行迭代的方式计算所述迭代运算得到的ECC值。
3.根据权利要求1所述的OTP数据错误检查与纠正系统,其特征在于,所述OTP控制器还包括逻辑控制器,所述逻辑控制器用于控制数据和所述OTP存储器中最后两个存储单元中的ECC校验值的加载、Shadow寄存器的数据写入以及门控阵列的打开和关闭。
4.根据权利要求3所述的OTP数据错误检查与纠正系统,其特征在于,所述逻辑控制器还用于:在数据加载和校验完成之前,控制所述门控阵列关闭,并输出所述Shadow寄存器的默认值。
5.根据权利要求3所述的OTP数据错误检查与纠正系统,其特征在于,所述逻辑控制器还用于:在数据校验完成后,若发现加载出的数据完全正确,则打开门控阵列,使其输出Shadow寄存器中的存储值。
6.根据权利要求3所述的OTP数据错误检查与纠正系统,其特征在于,所述逻辑控制器还用于:在数据校验完成后,若发现加载出的数据中存在1bit错误,则纠正Shadow寄存器中的错误数据,并打开门控阵列,使其输出Shadow寄存器中的存储值。
7.根据权利要求3所述的OTP数据错误检查与纠正系统,其特征在于,所述逻辑控制器还用于:在数据校验完成后,若发现加载出的数据中存在2bit以上错误,则复位Shadow寄存器,不打开门控阵列。
8.一种OTP数据错误检查与纠正方法,应用于权利要求1-7任意一项所述的OTP数据错误检查与纠正系统,其特征在于,包括:
系统开始工作后,所述OTP控制器将所述OTP存储器存储单元中的数据依次加载到所述Shadow寄存器,其中每加载一个存储单元的数据,进行一次ECC值迭代运算;
所有数据加载完成后,所述OTP控制器加载所述OTP存储器中最后两个存储单元存储的ECC校验值,并与迭代运算所得ECC值进行比对,若发现加载出的数据完全正确,则打开所述门控阵列,使其输出所述Shadow寄存器的存储值;若发现加载出的数据中存在1bit错误,则纠正Shadow寄存器中的错误,并打开所述门控阵列,使其输出所述Shadow寄存器的存储值;若发现加载出的数据中存在2bit以上的错误,则复位所述Shadow寄存器,不打开所述门控阵列;
在数据加载和校验完成之前,使所述门控阵列始终处于关闭状态,输出所述Shadow寄存器的默认值。
9.一种存储芯片,其特征在于,包括权利要求1-7任意一项所述的OTP数据错误检查与纠正系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410159924.XA CN117707839B (zh) | 2024-02-05 | 2024-02-05 | Otp数据错误检查与纠正系统、方法及存储芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410159924.XA CN117707839B (zh) | 2024-02-05 | 2024-02-05 | Otp数据错误检查与纠正系统、方法及存储芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117707839A CN117707839A (zh) | 2024-03-15 |
CN117707839B true CN117707839B (zh) | 2024-04-26 |
Family
ID=90148250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410159924.XA Active CN117707839B (zh) | 2024-02-05 | 2024-02-05 | Otp数据错误检查与纠正系统、方法及存储芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707839B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104115126A (zh) * | 2011-12-22 | 2014-10-22 | 桑迪士克科技股份有限公司 | 使用代数码的多阶段ecc编码 |
CN111323149A (zh) * | 2020-03-13 | 2020-06-23 | 上海申矽凌微电子科技有限公司 | 含纠正otp错误功能的温度传感器装置及otp错误的纠正方法 |
CN113658632A (zh) * | 2021-08-24 | 2021-11-16 | 上海琪云工业科技有限公司 | 一种用ecc实现otp存储器检测的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230335210A1 (en) * | 2022-04-14 | 2023-10-19 | Nxp B.V. | Memory-read verification |
-
2024
- 2024-02-05 CN CN202410159924.XA patent/CN117707839B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104115126A (zh) * | 2011-12-22 | 2014-10-22 | 桑迪士克科技股份有限公司 | 使用代数码的多阶段ecc编码 |
CN111323149A (zh) * | 2020-03-13 | 2020-06-23 | 上海申矽凌微电子科技有限公司 | 含纠正otp错误功能的温度传感器装置及otp错误的纠正方法 |
CN113658632A (zh) * | 2021-08-24 | 2021-11-16 | 上海琪云工业科技有限公司 | 一种用ecc实现otp存储器检测的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117707839A (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100888852B1 (ko) | 반도체 메모리 장치 및 그것의 폐일 비트 테스트 방법 | |
US10908989B2 (en) | Variable resistance random-access memory and method for write operation having error bit recovering function thereof | |
US7930612B2 (en) | Error detection and correction scheme for a memory device | |
US7248514B2 (en) | Semiconductor memory device | |
US20130185609A1 (en) | Nonvolatile memory system | |
US8228740B2 (en) | Method of operating nonvolatile memory device | |
US20070025159A1 (en) | Non-volatile memory device having improved program speed and associated programming method | |
US20080253191A1 (en) | Flash memory device and set-up data initialization method | |
US20060140027A1 (en) | Semiconductor memory device and method of operating the same | |
US8856614B2 (en) | Semiconductor memory device detecting error | |
WO2010093441A1 (en) | Automatic refresh for improving data retention and endurance characteristics of an embedded non-volatile memory in a standard cmos logic process | |
US9165653B2 (en) | Determining sector status in a memory device | |
CN117707839B (zh) | Otp数据错误检查与纠正系统、方法及存储芯片 | |
US8605505B2 (en) | Semiconductor integrated circuit and data read method | |
US9183952B2 (en) | Apparatuses and methods for compressing data received over multiple memory accesses | |
US11231990B2 (en) | Device and method for generating error correction information | |
US20230161665A1 (en) | Error check scrub operation method and semiconductor system using the same | |
US8953375B2 (en) | Semiconductor memory device and operation method thereof | |
CN108255633B (zh) | 存储控制方法、存储装置 | |
US10732894B2 (en) | Method of writing in a non-volatile memory device and corresponding non-volatile memory device | |
US20160335157A1 (en) | Semiconductor memory system and data writing method | |
US7773421B2 (en) | Method and apparatus for accessing memory with read error by changing comparison | |
US11088711B2 (en) | Memory apparatus and data accessing method thereof | |
US11604586B2 (en) | Data protection method, with disk array tags, memory storage device and memory control circuit unit | |
JP2022524535A (ja) | 不揮発性メモリ機構の動作のための方法および装置 |
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 |