CN102682826A - 复用编码器的编译码存储装置及方法 - Google Patents
复用编码器的编译码存储装置及方法 Download PDFInfo
- Publication number
- CN102682826A CN102682826A CN2011100581985A CN201110058198A CN102682826A CN 102682826 A CN102682826 A CN 102682826A CN 2011100581985 A CN2011100581985 A CN 2011100581985A CN 201110058198 A CN201110058198 A CN 201110058198A CN 102682826 A CN102682826 A CN 102682826A
- Authority
- CN
- China
- Prior art keywords
- edac
- storer
- scrambler
- coding
- school
- 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
- 238000000034 method Methods 0.000 title claims abstract description 28
- LMDZBCPBFSXMTL-UHFFFAOYSA-N 1-ethyl-3-(3-dimethylaminopropyl)carbodiimide Chemical compound CCN=C=NCCCN(C)C LMDZBCPBFSXMTL-UHFFFAOYSA-N 0.000 claims abstract description 296
- 238000007689 inspection Methods 0.000 claims description 55
- 238000012937 correction Methods 0.000 claims description 44
- 230000005055 memory storage Effects 0.000 claims description 41
- 230000015654 memory Effects 0.000 claims description 31
- 238000001514 detection method Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 5
- 239000002245 particle Substances 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012827 research and development Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000011164 primary particle Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- 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
-
- 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/1012—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 codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3776—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using a re-encoding step during the decoding process
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online 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)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明公开了一种复用编码器的编译码存储装置及方法。本发明的编译码存储装置及方法在译码过程能够重复利用编码器,而不需要增加额外的硬件,使得EDAC译码器的面积大大减小。
Description
技术领域
本发明涉及半导体行业存储器技术领域,尤其涉及一种复用编码器的编译码存储装置及方法。
背景技术
随着空间技术的不断进步,人类空间活动范围不断扩大,各国相继推出空间探索计划来开发利用太空。在电磁环境比较恶劣的太空,一些大规模集成电路常常会受到干扰,导致不能正常工作。像RAM这种利用双稳态进行存储的器件,往往会在强干扰下发生翻转,使原来存储的“0”变为“1”,或者“1”变为“0”,这种现象称为单粒子翻转。上述造成的后果往往是很严重的,例如导致一些控制程序跑飞,存储的关键数据出错等等。目前,随着芯片集成度的增加,发生错误的可能性也在增大。
最初,人们采用增加存储节点电容和节点阻抗的方法来提高电路抗单粒子翻转的性能,这是因为通常单粒子翻转效应只能造成瞬态的大电流,存储节点的电容和阻抗增加,使得存储节点跳变到翻转电平的RC延时大大增加,而这个大电流通常维持的时间比较短,这样存储节点无法在这么短时间内跳变到翻转电平。不过这个方法也有个自身所固有的缺点,增大了RC延时同时也增加了写入信息所需的时间,而且存储节点上大的电容和阻抗也增加了存储单元面积,增加了位线上的电容,使得存取时间增加。
后来人们开始采用增加冗余存储节点的方法来提高其抗单粒子翻转性能,比如后来发明的七管、八管、十二管等多管单元,但是同样存在上面的写入时间长,面积增大造成位线电容增加,存取时间变长的问题。
目前,研究开发人员开始从系统逻辑层次上提高存储器的抗单粒子翻转性能,即使存储信息发生翻转,通过错误检测与纠正(Error Detection andcorrection,简称EDAC)电路的逻辑操作也能使发生翻转的错误信息位恢复正常。开始人们在编译码存储装置中采用三态表决电路进行逻辑判断,但是这种方法需要三倍的存储面积,电路复杂且功耗较大,不适合大规模存储电路。
发明内容
(一)要解决的技术问题
为克服现有技术中的上述缺陷,本发明提供了一种复用编码器的编译码存储装置及方法,通过复用编码器的方式减小其电路复杂度及所需的面积、功耗。
(二)技术方案
根据本发明的一个方面,提供了一种复用编码器的编译码存储装置。该编译码存储装置包括错误检测与纠正EDAC编码器、存储器和EDAC译码器,在编码阶段:EDAC编码器,用于根据从输入端获取的N位信息位数据进行编码后输出M位校检位数据,其中M<N;存储器,与EDAC编码器正向连接,用于存储N位信息位数据和M位校检位数据;在译码阶段:EDAC编码器,用于根据从存储器获取的N位信息位数据进行编码后输出M位校检位数据;EDAC译码器,与存储器和EDAC编码器正向连接,用于根据EDAC编码器所输出的M位校检位数据和从存储器中读取的M位校检位数据,对从存储器中读取的N位信息位数据进行数据纠错改正,输出纠错改正后的N位信息位数据。
优选地,本技术方案编译码存储装置还包括:与EDAC编码器、存储器和EDAC译码器相连接的路径控制器,其中:在编码阶段,路径控制器开启EDAC编码器至存储器的数据流路径,关断存储器至EDAC编码器的数据流路径、存储器至EDAC译码器的数据流路径;且存储器与EDAC编码器正向连接;在译码阶段,路径控制器开启存储器至EDAC编码器的数据流路径、存储器至EDAC译码器的数据流路径,关断EDAC编码器至存储器的数据流路径;且EDAC译码器与存储器和EDAC编码器正向连接。
优选地,本技术方案编译码存储装置中,存储器为8位存储器或32位存储器;当存储器为8位存储器时,N=8,M=4;或当存储器为32位存储器时,N=32,M=7。
优选地,本技术方案编译码存储装置中,当存储器为32位存储器时,EDAC编码器,用于采用海斯HSIAO编码,根据32位信息位数据进行编码后输出7位校检位数据;和EDAC译码器,用于采用HSIAO编码的校检矩阵,根据EDAC编码器所输出的7位校检位数据和从存储器中读取的7位校检位数据,对从存储器中读取的32位信息位数据进行数据纠错改正。
优选地,本技术方案编译码存储装置中,当存储器为32位存储器时,EDAC编码器包括5个14输入异或门和2个13输入异或门;每个异或门分别从32位信息位数据中挑选预设位的数据输入,并输出1位校检位数据;EDAC编码器输出的7位校检位数据有顺序。
优选地,本技术方案编译码存储装置中,EDAC译码器由7个2输入异或门、32个7输入与门、32个2输入异或门;7个2输入异或门,用于从存储器里读取的7位校检位数据和EDAC编码器输出的7位校检位数据按顺序分别进行异或操作,得到7位初级纠错信号;32个7输入与门,与7个2输入异或门相连接,用于分别对这7位初级纠错信号的正负值进行32种与操作,得到32个次级纠错信号;32个2输入异或门,与32个7输入与门相连接,用于根据32个次级纠错信号与从存储器中读取的32位信息位数据进行异或操作,对从存储器中读取的32位信息位数据的进行检错与纠正;输出检错与纠正后的32位信息位数据。
根据本发明的另一个方面,还提供了一种复用编码器的编译码存储方法。该方法包括:在编码阶段,EDAC编码器根据从输入端获取的N位信息位数据进行编码后输出M位校检位数据,其中M<N;N位信息位数据和M位校检位数据存储于与EDAC编码器正向连接的存储器;在译码阶段,EDAC编码器根据从存储器获取的N位信息位数据进行编码后输出M位校检位数据;EDAC译码器根据EDAC编码器所输出的M位校检位数据和从存储器中读取的M位校检位数据,对从存储器中读取的N位信息位数据进行数据纠错改正,输出纠错改正后的N位信息位数据。
(三)有益效果
本发明具有下列有益效果:
1)本发明的编译码存储装置及方法中,在译码过程能够重复利用编码器,而不需要增加额外的硬件,使得译码器的面积大大减小;
2)本发明通过采用一位纠错两位检错的纠错码理论,使得存储器的抗单粒子翻转能力大幅度提高,在同字节发生一位翻转的情况下,能够被全部纠正,输出正确数据,而在发生两位翻转的情况下,能够被检测到,并被部分纠正。
附图说明
图1为本发明实施例编译码存储装置的结构示意图;
图2为本发明实施例编译码存储装置中(39,32)编译码校检矩阵;
图3为本发明实施例编译码存储装置中EDAC编码器的逻辑电路图;
图4为本发明实施例编译码存储装置中EDAC译码器的逻辑电路图;
图5为本发明实施例编译码存储装置中EDAC译码器次级译码电路的逻辑电路图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
在本发明的一个示例性实施例中,提供了一种可复用编码器的编译码存储装置。该编译码存储装置包括错误检测与纠正EDAC编码器、存储器和EDAC译码器。在编码阶段:EDAC编码器,用于根据从输入端获取的N位信息位数据进行编码后输出M位校检位数据,其中M<N;存储器,与EDAC编码器正向连接,用于存储N位信息位数据和M位校检位数据。在译码阶段:EDAC编码器,用于根据从存储器获取的N位信息位数据进行编码后输出M位校检位数据;EDAC译码器,与存储器和EDAC编码器正向连接,用于根据EDAC编码器所输出的M位校检位数据和从存储器中读取的M位校检位数据,对从存储器中读取的N位信息位数据进行数据纠错改正,输出纠错改正后的N位信息位数据。
本实施例中,在译码过程能够重复利用编码器,而不需要增加额外的硬件,使得译码器的面积大大减小
在上述实施例的基础上,为了增强EDAC编码器、EDAC译码器和存储器的数据流向控制,在本发明优选实施例编译码存储装置中增加了路径控制器。图1为本发明实施例编译码存储装置的结构示意图。在图1中,填充实心点的箭头表示路径控制器对EDAC编码器、存储器和EDAC译码器的数据流路径的控制信号流向;未填充的箭头表示在该编译码存储装置中存储数据时的数据流向;填充方格线的表示该编译码存储装置中读取数据时的数据流向。
如图1所示,该编译码存储装置包括:EDAC编码器、存储器、EDAC译码器和路径控制器。路径控制器与EDAC编码器、存储器和EDAC译码器相连接。在编码阶段:路径控制器开启EDAC编码器至存储器的数据流路径,关断存储器至EDAC编码器的数据流路径、存储器至EDAC译码器的数据流路径;EDAC编码器根据从输入端获取的N位信息位数据进行编码后输出M位校检位数据,M<N;存储器与EDAC编码器正向连接,从EDAC编码器获取N位信息位数据和M位校检位数据,存储N位信息位数据和M位校检位数据。在译码阶段:路径控制器开启存储器至EDAC编码器的数据流路径、存储器至EDAC译码器的数据流路径,关断EDAC编码器至存储器的数据流路径;EDAC编码器根据从存储器获取的N位信息位数据进行编码后输出M位校检位数据;EDAC译码器与存储器和EDAC编码器正向连接,根据EDAC编码器所输出的M位校检位数据和从存储器中读取的M位校检位数据对从存储器中读取的N位信息位数据进行数据纠错改正,输出纠错改正后的N位信息位数据。
本实施例中,存储器为8位存储器或32位存储器。当存储器为8位存储器时,N=8,M=4。当存储器为32位存储器时,N=32,M=7。由本实施例可以看出,在译码过程中复用编码器,通过路径控制器控制数据流路径,从而减小EDAC编译码电路的总面积。
在本发明进一步的实施例中,对于存储器为32位存储器的情况,采用了汉明编码(HAMMING CODE)改进后的海斯编码(HSIAO CODE)进行信息位数据和校检位数据的编解码。关于HSIAO编码的相关内容见参考文献1-一种最优小型奇权列编译码(A class of optimal minimumodd-weight-column SEC-DED codes,M.Y.Hsiao.IBM Journal of Researchand Development,Vol.14,No.4.(1970),pp.395-401)。
图2为本发明实施例编译码存储装置中(39,32)编译码校检矩阵(见参考文献1图4)。具体来讲:1)EDAC编码器,用于根据N位信息位数据进行海斯编码后输出M位校检位数据;2)EDAC译码器,用于根据EDAC编码器所输出的M位校检位数据和从存储器中读取的M位校检位数据对从存储器中读取的N位信息位数据进行海斯编码数据纠错改正,获取纠错改正后的N位信息位数据。
本实施例所提供的这种应用于32位存储器的可复用编码器的编译码存储装置,通过采用一位纠错两位检错的纠错码理论,使得存储器的抗单粒子翻转能力有大幅度提高,在同字节发生一位翻转的情况下,能够被全部纠正,输出正确数据,而在发生两位翻转的情况下,能够被检测到,并被部分纠正。
根据本发明的另一个方面,还提供了一种复用编码器的编译码存储方法。该方法包括:在编码阶段,EDAC编码器根据从输入端获取的N位信息位数据进行编码后输出M位校检位数据,其中M<N;N位信息位数据和M位校检位数据存储于与EDAC编码器正向连接的存储器;在译码阶段,EDAC编码器根据从存储器获取的N位信息位数据进行编码后输出M位校检位数据;EDAC译码器根据EDAC编码器所输出的M位校检位数据和从存储器中读取的M位校检位数据,对从存储器中读取的N位信息位数据进行数据纠错改正,输出纠错改正后的N位信息位数据。
同上文中的装置实施例对应,在本发明优选地方法实施例中,增加了对数据路径控制的路径控制器。该路径控制器与EDAC编码器,EDAC译码器和存储器相连接。在编码阶段:路径控制器开启EDAC编码器至存储器的数据流路径,关断存储器至EDAC的数据流路径、存储器至EDAC译码器的数据流路径;EDAC编码器根据从输入端获取的N位信息位数据进行编码后输出M位校检位数据,其中,M<N;与EDAC编码器正向连接的存储器从EDAC编码器获取N位信息位数据和M位校检位数据,存储N位信息位数据和M位校检位数据;在译码阶段:路径控制器开启存储器至EDAC编码器的数据流路径、存储器至EDAC译码器的数据流路径,关断EDAC编码器至存储器的数据流路径;EDAC编码器根据从存储器获取的N位信息位数据进行编码后输出M位校检位数据;与存储器和EDAC编码器正向连接的EDAC译码器根据EDAC编码器所输出的M位校检位数据和从存储器中读取的M位校检位数据对从存储器中读取的N位信息位数据进行数据纠错改正,获取纠错改正后的N位信息位数据。
本实施例为上述装置实施例对应的方法实施例,具有上述装置实施例的全部有益效果,此处不再赘述。
以下将在上述实施例的基础上,给出本发明的一优选实施例。需要说明的时,该优选实施例仅用于理解本发明,并不构成对本发明的限制,并且,该实施例中的技术特征均可应用于装置实施例和方法实施例,在不相互冲突的情况下也可以组合使用。
仍如图1所示,本实施例复用编码器的编译码存储装置包括:EDAC编码器、存储器、EDAC译码器、路径控制器电路。其中,EDAC编码器,用于对32位信息位数据进行编码后输出7位校检位数据;存储器,用于存储39位信息位数据和校检位数据;EDAC译码器,用于在译码阶段,将复用编码器产生的7位校检位数据和原来存储在存储器中的7位校检位数据进行译码操作后产生纠错信号来对32位信息位数据纠错,输出正确结果;路径控制器,用于在编译码阶段通过使能信号控制数据流的选通路径,在编码阶段,控制32位信息位数据和编码器输出的7位校检位数据一起保存到存储器里,在译码阶段,控制编码器输出的7位校检位数据、从存储器读出的32位信息位数据和7位校检位数据一起输入到EDAC译码器,并关断复用编码器输出的7位校检位数据输入到存储器的路径。
图3为本发明实施例编译码存储装置中EDAC编码器的逻辑电路图。如图3所示,EDAC编码器部分包括5个14输入异或门和2个13输入异或门,每个异或门都是从32位信息位数据中挑选特定位数据输入,最后按一定顺序输出7位校检位数据,这里输入信息位数据为In<0>~In<31>,输出信息位C<0>~C<6>;输出在编码阶段,通过路径控制器将这32位信息位数据和7位校检位数据一起输入到存储器,在译码阶段,通过路径控制器将这7位校检位数据输入到EDAC译码器。
图4为本发明实施例编译码存储装置中EDAC译码器的逻辑电路图。如图4所示,EDAC译码器由7个2输入异或门和EDAC译码器的次级电路构成,首先将从存储器里读取的7位校检位数据(O1<32>~O1<38>)和复用EDAC编码器后输出的7位校检位数据(C<0>~C<6>)按顺序分别进行异或操作,得到7位初级纠错信号(C1<0>~C1<6>)和它的负信号(C1B<0>~C1B<6>)。通常正确情况下,这7位初级纠错信号都为0,但是在发生软错误的情况下,这7位初级纠错信号就会出现非零值,然后将这7位初级纠错信号的正负信号输入次级电路。
图5为本发明实施例编译码存储装置中EDAC译码器次级译码电路的逻辑电路图。如图5所示,次级译码电路为32个7输入与门和32个2输入异或门构成,通过7输入与门分别对这7位纠错信号的正负值(C1<0>~C1<6>,C1B<0>~C1B<6>)进行32种与操作,最后得到32个次级纠错信号;然后这32个次级纠错信号按顺序分别与32位信息位数据(O1<0>~O1<31>)进行异或操作,如果有1个次级纠错信号是0,则说明所对应的信息位数据是正确的,进行异或操作后还是原先值;如果有1个次级纠错信号是1,则说明所对应的信息位数据是错误的,错误值在进行异或操作后变为正确,最后输出正确的32位数据(O<0>~O<31>)。这里需要注意的是,这种一位纠错两位检错的纠错方式只适合出现一个次级纠错信号是1的情况下纠正一位错误,如果出现两个以上(包括两个)次级纠错信号是1的情况,则不一定能将错误纠正。
综上所述,本发明的编译码存储装置和方法在译码过程能够重复利用编码器,而不需要增加额外的硬件,使得EDAC译码器的面积大大减小。此外,本发明的编译码存储装置,通过采用一位纠错两位检错的纠错码理论,使得存储器的抗单粒子翻转能力大幅度提高,在同字节发生一位翻转的情况下,能够被全部纠正,输出正确数据,而在发生两位翻转的情况下,能够被检测到,并被部分纠正。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种复用编码器的编译码存储装置,其特征在于,该编译码存储装置包括错误检测与纠正EDAC编码器、存储器和EDAC译码器,
在编码阶段:所述EDAC编码器,用于根据从输入端获取的N位信息位数据进行编码后输出M位校检位数据,其中M<N;所述存储器,与所述EDAC编码器正向连接,用于存储所述N位信息位数据和所述M位校检位数据;
在译码阶段:所述EDAC编码器,用于根据从所述存储器获取的N位信息位数据进行编码后输出M位校检位数据;所述EDAC译码器,与所述存储器和所述EDAC编码器正向连接,用于根据所述EDAC编码器所输出的M位校检位数据和从所述存储器中读取的M位校检位数据,对从所述存储器中读取的N位信息位数据进行数据纠错改正,输出纠错改正后的N位信息位数据。
2.根据权利要求1所述的编译码存储装置,其特征在于,该编译码存储装置还包括:与所述EDAC编码器、存储器和EDAC译码器相连接的路径控制器,其中:
在编码阶段,所述路径控制器开启EDAC编码器至存储器的数据流路径,关断存储器至EDAC编码器的数据流路径、存储器至EDAC译码器的数据流路径;且所述存储器与所述EDAC编码器正向连接;
在译码阶段,所述路径控制器开启存储器至EDAC编码器的数据流路径、存储器至EDAC译码器的数据流路径,关断EDAC编码器至存储器的数据流路径;且所述EDAC译码器与所述存储器和所述EDAC编码器正向连接。
3.根据权利要求1所述的编译码存储装置,其特征在于,所述存储器为8位存储器或32位存储器;
当所述存储器为8位存储器时,所述N=8,所述M=4;或
当所述存储器为32位存储器时,所述N=32,所述M=7。
4.根据权利要求3所述的编译码存储装置,其特征在于,当所述存储器为32位存储器时:
所述EDAC编码器,用于采用海斯HSIAO编码,根据32位信息位数据进行编码后输出7位校检位数据;和
所述EDAC译码器,用于采用HSIAO编码的校检矩阵,根据所述EDAC编码器所输出的7位校检位数据和从所述存储器中读取的7位校检位数据,对从所述存储器中读取的32位信息位数据进行数据纠错改正。
5.根据权利要求4所述的编译码存储装置,其特征在于,当所述存储器为32位存储器时,所述EDAC编码器包括5个14输入异或门和2个13输入异或门;
每个所述异或门分别从32位信息位数据中挑选预设位的数据输入,并输出1位校检位数据;所述EDAC编码器输出的7位校检位数据有顺序。
6.根据权利要求5所述的编译码存储装置,其特征在于,所述EDAC译码器由7个2输入异或门、32个7输入与门、32个2输入异或门;
所述7个2输入异或门,用于从所述存储器里读取的7位校检位数据和所述EDAC编码器输出的7位校检位数据按顺序分别进行异或操作,得到7位初级纠错信号;
所述32个7输入与门,与所述7个2输入异或门相连接,用于分别对这7位初级纠错信号的正负值进行32种与操作,得到32个次级纠错信号;
所述32个2输入异或门,与所述32个7输入与门相连接,用于根据所述32个次级纠错信号与从所述存储器中读取的32位信息位数据进行异或操作,对从所述存储器中读取的32位信息位数据的进行检错与纠正;输出检错与纠正后的32位信息位数据。
7.一种复用编码器的编译码存储方法,应用于权利要求1所述的编译码存储装置,其特征在于,该方法包括:
在编码阶段,EDAC编码器根据从输入端获取的N位信息位数据进行编码后输出M位校检位数据,其中M<N;所述N位信息位数据和所述M位校检位数据存储于与所述EDAC编码器正向连接的存储器;
在译码阶段,所述EDAC编码器根据从所述存储器获取的N位信息位数据进行编码后输出M位校检位数据;所述EDAC译码器根据所述EDAC编码器所输出的M位校检位数据和从所述存储器中读取的M位校检位数据,对从所述存储器中读取的N位信息位数据进行数据纠错改正,输出纠错改正后的N位信息位数据。
8.根据权利要求7所述的编译码存储方法,其特征在于,
在编码阶段,路径控制器开启EDAC编码器至存储器的数据流路径,关断存储器至EDAC的数据流路径、存储器至EDAC译码器的数据流路径;
在译码阶段,所述路径控制器开启存储器至EDAC编码器的数据流路径、存储器至EDAC译码器的数据流路径,关断EDAC编码器至存储器的数据流路径;且所述EDAC译码器与所述存储器和所述EDAC编码器正向连接。
9.根据权利要求8所述的编译码存储方法,其特征在于,所述存储器为8位存储器或32位存储器;
当所述存储器为8位存储器时,所述N=8,所述M=4;或
当所述存储器为32位存储器时,所述N=32,所述M=7。
10.根据权利要求9所述的编译码存储方法,其特征在于,当所述存储器为32位存储器时,
所述EDAC编码器根据从输入端获取的N位信息位数据进行编码后输出M位校检位数据的步骤包括:EDAC编码器采用海斯HSIAO编码,根据32位信息位数据进行编码后输出7位校检位数据;和
所述EDAC译码器根据所述EDAC编码器所输出的M位校检位数据和从所述存储器中读取的M位校检位数据对从所述存储器中读取的N位信息位数据进行数据纠错改正的步骤包括:EDAC译码器采用HSIAO编码的校检矩阵,根据所述EDAC编码器所输出的7位校检位数据和从所述存储器中读取的7位校检位数据对从所述存储器中读取的32位信息位数据进行数据纠错改正,获取纠错改正后的32位信息位数据。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100581985A CN102682826A (zh) | 2011-03-10 | 2011-03-10 | 复用编码器的编译码存储装置及方法 |
US14/004,100 US9032270B2 (en) | 2011-03-10 | 2011-09-21 | Device and method for storing encoded and/or decoded codes by re-using encoder |
PCT/CN2011/079912 WO2012119447A1 (zh) | 2011-03-10 | 2011-09-21 | 复用编码器的编译码存储装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100581985A CN102682826A (zh) | 2011-03-10 | 2011-03-10 | 复用编码器的编译码存储装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102682826A true CN102682826A (zh) | 2012-09-19 |
Family
ID=46797455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100581985A Pending CN102682826A (zh) | 2011-03-10 | 2011-03-10 | 复用编码器的编译码存储装置及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9032270B2 (zh) |
CN (1) | CN102682826A (zh) |
WO (1) | WO2012119447A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617811A (zh) * | 2013-12-03 | 2014-03-05 | 中国科学院微电子研究所 | 一种sram型存储器的纠错电路 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116185745B (zh) * | 2023-04-26 | 2023-06-27 | 中国民航大学 | 用于北斗信号处理复杂运算芯片的快速软错误检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101211667A (zh) * | 2006-12-29 | 2008-07-02 | 三星电子株式会社 | 降低误纠概率的纠错电路和方法和包括该电路的存储设备 |
US20110004807A1 (en) * | 2009-07-02 | 2011-01-06 | Stmicroelectronics (Research & Development) Limited | Loading secure code into a memory |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4072853A (en) * | 1976-09-29 | 1978-02-07 | Honeywell Information Systems Inc. | Apparatus and method for storing parity encoded data from a plurality of input/output sources |
JP5772192B2 (ja) * | 2011-04-28 | 2015-09-02 | 富士通株式会社 | 半導体装置、情報処理装置およびエラー検出方法 |
-
2011
- 2011-03-10 CN CN2011100581985A patent/CN102682826A/zh active Pending
- 2011-09-21 WO PCT/CN2011/079912 patent/WO2012119447A1/zh active Application Filing
- 2011-09-21 US US14/004,100 patent/US9032270B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101211667A (zh) * | 2006-12-29 | 2008-07-02 | 三星电子株式会社 | 降低误纠概率的纠错电路和方法和包括该电路的存储设备 |
US20110004807A1 (en) * | 2009-07-02 | 2011-01-06 | Stmicroelectronics (Research & Development) Limited | Loading secure code into a memory |
Non-Patent Citations (1)
Title |
---|
黄琳等: "S698M SoC芯片中EDAC模块的设计与实现", 《中国集成电路》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617811A (zh) * | 2013-12-03 | 2014-03-05 | 中国科学院微电子研究所 | 一种sram型存储器的纠错电路 |
Also Published As
Publication number | Publication date |
---|---|
US20130346828A1 (en) | 2013-12-26 |
US9032270B2 (en) | 2015-05-12 |
WO2012119447A1 (zh) | 2012-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU608613B2 (en) | Byte write error code method and apparatus | |
TWI631570B (zh) | 錯誤檢查糾正解碼方法與裝置 | |
US10521292B2 (en) | Error correction code unit, self-test method and associated controller applied to flash memory device for generating soft information | |
US9231623B1 (en) | Chase decoding for turbo-product codes (TPC) using error intersections | |
KR101990971B1 (ko) | 메모리, 메모리 시스템, 및 메모리에 대한 에러 검출/정정 방법 | |
US8880783B2 (en) | Differential vector storage for non-volatile memory | |
CN103839594A (zh) | 固态储存装置及其联合编解码方法 | |
CN102915768B (zh) | 基于edac模块的三模冗余对存储器的容错装置及其方法 | |
US20160344426A1 (en) | Performance optimization in soft decoding for turbo product codes | |
CN109815045A (zh) | 存储系统以及在存储系统中处理数据的方法 | |
DE102008003113A1 (de) | ECC-Steuereinheit, Speichersystem und Verfahren zur Korrektur eines Fehlers | |
CN103594120B (zh) | 以读代写的存储器纠错方法 | |
CN111326207A (zh) | 存储器测试技术 | |
CN102385936A (zh) | 基于汉明码对静态随机存储器多位翻转进行容错的方法 | |
US10423484B2 (en) | Memory controller, memory system, and control method | |
CN103413571B (zh) | 存储器和利用该存储器实现检错纠错的方法 | |
CN111538621B (zh) | 针对位线故障的软芯片猎杀恢复 | |
WO2021252016A1 (en) | Qlc programming method with staging of fine data | |
TW201320090A (zh) | 基於匹配位元型樣之資料修正 | |
CN100468367C (zh) | 固态存储器的安全存储系统及方法 | |
CN102682826A (zh) | 复用编码器的编译码存储装置及方法 | |
Schoeny et al. | Analysis and coding schemes for the flash normal-Laplace mixture channel | |
Das et al. | Online correction of hard errors and soft errors via one-step decodable OLS codes for emerging last level caches | |
US11830545B2 (en) | Data programming techniques to store multiple bits of data per memory cell with high reliability | |
US20210286554A1 (en) | Combined QLC Programming Method |
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: 20120919 |