CN103594120B - 以读代写的存储器纠错方法 - Google Patents
以读代写的存储器纠错方法 Download PDFInfo
- Publication number
- CN103594120B CN103594120B CN201310537688.2A CN201310537688A CN103594120B CN 103594120 B CN103594120 B CN 103594120B CN 201310537688 A CN201310537688 A CN 201310537688A CN 103594120 B CN103594120 B CN 103594120B
- Authority
- CN
- China
- Prior art keywords
- data
- read
- write
- written
- ecc
- 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
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
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
Abstract
本发明提供一种以读代写的存储器纠错方法,主要解决了现有ECC编码过程中由于数据屏蔽的存在,导致不能顺利进行编码产生监督位或产生监督位需增加存储阵列面积的问题。该以读代写的存储器纠错方法,包括以下步骤,读入外部数据,若存在数据屏蔽,则将未被屏蔽的外部数据写入存储阵列,同时将与被屏蔽的数据相应的数据从存储阵列中读出,然后再将写入的外部数据与读出的数据合并,ECC编码电路用此合并后的数据通过设定的规则产生相应的监督位,新的数据和监督位被写入存储整列并完全代替之前存储的信息;该以读代写的存储器纠错方法解决了数据屏蔽对ECC的影响,可以复用存储器已有的读写电路,只需加入DM对读的控制。
Description
技术领域
本发明涉及一种存储器纠错方法,具体涉及一种以读代写的存储器纠错方法。
背景技术
ECC(ErrorCorrectionCode纠错码)被用来检测和纠正出错的数据。资料显示有很多种算法可支持ECC,例如最常用的汉明码(HammingCode),8位(bit)数据需要4位监督位(paritybit),64位数据需要7位监督位。可通过数据长度以及所需要检测和纠正的位数选取合适的算法。
对于不同的DDR结构(DDR1/2/3),典型的数据读取(streamin-and-out)预取数据长度有32位、64位以及128位。一种合理的折中解决办法可以对64位数据使用7位或者8位的监督位(根据不同的ECC算法),如图1和图2所示。
但对于DRAM来说要实现检测和纠正的功能并不是那么简单,因为DM数据屏蔽(Data Mask)的存在。也就是说,在把数据从外部写入存储单元的时候,某一个或者多个字节(byte)可能会被屏蔽掉,使之不会改写存储单元里已经存储的数据。这就使得ECC的编码过程不能顺利进行去产生监督位,如图3所示。为了解决这个问题,最简单的方法是把64位数据分成8组,每组8位数据(一个字节),刚好是DM的屏蔽长度,这样就不会受到DM的影响。但是由于每8位数据需要4位的监督位,那就会导致整个存储阵列的面积需要增加50%,使得DRAM的成本极大增加,所以需要解决DM带来的问题。
发明内容
本发明提供一种以读代写的存储器纠错方法,主要解决了现有ECC编码过程中由于数据屏蔽的存在,导致不能顺利进行编码产生监督位或产生监督位需增加存储阵列面积的问题。
本发明的技术解决方案如下:
该以读代写的存储器纠错方法,包括以下步骤:
1]读入外部数据,并判断是否存在数据屏蔽,若存在数据屏蔽则进入步骤2处理,若不存在数据屏蔽则进入步骤3处理:
2]由于存在数据屏蔽,则将未被屏蔽的外部数据写入存储阵列,同时将与被屏蔽的数据相应的数据从存储阵列中读出,然后再将写入的外部数据与读出的数据合并,ECC编码电路用此合并后的数据通过设定的规则产生相应的监督位,新的数据和监督位被写入存储整列并完全代替之前存储的信息;
3]由于并不存在数据屏蔽,所以外部数据直接写入,ECC编码电路用此外部数据通过设定的规则产生相应的监督位,新的数据和监督位被写入存储整列并完全代替之前存储的信息。
也可以不对外部数据进行是否存在数据屏蔽的判断,直接进行下述步骤:
读入存在数据屏蔽的外部数据,将未被屏蔽的外部数据写入存储阵列,同时将与被屏蔽的数据相应的数据从存储阵列中读出,然后再将写入的外部数据与读出的数据合并,ECC编码电路用此合并后的数据通过设定的规则产生相应的监督位,新的数据和监督位被写入存储整列并完全代替之前存储的信息。
本发明的优点在于:
该以读代写的存储器纠错方法解决了数据屏蔽对ECC的影响,可以复用存储器已有的读写电路,只需加入DM对读的控制。
附图说明
图1为现有ECC外部数据写入流程图;
图2为现有ECC外部数据读出流程图;
图3为现有带数据屏蔽的ECC外部数据写入流程图;
图4为本发明原理图;
图5为本发明参考图3的原理图。
具体实施方式
结合图1,现有ECC编码可按照下面的步骤进行:
首先,64位从外部来的数据被直接写入(图1的A);
其次,ECC编码(encoding)电路用此64位外部数据通过一定的规则产生7位或者8位的监督位(图1的B);
再次,新的64位数据和7/8位监督位被写入存储阵列并完全代替之前存储的信息(图1的C)。
结合图2,现有ECC的解码和纠正按照下面的步骤进行:
首先,64位数据和7/8位监督位从存储阵列读出(图2的C)。
其次,监督位将通过一定的规则去解码(decoding)判断数据是否有错,如果有错是哪位有错并去纠正(correction)错误的数据(图2的B)。
再次,解码后的数据被读出(图2的A)。
结合图3,现有带DM的ECC编码按照下面的步骤进行,但目前在有DM的情况下,ECC的编码不能正常工作:
首先,外部64位数据中有56位需要从外面而来(图3的A),其余8位被DM,不写入存储阵列。
其次,监督位仍由外部的64位数据产生(图3的B)。
再次,在存储阵列中,64位中的56位被写入的外部数据代替,64位中其余的8位仍保留原有信息。此时的监督位相对这64位数据来说是一个完全错误的监督位(图3的C)。
以下结合图4及实施例对本发明进行详述:
当有DM发生时,可把外部数据分为两种:一种是没被屏蔽的,如图4中的A;一种是被屏蔽的,如图4中的B。对于A来说,可以直接用来进行ECC的编码,并被写入存储阵列中,如图4中的C。对于被屏蔽的部分,不进行写操作,而是进行读操作,把相应的数据从存储阵列中读出来,如图4中的D,把数据A和数据D一起进行ECC编码操作,编码结果E送入存储阵列。这样可保证在同一个字线下存储的数据和ECC编码是一一对应的,解决DM带来的问题。
如图5所示:
如果仍用图3的例子,解决方法可以用图5表示。其中56位外部数据A没有被屏蔽,被写入存储阵列C;8位外部数据B被屏蔽,从存储阵列读出相应的8位数据D;ECC由数据A和数据D编码产生E并写入存储阵列。
Claims (2)
1.一种以读代写的DRAM存储器纠错方法,包括以下步骤:
1]读入外部数据,并判断是否存在数据屏蔽,若存在数据屏蔽则进入步骤2处理,若不存在数据屏蔽则进入步骤3处理:
2]存在数据屏蔽时的纠错步骤:
2.1]未被屏蔽的数据需要写入存储阵列,被屏蔽的数据不需要写入存储阵列;
将未被屏蔽的数据写入存储器,此部分数据为写入数据;
在写入数据的同时,将与被屏蔽的数据相对应位置的数据从存储阵列中读出,此部分数据为读出数据;
2.2]将写入数据和读出数据进行合并,合并后的数据称为合并数据;
合并数据的数据长度能满足ECC规则中产生监督位的需求;
合并数据为当前地址在写入过程结束后最终存储在阵列中的数据;
2.3]用合并数据按照ECC规则通过编码电路产生合并数据相应的ECC监督位;
2.4]将写入数据和2.3]中产生的ECC监督位写入存储阵列中相应位置处,从而保证存储的数据和ECC监督位一一对应;
3]由于并不存在数据屏蔽,所以外部数据直接写入,ECC编码电路用此外部数据通过设定的规则产生相应的监督位,新的数据和监督位被写入存储阵列并完全代替之前存储的信息。
2.一种以读代写的DRAM存储器纠错方法,包括以下步骤:
读入存在数据屏蔽的外部数据,将未被屏蔽的外部数据写入存储阵列,同时将与被屏蔽的数据相应的数据从存储阵列中读出,然后再将写入的外部数据与读出的数据合并,ECC编码电路用此合并后的数据通过设定的规则产生相应的监督位,新的数据和监督位被写入存储阵列并完全代替之前存储的信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310537688.2A CN103594120B (zh) | 2013-10-31 | 2013-10-31 | 以读代写的存储器纠错方法 |
US14/528,814 US9652323B2 (en) | 2013-10-31 | 2014-10-30 | Computer memory access |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310537688.2A CN103594120B (zh) | 2013-10-31 | 2013-10-31 | 以读代写的存储器纠错方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103594120A CN103594120A (zh) | 2014-02-19 |
CN103594120B true CN103594120B (zh) | 2018-08-21 |
Family
ID=50084221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310537688.2A Active CN103594120B (zh) | 2013-10-31 | 2013-10-31 | 以读代写的存储器纠错方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9652323B2 (zh) |
CN (1) | CN103594120B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536864B (zh) * | 2014-12-10 | 2016-09-07 | 山东华芯半导体有限公司 | 一种位翻转可控的Nand Flash仿真模型的注错方法 |
US9965352B2 (en) * | 2015-11-20 | 2018-05-08 | Qualcomm Incorporated | Separate link and array error correction in a memory system |
CN105609141B (zh) * | 2015-12-18 | 2018-08-10 | 中国科学院计算技术研究所 | 一种用于自动校正访问存储装置数据的装置及方法 |
DE102016218715A1 (de) * | 2016-09-28 | 2018-03-29 | Siemens Healthcare Gmbh | Verbesserte Erzeugung kombinierter Magnetresonanzbilder |
CN107039086A (zh) * | 2017-05-17 | 2017-08-11 | 西安紫光国芯半导体有限公司 | 具有兼容不同数据长度的纠错功能的存储器和纠错方法 |
CN107039087A (zh) * | 2017-05-17 | 2017-08-11 | 西安紫光国芯半导体有限公司 | 用于dram的ecc编码方法以及dram |
CN107025948B (zh) * | 2017-05-17 | 2023-08-15 | 西安紫光国芯半导体有限公司 | 具有标志位指示数据长度的纠错功能的存储器和纠错方法 |
KR102629405B1 (ko) | 2018-11-09 | 2024-01-25 | 삼성전자주식회사 | 반도체 메모리 장치, 메모리 시스템 및 반도체 메모리 장치의 동작 방법 |
CN112420118B (zh) * | 2020-12-11 | 2023-08-11 | 西安紫光国芯半导体有限公司 | 存储器及其存储方法和对应的电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684200A (zh) * | 2004-04-12 | 2005-10-19 | 恩益禧电子股份有限公司 | 半导体存储装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1500107A2 (en) * | 2002-04-22 | 2005-01-26 | Koninklijke Philips Electronics N.V. | Method of performing access to a single-port memory device, memory access device, integrated circuit device and method of use of an integrated circuit device |
JP4056488B2 (ja) * | 2004-03-30 | 2008-03-05 | エルピーダメモリ株式会社 | 半導体装置の試験方法及び製造方法 |
US7428689B2 (en) * | 2005-08-30 | 2008-09-23 | Infineon Technologies Ag | Data memory system and method for transferring data into a data memory |
US20070268905A1 (en) * | 2006-05-18 | 2007-11-22 | Sigmatel, Inc. | Non-volatile memory error correction system and method |
US7613049B2 (en) * | 2007-01-08 | 2009-11-03 | Macronix International Co., Ltd | Method and system for a serial peripheral interface |
KR100855979B1 (ko) * | 2007-02-13 | 2008-09-02 | 삼성전자주식회사 | 바이트 마스킹 동작을 위한 반도체 메모리 장치 및 패리티데이터 생성 방법 |
US8395950B2 (en) * | 2010-10-15 | 2013-03-12 | Taiwan Semiconductor Manufacturing Co., Ltd. | Memory device having a clock skew generator |
US9350386B2 (en) * | 2012-04-12 | 2016-05-24 | Samsung Electronics Co., Ltd. | Memory device, memory system, and method of operating the same |
CN103187104B (zh) * | 2013-03-19 | 2016-11-23 | 西安紫光国芯半导体有限公司 | Dram存储器的纠错方法 |
CN103197986A (zh) * | 2013-03-19 | 2013-07-10 | 西安华芯半导体有限公司 | 内存数据中监督位快速生成方法 |
CN103187091A (zh) * | 2013-03-19 | 2013-07-03 | 西安华芯半导体有限公司 | Dram自刷新方法 |
US9148176B2 (en) * | 2013-06-24 | 2015-09-29 | Micron Technology, Inc. | Circuits, apparatuses, and methods for correcting data errors |
CN103531246B (zh) * | 2013-10-31 | 2016-10-05 | 西安紫光国芯半导体有限公司 | 快速以读代写的存储器纠错方法 |
-
2013
- 2013-10-31 CN CN201310537688.2A patent/CN103594120B/zh active Active
-
2014
- 2014-10-30 US US14/528,814 patent/US9652323B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684200A (zh) * | 2004-04-12 | 2005-10-19 | 恩益禧电子股份有限公司 | 半导体存储装置 |
Also Published As
Publication number | Publication date |
---|---|
US20150121171A1 (en) | 2015-04-30 |
CN103594120A (zh) | 2014-02-19 |
US9652323B2 (en) | 2017-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103594120B (zh) | 以读代写的存储器纠错方法 | |
CN103187104B (zh) | Dram存储器的纠错方法 | |
CN105340022B (zh) | 用于校正数据错误的电路、设备及方法 | |
TWI674767B (zh) | 用於nand快閃記憶體的渦輪乘積碼 | |
CN103544073B (zh) | 读取闪存中区块的数据的方法及相关的记忆装置 | |
CN101609418B (zh) | 在具有共享错误位码的共同帧中传送数据和数据屏蔽位的系统 | |
JP2006134310A (ja) | データ信頼性を向上させることができるメモリ管理方法 | |
US10503593B2 (en) | Two layer quad bit error correction | |
TWI433157B (zh) | 存取快閃記憶體的方法以及相關之記憶裝置 | |
JP2004171751A (ja) | オンドライブ統合化セクタ・フォーマットraidの誤り訂正符号システムおよび方法 | |
KR102142602B1 (ko) | 신규 메모리 디바이스 | |
US9754682B2 (en) | Implementing enhanced performance with read before write to phase change memory | |
CN103531246A (zh) | 快速以读代写的存储器纠错方法 | |
TWI566096B (zh) | 資料儲存系統與其相關方法 | |
CN101634938A (zh) | 固态硬盘的数据迁移方法、数据迁移装置及固态硬盘 | |
CN109215726B (zh) | 存储器测试方法及其存储器装置 | |
CN105095011B (zh) | 数据处理方法、存储器控制电路单元以及存储器存储装置 | |
EP2965205B1 (en) | Apparatus and method for controlling memory in mobile communication system | |
US10025652B2 (en) | Error location pointers for non volatile memory | |
CN104681095B (zh) | 储存装置及其操作方法 | |
US9104596B2 (en) | Memory system | |
US10250279B2 (en) | Circuits and methods for writing and reading data | |
CN112306733B (zh) | 存储器装置、存储器控制器及其数据存取方法 | |
CN102682826A (zh) | 复用编码器的编译码存储装置及方法 | |
CN115987304A (zh) | 一种针对数据屏蔽的纠错方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 710055 4, A block 38, hi tech six road, hi tech Zone, Xi'an, Shaanxi. Applicant after: XI'AN UNIIC SEMICONDUCTORS Co.,Ltd. Address before: 710055 4, A seat, Tengfei innovation center, 38 hi tech 6 road, Xi'an, Shaanxi. Applicant before: Xi'an Sinochip Semiconductors Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |