CN103594120A - 以读代写的存储器纠错方法 - Google Patents
以读代写的存储器纠错方法 Download PDFInfo
- Publication number
- CN103594120A CN103594120A CN201310537688.2A CN201310537688A CN103594120A CN 103594120 A CN103594120 A CN 103594120A CN 201310537688 A CN201310537688 A CN 201310537688A CN 103594120 A CN103594120 A CN 103594120A
- Authority
- CN
- China
- Prior art keywords
- data
- read
- error correction
- correction method
- memorizer
- 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.)
- Granted
Links
Images
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
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)
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.一种以读代写的存储器纠错方法,包括以下步骤:
1]读入外部数据,并判断是否存在数据屏蔽,若存在数据屏蔽则进入步骤2处理,若不存在数据屏蔽则进入步骤3处理:
2]由于存在数据屏蔽,则将未被屏蔽的外部数据写入存储阵列,同时将与被屏蔽的数据相应的数据从存储阵列中读出,然后再将写入的外部数据与读出的数据合并,ECC编码电路用此合并后的数据通过设定的规则产生相应的监督位,新的数据和监督位被写入存储整列并完全代替之前存储的信息;
3]由于并不存在数据屏蔽,所以外部数据直接写入,ECC编码电路用此外部数据通过设定的规则产生相应的监督位,新的数据和监督位被写入存储整列并完全代替之前存储的信息。
2.一种以读代写的存储器纠错方法,包括以下步骤:
读入存在数据屏蔽的外部数据,将未被屏蔽的外部数据写入存储阵列,同时将与被屏蔽的数据相应的数据从存储阵列中读出,然后再将写入的外部数据与读出的数据合并,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 true CN103594120A (zh) | 2014-02-19 |
CN103594120B 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) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536864A (zh) * | 2014-12-10 | 2015-04-22 | 山东华芯半导体有限公司 | 一种位翻转可控的Nand Flash仿真模型的注错方法 |
CN105609141A (zh) * | 2015-12-18 | 2016-05-25 | 中国科学院计算技术研究所 | 一种用于自动校正访问存储装置数据的装置及方法 |
CN107025948A (zh) * | 2017-05-17 | 2017-08-08 | 西安紫光国芯半导体有限公司 | 具有标志位指示数据长度的纠错功能的存储器和纠错方法 |
CN107039086A (zh) * | 2017-05-17 | 2017-08-11 | 西安紫光国芯半导体有限公司 | 具有兼容不同数据长度的纠错功能的存储器和纠错方法 |
CN107039087A (zh) * | 2017-05-17 | 2017-08-11 | 西安紫光国芯半导体有限公司 | 用于dram的ecc编码方法以及dram |
CN112420118A (zh) * | 2020-12-11 | 2021-02-26 | 西安紫光国芯半导体有限公司 | 存储器及其存储方法和对应的电子设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9965352B2 (en) * | 2015-11-20 | 2018-05-08 | Qualcomm Incorporated | Separate link and array error correction in a memory system |
DE102016218715A1 (de) * | 2016-09-28 | 2018-03-29 | Siemens Healthcare Gmbh | Verbesserte Erzeugung kombinierter Magnetresonanzbilder |
KR102629405B1 (ko) | 2018-11-09 | 2024-01-25 | 삼성전자주식회사 | 반도체 메모리 장치, 메모리 시스템 및 반도체 메모리 장치의 동작 방법 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1647204A (zh) * | 2002-04-22 | 2005-07-27 | 皇家飞利浦电子股份有限公司 | 存取单端口存储设备的方法,存储器存取设备,集成电路设备和集成电路设备的使用方法 |
CN1684200A (zh) * | 2004-04-12 | 2005-10-19 | 恩益禧电子股份有限公司 | 半导体存储装置 |
CN1924820A (zh) * | 2005-08-30 | 2007-03-07 | 奇梦达股份公司 | 用于将数据传送到数据存储器中的数据存储器系统和方法 |
US20070268905A1 (en) * | 2006-05-18 | 2007-11-22 | Sigmatel, Inc. | Non-volatile memory error correction system and method |
CN101226456A (zh) * | 2007-01-08 | 2008-07-23 | 旺宏电子股份有限公司 | 一种用于序列周边接口的方法与系统 |
CN101246748A (zh) * | 2007-02-13 | 2008-08-20 | 三星电子株式会社 | 基于字节的掩码操作的设备和产生奇偶校验数据的方法 |
CN102456392A (zh) * | 2010-10-15 | 2012-05-16 | 台湾积体电路制造股份有限公司 | 具有时钟偏移发生器的存储器器件 |
CN103187104A (zh) * | 2013-03-19 | 2013-07-03 | 西安华芯半导体有限公司 | 存储器的纠错方法 |
CN103187091A (zh) * | 2013-03-19 | 2013-07-03 | 西安华芯半导体有限公司 | Dram自刷新方法 |
CN103197986A (zh) * | 2013-03-19 | 2013-07-10 | 西安华芯半导体有限公司 | 内存数据中监督位快速生成方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4056488B2 (ja) * | 2004-03-30 | 2008-03-05 | エルピーダメモリ株式会社 | 半導体装置の試験方法及び製造方法 |
US9350386B2 (en) * | 2012-04-12 | 2016-05-24 | Samsung Electronics Co., Ltd. | Memory device, memory system, and method of operating the same |
KR101750662B1 (ko) * | 2013-06-24 | 2017-06-23 | 마이크론 테크놀로지, 인크. | 데이터 에러 교정용 회로, 장치, 및 방법 |
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 (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1647204A (zh) * | 2002-04-22 | 2005-07-27 | 皇家飞利浦电子股份有限公司 | 存取单端口存储设备的方法,存储器存取设备,集成电路设备和集成电路设备的使用方法 |
CN1684200A (zh) * | 2004-04-12 | 2005-10-19 | 恩益禧电子股份有限公司 | 半导体存储装置 |
CN1924820A (zh) * | 2005-08-30 | 2007-03-07 | 奇梦达股份公司 | 用于将数据传送到数据存储器中的数据存储器系统和方法 |
US20070268905A1 (en) * | 2006-05-18 | 2007-11-22 | Sigmatel, Inc. | Non-volatile memory error correction system and method |
CN101226456A (zh) * | 2007-01-08 | 2008-07-23 | 旺宏电子股份有限公司 | 一种用于序列周边接口的方法与系统 |
CN101246748A (zh) * | 2007-02-13 | 2008-08-20 | 三星电子株式会社 | 基于字节的掩码操作的设备和产生奇偶校验数据的方法 |
CN102456392A (zh) * | 2010-10-15 | 2012-05-16 | 台湾积体电路制造股份有限公司 | 具有时钟偏移发生器的存储器器件 |
CN103187104A (zh) * | 2013-03-19 | 2013-07-03 | 西安华芯半导体有限公司 | 存储器的纠错方法 |
CN103187091A (zh) * | 2013-03-19 | 2013-07-03 | 西安华芯半导体有限公司 | Dram自刷新方法 |
CN103197986A (zh) * | 2013-03-19 | 2013-07-10 | 西安华芯半导体有限公司 | 内存数据中监督位快速生成方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536864A (zh) * | 2014-12-10 | 2015-04-22 | 山东华芯半导体有限公司 | 一种位翻转可控的Nand Flash仿真模型的注错方法 |
CN104536864B (zh) * | 2014-12-10 | 2016-09-07 | 山东华芯半导体有限公司 | 一种位翻转可控的Nand Flash仿真模型的注错方法 |
CN105609141A (zh) * | 2015-12-18 | 2016-05-25 | 中国科学院计算技术研究所 | 一种用于自动校正访问存储装置数据的装置及方法 |
CN107025948A (zh) * | 2017-05-17 | 2017-08-08 | 西安紫光国芯半导体有限公司 | 具有标志位指示数据长度的纠错功能的存储器和纠错方法 |
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 | 西安紫光国芯半导体有限公司 | 具有标志位指示数据长度的纠错功能的存储器和纠错方法 |
CN112420118A (zh) * | 2020-12-11 | 2021-02-26 | 西安紫光国芯半导体有限公司 | 存储器及其存储方法和对应的电子设备 |
CN112420118B (zh) * | 2020-12-11 | 2023-08-11 | 西安紫光国芯半导体有限公司 | 存储器及其存储方法和对应的电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US9652323B2 (en) | 2017-05-16 |
US20150121171A1 (en) | 2015-04-30 |
CN103594120B (zh) | 2018-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103594120A (zh) | 以读代写的存储器纠错方法 | |
US9703633B2 (en) | Circuits, apparatuses, and methods for correcting data errors | |
TWI674767B (zh) | 用於nand快閃記憶體的渦輪乘積碼 | |
US8122303B2 (en) | Data structure for flash memory and data reading/writing method thereof | |
CN103187104B (zh) | Dram存储器的纠错方法 | |
US8756398B2 (en) | Partitioning pages of an electronic memory | |
US20180157428A1 (en) | Data protection of flash storage devices during power loss | |
US9665423B2 (en) | End-to-end error detection and correction | |
CN103531246A (zh) | 快速以读代写的存储器纠错方法 | |
US9754682B2 (en) | Implementing enhanced performance with read before write to phase change memory | |
US10514980B2 (en) | Encoding method and memory storage apparatus using the same | |
CN101634938A (zh) | 固态硬盘的数据迁移方法、数据迁移装置及固态硬盘 | |
US9329926B1 (en) | Overlapping data integrity for semiconductor devices | |
TWI566096B (zh) | 資料儲存系統與其相關方法 | |
CN105027084B (zh) | 在移动通信系统中控制存储器的装置和方法 | |
CN105575439B (zh) | 一种存储单元失效纠错的方法及存储器 | |
US20190391874A1 (en) | Memory storage apparatus with dynamic data repair mechanism and method of dynamic data repair thereof | |
TWI550627B (zh) | 儲存裝置及其操作方法 | |
CN103631669B (zh) | 一种纠错sram的回写方法 | |
TWI539467B (zh) | 快取列中記憶體抹除資訊技術 | |
TWI523023B (zh) | 用於記憶體之錯誤校正碼方法 | |
TW202101470A (zh) | 具有動態資料修復機制的記憶體存放裝置及其動態資料修復的方法 | |
JP2016170679A (ja) | 半導体装置 | |
JP2012230730A (ja) | 半導体装置 |
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 | ||
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. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |