CN103197986A - 内存数据中监督位快速生成方法 - Google Patents
内存数据中监督位快速生成方法 Download PDFInfo
- Publication number
- CN103197986A CN103197986A CN2013100888121A CN201310088812A CN103197986A CN 103197986 A CN103197986 A CN 103197986A CN 2013100888121 A CN2013100888121 A CN 2013100888121A CN 201310088812 A CN201310088812 A CN 201310088812A CN 103197986 A CN103197986 A CN 103197986A
- Authority
- CN
- China
- Prior art keywords
- data
- check bit
- bit
- method fast
- check
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种内存数据中监督位快速生成方法,主要解决了现有内存ECC技术中监督位生成时间较长的问题。该内存数据中监督位快速生成方法由于在存入数据时,并不等待数据存储完成后依赖全部数据生成监督位,而是将存入数据进行割裂运算,减小每次的运算量,从整体上减少了最终监督位生成的时间,同时也简化了算法。
Description
技术领域
本发明涉及一种用于在内存存储数据时错误检查和纠正过程中监督位的生成方法。
背景技术
目前,内存技术中多采用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算法),但现有监督位的生成一般是等待64位数据存储完成后统一进行计算,并生成监督位,该方法耗时较长。
发明内容
本发明提供一种内存数据中监督位快速生成方法,主要解决了现有内存ECC技术中监督位生成时间较长的问题。
本发明的具体技术解决方案如下:
该内存数据中监督位快速生成方法包括以下步骤:
1]从N位存储数据中预取n位数据到写入路径,通过编码规则生成临时监督位;其中,n≤N;
2]从剩余存储数据中再取n位数据到写入路径,并与步骤1得到的监督位通过编码规则生成新的临时监督位;
3]重复步骤2,直至最后n位数据与上一次得到的临时监督位通过编码规则生成最终的监督位;
4]将N位存储数据和最终的监督位数据同时存入存储器或将N位存储数据和最终的监督位数据分步存入存储器,一般DDR中是最后一次性写入。
上述写入的数据中若存在表征位,则在步骤3中将最后一次写入路径的数据、上一次得到的监督位、加入的表征位通过编码规则生成最终的监督位后存储;所述表征是用于表征是否存在数据屏蔽的数据位;其中表征位只判断是否有DM发生,不参与监督位的编码产生,直接写入。
上述N可以被n整除,且n≤N/2。
上述N=64,n=4、8、16、32;或N=128,n=4、16、32、64;或N=32,n=4、16。
上述监督位为7位或8位。
上述每8位数据写入路径的时间为一个时钟周期或半个时钟周期。
本发明的优点在于:
该内存数据中监督位快速生成方法由于在存入数据时,并不等待数据存储完成后依赖全部数据生成监督位,而是将存入数据进行割裂运算,减小每次的运算量,从整体上减少了最终监督位生成的时间,同时也简化了算法。
附图说明
图1为本发明实施例原理图;
图2为本发明实施例流程图。
具体实施方式
以下结合附图及实施例对本发明进行详述:
本发明的原理是:在写入时的编码过程中,利用顺序写入时的时间去做编码工作。以DDR264位的写入过程为例,见图1,图1包含了两次连续的写入过程,每次64位:
在每Tck/2或者每Tck的时间内,每被预取到写入路径的8位数据能根据编码规则产生出7位或者8位的临时监督位P7’…P0’,如图2所示,具体的编码逻辑由所选取的ECC算法决定。最后一级的结果就是对所有64位数据编码后得到的监督位。如果需要在第65位数据存储DM(数据屏蔽)的信息,可在最后一级时加上。
通过本发明提供的监督位快速生成方法,不再需要一次从64位数据生成7位监督位,只需要每次从8位数据生成7位临时监督位,这使得编码逻辑得到了简化和加快。除此之外,还能利用多出来的等待数据的Tck/2时间进行编码操作,更有效的利用了写入过程。
以Hamming(71,64)code为例,64位数据产生7位监督位,多出来的第8位可用作DM信息。根据Hamming(71,64)code,其中一位监督位P1的产生可用64位数据中的35位用异或的方法产生:
因此需要6级两位异或操作,35→18→9→5→3→2→1。其它6位监督位的产生类似。
利用本发明提供的方法,在最后8位数据bit<64:57>产生的时候,由bit<56:1>产生的临时监督位P1’已经同时产生好,在最后一级只需要
在这级只需要3级两位异或操作,6→3→2→1。其它监督位类似。
相比之前的方法,监督位P1的产生节约了50%的时间。对于不同的ECC算法,这个时间也会有所不同。
Claims (6)
1.一种内存数据中监督位快速生成方法,其特征在于,包括以下步骤:
1]从N位存储数据中预取n位数据到写入路径,通过编码规则生成临时监督位;其中,n≤N;
2]从剩余存储数据中再取n位数据到写入路径,并与步骤1得到的监督位通过编码规则生成新的临时监督位;
3]重复步骤2,直至最后n位数据与上一次得到的临时监督位通过编码规则生成最终的监督位;
4]将N位存储数据和最终的监督位数据同时存入存储器或将N位存储数据和最终的监督位数据分步存入存储器,一般DDR中是最后一次性写入。
2.根据权利要求1所述的监督位快速生成方法,其特征在于:所述写入的数据中若存在表征位,则在步骤3中将最后一次写入路径的数据、上一次得到的监督位、加入的表征位通过编码规则生成最终的监督位后存储;所述表征是用于表征是否存在数据屏蔽的数据位;其中表征位只判断是否有DM发生,不参与监督位的编码产生,直接写入。
3.根据权利要求1或2所述的监督位快速生成方法,其特征在于:所述N可以被n整除,且n≤N/2。
4.根据权利要求1或2所述的监督位快速生成方法,其特征在于:所述N=64,n=4、8、16、32;或N=128,n=4、16、32、64;或N=32,n=4、16。
5.根据权利要求3所述的监督位快速生成方法,其特征在于:所述监督位为7位或8位。
6.根据权利要求1或2所述的监督位快速生成方法,其特征在于:所述每n位数据写入路径的时间为一个时钟周期或半个时钟周期。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2013100888121A CN103197986A (zh) | 2013-03-19 | 2013-03-19 | 内存数据中监督位快速生成方法 |
| PCT/CN2014/000294 WO2014146488A1 (zh) | 2013-03-19 | 2014-03-19 | 用于将数据写入存储器的过程的方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2013100888121A CN103197986A (zh) | 2013-03-19 | 2013-03-19 | 内存数据中监督位快速生成方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN103197986A true CN103197986A (zh) | 2013-07-10 |
Family
ID=48720573
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2013100888121A Pending CN103197986A (zh) | 2013-03-19 | 2013-03-19 | 内存数据中监督位快速生成方法 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN103197986A (zh) |
| WO (1) | WO2014146488A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103594120A (zh) * | 2013-10-31 | 2014-02-19 | 西安华芯半导体有限公司 | 以读代写的存储器纠错方法 |
| WO2014146488A1 (zh) * | 2013-03-19 | 2014-09-25 | 西安华芯半导体有限公司 | 用于将数据写入存储器的过程的方法 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050289402A1 (en) * | 2004-06-29 | 2005-12-29 | Nerl John A | System and method for applying error correction code (ECC) erasure mode and clearing recorded information from a page deallocation table |
| CN101042633A (zh) * | 2006-03-21 | 2007-09-26 | 国际商业机器公司 | 生成校验值的raid存储适配器、系统和方法 |
| CN101345606A (zh) * | 2008-08-21 | 2009-01-14 | 炬力集成电路设计有限公司 | 一种确定汉明纠错码校验位的方法与装置 |
| CN101477481A (zh) * | 2009-02-06 | 2009-07-08 | 中国科学院计算技术研究所 | 一种自动纠错系统及方法 |
| CN102594334A (zh) * | 2012-01-10 | 2012-07-18 | 复旦大学 | 一种流水线型fpga回读帧ecc电路 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103197986A (zh) * | 2013-03-19 | 2013-07-10 | 西安华芯半导体有限公司 | 内存数据中监督位快速生成方法 |
-
2013
- 2013-03-19 CN CN2013100888121A patent/CN103197986A/zh active Pending
-
2014
- 2014-03-19 WO PCT/CN2014/000294 patent/WO2014146488A1/zh not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050289402A1 (en) * | 2004-06-29 | 2005-12-29 | Nerl John A | System and method for applying error correction code (ECC) erasure mode and clearing recorded information from a page deallocation table |
| CN101042633A (zh) * | 2006-03-21 | 2007-09-26 | 国际商业机器公司 | 生成校验值的raid存储适配器、系统和方法 |
| CN101345606A (zh) * | 2008-08-21 | 2009-01-14 | 炬力集成电路设计有限公司 | 一种确定汉明纠错码校验位的方法与装置 |
| CN101477481A (zh) * | 2009-02-06 | 2009-07-08 | 中国科学院计算技术研究所 | 一种自动纠错系统及方法 |
| CN102594334A (zh) * | 2012-01-10 | 2012-07-18 | 复旦大学 | 一种流水线型fpga回读帧ecc电路 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2014146488A1 (zh) * | 2013-03-19 | 2014-09-25 | 西安华芯半导体有限公司 | 用于将数据写入存储器的过程的方法 |
| CN103594120A (zh) * | 2013-10-31 | 2014-02-19 | 西安华芯半导体有限公司 | 以读代写的存储器纠错方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2014146488A1 (zh) | 2014-09-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9274887B2 (en) | Non-regular parity distribution detection via metadata tag | |
| CN104347122B (zh) | 一种消息式内存模组的访存方法和装置 | |
| CN105340022A (zh) | 用于校正数据错误的电路、设备及方法 | |
| TW201525692A (zh) | 多位元記憶胞非揮發性記憶體的寫入方法及系統 | |
| JP2012118979A5 (zh) | ||
| TW201243590A (en) | Data writing and reading method, memory controller and memory storage apparatus | |
| CN103594120A (zh) | 以读代写的存储器纠错方法 | |
| US11080132B2 (en) | Generating error checking data for error detection during modification of data in a memory sub-system | |
| US9286993B2 (en) | Determining read voltages for reading memory | |
| CN105308575A (zh) | 用于错误校正码(ecc)错误处理的方法和装置 | |
| CN110647295B (zh) | 缩短ssd上电恢复时间的方法、系统、设备及存储介质 | |
| CN102184117A (zh) | 系统在不同类型的Nandflash上的启动方法及装置 | |
| CN103559102A (zh) | 数据冗余处理方法、装置和分布式存储系统 | |
| CN103531246A (zh) | 快速以读代写的存储器纠错方法 | |
| CN104991833A (zh) | 一种错误检测方法及电子设备 | |
| CN101634938A (zh) | 固态硬盘的数据迁移方法、数据迁移装置及固态硬盘 | |
| CN105843700B (zh) | 一种控制器 | |
| CN103197986A (zh) | 内存数据中监督位快速生成方法 | |
| TW201524135A (zh) | 解碼方法、記憶體儲存裝置與記憶體控制電路單元 | |
| CN105279048B (zh) | 一种数据恢复方法及装置 | |
| CN104317525B (zh) | 一种随机存储器的扩展方法及装置 | |
| CN104794019B (zh) | 一种嵌入式存储器的数据保护方法及装置 | |
| CN104681095B (zh) | 储存装置及其操作方法 | |
| CN106021123B (zh) | 一种3d闪存物理块的选取方法及选取系统 | |
| CN105242982A (zh) | 用于采用了nand flash的电力采集终端的纠错方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130710 |