CN103187104B - Dram存储器的纠错方法 - Google Patents

Dram存储器的纠错方法 Download PDF

Info

Publication number
CN103187104B
CN103187104B CN201310088811.7A CN201310088811A CN103187104B CN 103187104 B CN103187104 B CN 103187104B CN 201310088811 A CN201310088811 A CN 201310088811A CN 103187104 B CN103187104 B CN 103187104B
Authority
CN
China
Prior art keywords
data
check bit
error correction
characterize
bit
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
Application number
CN201310088811.7A
Other languages
English (en)
Other versions
CN103187104A (zh
Inventor
亚历山大
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Unilc Semiconductors Co Ltd
Original Assignee
Xian Unilc Semiconductors Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Unilc Semiconductors Co Ltd filed Critical Xian Unilc Semiconductors Co Ltd
Priority to CN201310088811.7A priority Critical patent/CN103187104B/zh
Publication of CN103187104A publication Critical patent/CN103187104A/zh
Priority to US14/778,042 priority patent/US20160124803A1/en
Priority to PCT/CN2014/073667 priority patent/WO2014146574A1/zh
Application granted granted Critical
Publication of CN103187104B publication Critical patent/CN103187104B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • G06F11/102Error in check bits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • G06F11/1052Bypassing or disabling error detection or correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1009Data masking during input/output
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

本发明提供一种存储器的纠错方法解决了现有ECC编码过程中由于数据屏蔽的存在,导致不能顺利进行编码产生监督位或产生监督位需增加存储阵列面积的问题。该存储器的纠错方法包括以下步骤:1]读入外部数据,根据设定的规则产生监督位,同时产生表征位,将外部数据、表征位、监督位存入存储器;2]读出存储器内的外部数据、表征位、监督位;若表征位表征存在数据屏蔽,表明监督位无效且数据读出时不进行解码和纠错,若表征位表征不存在数据屏蔽,表明监督位有效且数据读出时用监督位进行解码和纠错。本发明提供的存储器的纠错方法可降低DRAM出错的可能性,即使对于有DM使用的系统同样可降低DRAM出错的可能性。

Description

DRAM存储器的纠错方法
技术领域
本发明涉及一种DRAM存储器的纠错方法。
背景技术
ECC(Error Correction Code纠错码)被用来检测和纠正出错的数据。资料显示有很多种算法可支持ECC,例如最常用的汉明码(Hamming Code),8位(bit)数据需要4位监督位(parity bit),64位数据需要7位监督位。可通过数据长度以及所需要检测和纠正的位数选取合适的算法。
对于不同的DDR结构(DDR1/2/3),典型的streaminandout数据读取预取数据长度有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带来的问题。
发明内容
本发明提供一种DRAM存储器的纠错方法,主要解决了现有ECC编码过程中由于数据屏蔽的存在,导致不能顺利进行编码产生监督位或产生监督位需增加存储阵列面积的问题。
本发明的技术解决方案如下:
该DRAM存储器的纠错方法,包括以下步骤:
1]读入外部数据,根据设定的规则产生监督位,同时产生表征位,将外部数据、表征位、监督位存入存储器;其中,监督位用于实现数据读入的检测和纠错,表征位用于表征是否存在数据屏蔽;若存在数据屏蔽,表明监督位无效,若不存在数据屏蔽,表明监督位有效;
2]读出存储器内的外部数据、表征位、监督位;若表征位表征存在数据屏蔽,表明监督位无效且数据读出时不进行解码和纠错,若表征位表征不存在数据屏蔽,表明监督位有效且数据读出时用监督位进行解码和纠错。
上述外部数据为64位汉明码时,监督位为7位,表征位为1位,表证位作为65位数据串中的第65位。
上述步骤2中如果仅存在1位数据错误时,当错误数据为表征位或监督位时,无需纠错;当错误数据不是表征位或监督位,则根据表征位判断是否存在数据屏蔽,若不存在数据屏蔽,用监督位对外部数据进行纠错,若存在数据屏蔽时,不纠错;
上述步骤2中如果存在两位及以上数据错误时,不纠错。
本发明的优点在于:
本发明提供的存储器的纠错方法可降低DRAM出错的可能性,即使对于有DM使用的系统同样可降低DRAM出错的可能性。
本发明提供的存储器的纠错方法适用于只有一位数据出错的情况,并且错误不依赖于DM是否会发生。
附图说明
图1为现有ECC外部数据写入流程图;
图2为现有ECC外部数据读出流程图;
图3为现有带数据屏蔽的ECC外部数据写入流程图;
图4为本发明原理图。
具体实施方式
结合图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发生,如果发生,表明监督位无效并且不去进行解码和纠正。
例如,对于汉明码,64位数据需要7位监督位去实现检测和纠正一位错误数据的功能。因此可以用监督位中的第8位(DRAM中每8位构成一个基本单元)作为65位数据串中的一位,这位数据将会表征是否有DM发生。这位数据不受ECC的编解码和纠正,在解码和纠正时需要通过此数据判断是否需要进行解码和纠正,当然这判断和解码可同时进行以提高效率。如果用等于“0”表示没有DM,等于“1”表示有DM,在只有一位错误发生的情况下,以下是可能出现的现象:
判断位出错,但因为只有一位错误,其它位数据都正确,不需纠正。
若判断位为“0”,可进行解码和纠正。若有一位错误,可纠正。
若判断为位“1”,不进行解码和纠正。若有一位错误,不能纠正。

Claims (4)

1.一种DRAM存储器的纠错方法,其特征在于,包括以下步骤:
1]读入外部数据,根据设定的规则产生监督位,同时产生表征位,将外部数据、表征位、监督位存入存储器;其中,监督位用于实现数据读入的检测和纠错,表征位用于表征是否存在数据屏蔽;若存在数据屏蔽,表明监督位无效,若不存在数据屏蔽,表明监督位有效;
2]读出存储器内的外部数据、表征位、监督位;若表征位表征存在数据屏蔽,表明监督位无效且数据读出时不进行解码和纠错,若表征位表征不存在数据屏蔽,表明监督位有效且数据读出时用监督位进行解码和纠错。
2.根据权利要求1所述的DRAM存储器的纠错方法,其特征在于:所述外部数据为64位汉明码时,监督位为7位,表征位为1位,表证位作为65位数据串中的第65位。
3.根据权利要求1或2所述的DRAM存储器的纠错方法,其特征在于:所述步骤2中如果仅存在1位数据错误时,当错误数据为表征位或监督位时,无需纠错;当错误数据不是表征位或监督位,则根据表征位判断是否存在数据屏蔽,若不存在数据屏蔽,用监督位对外部数据进行纠错,若存在数据屏蔽时,不纠错。
4.根据权利要求3所述的DRAM存储器的纠错方法,其特征在于:所述步骤2中如果存在两位及以上数据错误时,不纠错。
CN201310088811.7A 2013-03-19 2013-03-19 Dram存储器的纠错方法 Active CN103187104B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310088811.7A CN103187104B (zh) 2013-03-19 2013-03-19 Dram存储器的纠错方法
US14/778,042 US20160124803A1 (en) 2013-03-19 2014-03-19 Storage Device Data Access Method and Storage Device
PCT/CN2014/073667 WO2014146574A1 (zh) 2013-03-19 2014-03-19 存储器数据存取方法以及存储器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310088811.7A CN103187104B (zh) 2013-03-19 2013-03-19 Dram存储器的纠错方法

Publications (2)

Publication Number Publication Date
CN103187104A CN103187104A (zh) 2013-07-03
CN103187104B true CN103187104B (zh) 2016-11-23

Family

ID=48678232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310088811.7A Active CN103187104B (zh) 2013-03-19 2013-03-19 Dram存储器的纠错方法

Country Status (3)

Country Link
US (1) US20160124803A1 (zh)
CN (1) CN103187104B (zh)
WO (1) WO2014146574A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103187104B (zh) * 2013-03-19 2016-11-23 西安紫光国芯半导体有限公司 Dram存储器的纠错方法
CN103531246B (zh) * 2013-10-31 2016-10-05 西安紫光国芯半导体有限公司 快速以读代写的存储器纠错方法
CN103594120B (zh) 2013-10-31 2018-08-21 西安紫光国芯半导体有限公司 以读代写的存储器纠错方法
DE102013226407A1 (de) * 2013-12-18 2015-06-18 Continental Teves Ag & Co. Ohg Verfahren und Vorrichtung zur Erkennung von fehlerhaften Daten in wenigstens einem Speicherelement
US9588841B2 (en) * 2014-09-26 2017-03-07 Intel Corporation Using reliability information from multiple storage units and a parity storage unit to recover data for a failed one of the storage units
US20160378591A1 (en) * 2015-06-24 2016-12-29 Intel Corporation Adaptive error correction in memory devices
CN108511028B (zh) * 2015-12-18 2022-02-08 中国科学院计算技术研究所 利用纠错码自动校正访问存储装置数据的装置及方法
CN107025948B (zh) * 2017-05-17 2023-08-15 西安紫光国芯半导体有限公司 具有标志位指示数据长度的纠错功能的存储器和纠错方法
CN107039087A (zh) * 2017-05-17 2017-08-11 西安紫光国芯半导体有限公司 用于dram的ecc编码方法以及dram
US11269720B2 (en) 2019-08-11 2022-03-08 Winbond Electronics Corp. Memory storage apparatus and data access method
CN110492889B (zh) * 2019-08-16 2023-05-30 西安紫光国芯半导体有限公司 检测纠正两位错误的编码解码方法、编码解码器及处理器
CN115412103B (zh) * 2022-11-01 2023-03-31 浙江力积存储科技有限公司 一种针对数据屏蔽的纠错方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1924820A (zh) * 2005-08-30 2007-03-07 奇梦达股份公司 用于将数据传送到数据存储器中的数据存储器系统和方法
CN101176159A (zh) * 2005-05-17 2008-05-07 国际商业机器公司 在dram存储器中处理写屏蔽的方法
CN101246748A (zh) * 2007-02-13 2008-08-20 三星电子株式会社 基于字节的掩码操作的设备和产生奇偶校验数据的方法
CN101609418A (zh) * 2008-06-18 2009-12-23 英特尔公司 在具有共享错误位码的共同帧中传送数据和数据屏蔽位的系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170474A (en) * 1986-08-27 1992-12-08 Hitachi, Ltd. Method of searching a queue in response to a search instruction
JPS6355636A (ja) * 1986-08-27 1988-03-10 Hitachi Ltd デ−タ処理システム
US5475766A (en) * 1991-09-05 1995-12-12 Kabushiki Kaisha Toshiba Pattern inspection apparatus with corner rounding of reference pattern data
US6122189A (en) * 1998-10-02 2000-09-19 Rambus Inc. Data packet with embedded mask
JP2009139632A (ja) * 2007-12-06 2009-06-25 Elpida Memory Inc マスクパターン補正方法及び露光用マスク
CN101216751B (zh) * 2008-01-21 2010-07-14 戴葵 基于分布存储结构的具有数据处理能力的动态随机存储器装置
US9530515B2 (en) * 2013-03-13 2016-12-27 Sandisk Technologies Llc Determining read voltages for reading memory
CN103187104B (zh) * 2013-03-19 2016-11-23 西安紫光国芯半导体有限公司 Dram存储器的纠错方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101176159A (zh) * 2005-05-17 2008-05-07 国际商业机器公司 在dram存储器中处理写屏蔽的方法
CN1924820A (zh) * 2005-08-30 2007-03-07 奇梦达股份公司 用于将数据传送到数据存储器中的数据存储器系统和方法
CN101246748A (zh) * 2007-02-13 2008-08-20 三星电子株式会社 基于字节的掩码操作的设备和产生奇偶校验数据的方法
CN101609418A (zh) * 2008-06-18 2009-12-23 英特尔公司 在具有共享错误位码的共同帧中传送数据和数据屏蔽位的系统

Also Published As

Publication number Publication date
US20160124803A1 (en) 2016-05-05
CN103187104A (zh) 2013-07-03
WO2014146574A1 (zh) 2014-09-25

Similar Documents

Publication Publication Date Title
CN103187104B (zh) Dram存储器的纠错方法
CN103594120B (zh) 以读代写的存储器纠错方法
US9772900B2 (en) Tiered ECC single-chip and double-chip Chipkill scheme
TWI674767B (zh) 用於nand快閃記憶體的渦輪乘積碼
US9979416B2 (en) Memory controller and method of data bus inversion using an error detection correction code
KR100645058B1 (ko) 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법
EP2218003B1 (en) Correction of errors in a memory array
CN111143107B (zh) 一种fpga单粒子反转校验电路和方法
CN102394114B (zh) 具有自适应纠错能力的bch码纠错方法
US10503593B2 (en) Two layer quad bit error correction
CN103531246B (zh) 快速以读代写的存储器纠错方法
CN101281788A (zh) 闪存系统及其控制方法
US20170077962A1 (en) Method and associated decoding circuit for decoding an error correction code
JP2008090442A (ja) メモリ制御装置
US20150143187A1 (en) Implementing enhanced performance with read before write to phase change memory
CN101634938A (zh) 固态硬盘的数据迁移方法、数据迁移装置及固态硬盘
CN111221746B (zh) 数据储存系统与其相关方法
EP2965205B1 (en) Apparatus and method for controlling memory in mobile communication system
US20150200686A1 (en) Encoding device, decoding device, and operating method thereof
JP2005011386A (ja) 誤り訂正装置
CN112306733B (zh) 存储器装置、存储器控制器及其数据存取方法
US8560912B2 (en) Method and apparatus for erasure decoding an ECC coded bitstream
TWI431631B (zh) 應用可變動錯誤更正碼容量的快閃記憶體控制方法
US20190294497A1 (en) Method of implementing error correction code used by memory storage apparatus and memory storage apparatus using the same
CN115987304A (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
CB02 Change of applicant information

Address after: 710055 Shaanxi City, Xi'an province high tech Road No. 38, innovation center, A, block, floor 4

Applicant after: XI'AN UNIIC SEMICONDUCTORS Co.,Ltd.

Address before: 710055 Shaanxi City, Xi'an province high tech Road No. 38, innovation center, A, block, floor 4

Applicant before: Xi'an Sinochip Semiconductors Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant