CN111651295B - 一种stt-ram缓存的变长纠错码方法 - Google Patents
一种stt-ram缓存的变长纠错码方法 Download PDFInfo
- Publication number
- CN111651295B CN111651295B CN202010387256.8A CN202010387256A CN111651295B CN 111651295 B CN111651295 B CN 111651295B CN 202010387256 A CN202010387256 A CN 202010387256A CN 111651295 B CN111651295 B CN 111651295B
- Authority
- CN
- China
- Prior art keywords
- ecc
- error correction
- data
- cache
- error
- 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
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
-
- 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/1064—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 in cache or content addressable memories
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本发明提供一种STT‑RAM缓存的变长纠错码方法,对不同的STT‑RAM缓存块采用不同的纠错码,容易出错的缓存块采用强纠错码,难出错的缓存块采用弱纠错码,从而保障数据正确的前提下,减少纠错码的存储代价与性能代价。本发明包括如下步骤:不同的STT‑RAM缓存块出现保留错误的概率不同,特定的纠错周期下,根据缓存块中的保留错误数据位数,将每个缓存块分为难出错与易出错两种类型;扩展每个缓存块的标签区,增加ECC标志位和增强ECC指针;写数据到缓存块时,如果目标缓存块是易出错类型,则将数据发往强ECC编码器,生成的纠错码填充到缓存块的数据区和ECC增强块区,如果是难出错类型,将数据发往弱ECC编码器,生成的纠错码填充到缓存块的数据区。
Description
技术领域
本发明涉及一种STT-RAM缓存的变长纠错码方法。
背景技术
相比于传统的SRAM存储器,Spin Transfer Torque RAM(STT-RAM)作为一种新型存储器具有静态能耗低、存储密度高、读速度快以及与CMOS技术兼容性好等优点,因此STT-RAM被认为是嵌入式计算机的下一代片上缓存。因为缓存中的数据只是暂存,而数据的读写速度和容量更加重要,所以作为缓存,STT-RAM存储技术会优化读写速度和存储密度,牺牲数据的非易失性。由此,导致STT-RAM缓存的非易失性能降低而更容易出现数据错误。
STT-RAM存储单元通过磁隧道结(MTJ)存储数据,其数据的保留时间长短取决于MTJ的稳定性。MTJ越稳定,存储单元中的数据保留时间越长。而MTJ的稳定性取决于存储单元面积及温度。随着STT-RAM存储密度的不断提升,单位面积越来越小,易受到温度干扰,MTJ的稳定性变差,意味着存储单元中的数据保留时间变短,结果是STT-RAM存储单元中的数据容易出现保留错误,即数据位从0变为1,或者相反。
STT-RAM缓存块保留错误的出现概率与时间成正比,时间越长,易失错误数据位越多。不同的缓存块在相同的时间段内是否出现易失错误以及易失错误的数据位数存在明显差异。根据这种差异,将STT-RAM缓存块分为易出错和难出错两种类型。其中易出错表示缓存块中的易失错误的数据位数小于等于1,而难出错表示易失错误的数据位数大于1小于等于4。
为纠正随机出现的保留错误,要周期性地对STT-RAM缓存块数据进行纠正操作,即周期性读取缓存块中的数据及其纠错码(ECC),并根据纠错码对数据检错与纠错,消除保留错误,然后再写回数据到缓存块。纠错码的纠错能力与其长度成正比。对于64字节的缓存块,41个数据位的强纠错码能纠正4个错误数据位、检测5个错误数据位;而11个数据位的弱纠错码能纠正1个错误数据位、检测2个错误数据位。虽然强纠错码的检错、纠错能力强于弱纠错码,但使用强纠错码有额外的代价:1、强纠错码的存储代价更大;2、强纠错码的编解码时间大于弱纠错码,导致性能代价;3、只有部分的缓存块会出现大于1个保留错误,全部缓存块采用强纠错码的话,引起不必要的存储代价与性能代价。但如果所有缓存块使用弱纠错码,对部分容易出现保留错误的缓存块又不能形成充分保护。
发明内容
本发明的目的在于克服现有技术中存在的上述不足,而提供一种设计合理的STT-RAM缓存的变长纠错码方法,对不同的STT-RAM缓存块采用不同的纠错码,容易出错的缓存块采用强纠错码,难出错的缓存块采用弱纠错码,从而保障数据正确的前提下,减少纠错码的存储代价与性能代价。
本发明解决上述问题所采用的技术方案是:一种STT-RAM缓存的变长纠错码方法,其特征在于,包括如下步骤:
S1、不同的STT-RAM缓存块出现保留错误的概率不同,特定的纠错周期下,根据缓存块中的保留错误数据位数,将每个缓存块分为难出错与易出错两种类型,步骤为:首先,向每个缓存块依次写入全1的数据,再使用初始默认的纠错周期读取缓存块中的数据,统计出错数据位,即数字0的数据位数量;如果数字0的数据位数量小于等于1,则当前的缓存块属于难出错类型;如果数字0的数据位数量大于1小于等于4,则当前缓存块属于易出错类型;如果数字0的数据位数量大于4,表示当前使用的纠错周期过长,则要缩短纠错周期,重新开始新的测试过程;
S2、扩展每个缓存块的标签区,增加ECC标志位和增强ECC指针;ECC标志位值为1,表示当前缓存块属于易出错类型,应采用强ECC纠错码;而ECC标志位值为0,表示当前缓存块属于难出错类型,应采用弱ECC纠错码;弱ECC纠错码与强ECC纠错码的前半部分存储在缓存块的数据区,强ECC纠错码的后半部分存储在缓存组的增强ECC块区中;增强ECC指针定位强ECC纠错码后半部分在增强ECC块区中的存储位置;
S3、写数据到缓存块时,如果目标缓存块是易出错类型,则将数据发往强ECC编码器,生成的纠错码填充到缓存块的数据区和ECC增强块区,如果是难出错类型,将数据发往弱ECC编码器,生成的纠错码填充到缓存块的数据区;
读取缓存块数据时,根据缓存块标签的ECC标志位,确定缓存块的出错类型,如果ECC标志位值为1,表示属于易出错类型,采用强ECC纠错码,读取数据区中的强ECC纠错码的前半部分以及根据增强ECC指针定位并读取增强ECC块区中的后半部分,并与数据一起发送到强ECC解码器,完成对数据的校验;如果ECC标志位值为0,表示属于难出错类型,采用弱ECC纠错码,读取数据中的弱ECC纠错码并与数据一起发往至弱ECC解码器,完成对数据的校验。
本发明步骤S1中,所有缓存块被依次读取并检测数字0的数据位数量,且没有出现任何缓存块的数字0的数据位数量大于4,就称一个测试周期顺利结束。
本发明步骤S1中,缩短纠错周期是,纠错周期更新为原来的1/2。
本发明步骤S1中,一个测试周期结束后,统计STT-RAM在当前纠错周期下的难出错比例e,如果e大于等于25%,则下一轮测试的纠错周期Ti+1调整为Ti+1=[Ti+Ti-1]/2,其中Ti和Ti-1分别为上两轮的纠错周期;如果e小于等于20%,则按Ti+1=2Ti调整纠错周期,继续下一轮的测试周期;如果e值大于20%、小于25%,则结束测试分类流程,并且按测试结果对所有缓存块分类。
本发明缓存控制器处理一个访问请求时,首先定位缓存组再比较访问请求地址中的标签值与缓存组中的标签值来确定缓存访问命中还是缺失;在标签值比对时,标签区的ECC标志位和增强ECC指针同时被读取。
本发明一旦发生缓存访问缺失,则需要从下一级存储器读取数据并加载至缓存,加载数据就是写数据到目标缓存块,目标缓存块可以是当前缓存组中的空闲缓存块,没有空闲缓存块的情况下,根据替换算法,将选中被替换后的缓存块作为目标缓存块;读取目标缓存块的标签扩展部分的ECC标志位:如果值为0,数据写入目标缓存块,同时发送数据到弱ECC纠错码编码器,再将编码器的输出填充到缓存块数据的纠错码块;如果值为1,数据写入目标缓存块,同时发送数据到强ECC纠错码编码器,再将编码器输出的前半部分填充到缓存块数据的纠错码块,编码器输出的后半部分填充到缓存组的增强ECC区块中的首个空闲块,最后该增强ECC块的序号填入到缓存块标签值的增强ECC指针。
本发明所述e=H/(H+E),E和H分别表示当前周期中易出错缓存块数量和难出错缓存块数量。
本发明与现有技术相比,具有以下优点和效果:本发明设计合理,本根据不同的缓存块出现保留错误的难易程度差异,提出一种变长的ECC纠错码方法,对不同的STT-RAM缓存块采用不同的纠错码,容易出错的缓存块采用强纠错码,难出错的缓存块采用弱纠错码,从而保障数据正确的前提下,减少纠错码的存储代价与性能代价。
附图说明
图1是本发明实施例缓存块的结构示意图。
图2是本发明方法实施例步骤S1的流程图。
具体实施方式
下面结合附图并通过实施例对本发明作进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
本实施例中的STT-RAM缓存的变长纠错码方法,包括如下步骤:
S1、不同的STT-RAM缓存块出现保留错误的概率不同,特定的纠错周期下,根据缓存块中的保留错误数据位数,将每个缓存块分为难出错与易出错两种类型;
步骤具体为:对STT-RAM缓存测试分类,主要目的是在特定纠错周期下,按缓存块出错的数据位数量分为易出错和难出错两类,易出错缓存块使用强ECC纠错码,而难出错缓存块使用弱ECC纠错码。首先,向每个缓存块依次写入模式化数据,即全1的数据,再使用初始默认的纠错周期读取缓存块中的数据,统计出错数据位,即数字0的数据位数量;如果数字0的数据位数量小于等于1,则当前的缓存块属于难出错类型,将统计难出错缓存块数量的H计数器的值加1;如果数字0的数据位数量大于1小于等于4,则当前缓存块属于易出错类型,将统计易出错缓存块数量的E计数器的值加1;如果数字0的数据位数量大于4,表示当前使用的纠错周期过长,纠错周期更新为原来的1/2,同时清零H和E计数器的值,重新开始新的测试过程。所有缓存块被依次读取并检测数字0的数据位数量,且没有出现任何缓存块的数字0的数据位数量大于4,就称一个测试周期顺利结束。
一个测试周期结束后,统计STT-RAM在当前纠错周期下的难出错比例e=H/(H+E),其中E和H分别表示当前周期中易出错缓存块数量和难出错缓存块数量。如果e大于等于25%,则下一轮测试的纠错周期Ti+1调整为Ti+1=[Ti+Ti-1]/2,其中Ti和Ti-1分别为上两轮的纠错周期;如果e小于等于20%,则按Ti+1=2Ti调整纠错周期,继续下一轮的测试周期;其余e值大于20%、小于25%,则结束测试分类流程,并且按测试结果对所有缓存块分类,即对难出错的缓存块,其标签扩展的标志位设置为0;对易出错的缓存块,其标签扩展为的标志位设置为1。
S2、扩展每个缓存块的标签区,增加ECC标志位和增强ECC指针,标识当前缓存块的出错类别,同时在数据区增加增强ECC块区,用于存储纠错码;
步骤具体为:缓存由缓存组构成,每个缓存组包含多个缓存块,每个缓存块包含标签区和数据区两部分;扩展每个缓存块的标签区,增加ECC标志位和增强ECC指针;ECC标志位占用1位数据,ECC标志位其值为1,表示当前缓存块属于易出错类型,应采用强ECC纠错码;而ECC标志位值为0,表示当前缓存块属于难出错类型,应采用弱ECC纠错码。
每个缓存块的数据部分,包括数据本身及纠错码块,其中纠错码块恰好能容纳弱ECC纠错码。弱ECC纠错码可以纠正缓存块中出现的1位错误,如果缓存块使用强ECC纠错码,则纠错码的数据长度是41位,远大于弱ECC纠错码的11位。弱ECC纠错码与强ECC纠错码的前半部分存储在缓存块的数据区,强ECC纠错码的后半部分存储在缓存组的增强ECC块区中。
增强ECC指针定位强ECC纠错码后半部分在增强ECC块区中的存储位置。隶属于缓存组的增强ECC块区包含n个增强ECC块,每个增强ECC块包含30个数据位(bit),缓存块标签区中的增强ECC指针包含个数据位,其值指向存储强ECC纠错码后半部分的扩展ECC增强块的序号,所以增强ECC指针用于定位强ECC纠错码后半部分在增强ECC块区中的存储位置。其中增强ECC块数n的值取当前缓存组中的缓存块数的25%,即当前的缓存组中有16块,那么n的值取4。
S3、写数据到缓存块时,如果目标缓存块是易出错类型,则将数据发往强ECC编码器,生成的纠错码填充到缓存块的数据区和ECC增强块区,如果是难出错类型,将数据发往弱ECC编码器,生成的纠错码填充到缓存块的数据区。
缓存控制器处理一个访问请求时,首先定位缓存组再比较访问请求地址中的标签值与缓存组中的标签值来确定缓存访问命中还是缺失;在标签值比对时,标签区的ECC标志位和增强ECC指针同时被读取。
一旦发生缓存访问命中,需要根据ECC标志位进行解码操作。读取缓存块数据时,根据缓存块标签的ECC标志位,确定缓存块的出错类型;如果ECC标志位值为1,表示属于易出错类型,采用强ECC纠错码,读取数据区中的强ECC纠错码的前半部分以及根据增强ECC指针定位增强ECC块区中的后半部分,并与数据一起发送到强ECC解码器,完成对数据的校验,解码器计算后的输出即纠错后的数据。如果ECC标志位值为0,表示属于难出错类型,采用弱ECC纠错码,读取数据中的弱ECC纠错码并与数据一起发往弱ECC解码器,完成对数据的校验,解码器计算后的输出就是纠错后的数据。
一旦发生缓存访问缺失,则需要从下一级存储器读取数据并加载至缓存。加载数据就是写数据到目标缓存块,目标缓存块可以是当前缓存组中的空闲缓存块,或者没有空闲缓存块的情况下,根据替换算法,将选中被替换后的缓存块作为目标缓存块。读取目标缓存块的标签扩展部分的ECC标志位:如果值为0,数据写入目标缓存块,同时发送数据到弱ECC纠错码编码器,再将编码器的输出填充到缓存块数据的纠错码块;如果值为1,数据写入目标缓存块,同时发送数据到强ECC纠错码编码器,再将编码器输出的前半部分填充到缓存块数据的纠错码块,编码器输出的后半部分填充到缓存组的增强ECC区块中的首个空闲块,最后该增强ECC块的序号填入到缓存块标签值的增强ECC指针。
此外,需要说明的是,本说明书中所描述的具体实施例,其零、部件的形状、所取名称等可以不同,本说明书中所描述的以上内容仅仅是对本发明结构所作的举例说明。凡依据本发明专利构思所述的构造、特征及原理所做的等效变化或者简单变化,均包括于本发明专利的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
Claims (7)
1.一种STT-RAM缓存的变长纠错码方法,其特征在于,包括如下步骤:
S1、不同的STT-RAM缓存块出现保留错误的概率不同,特定的纠错周期下,根据缓存块中的保留错误数据位数,将每个缓存块分为难出错与易出错两种类型,具体为:首先,向每个缓存块依次写入全1的数据,再使用初始默认的纠错周期读取缓存块中的数据,统计出错数据位,即数字0的数据位数量;如果数字0的数据位数量小于等于1,则当前的缓存块属于难出错类型;如果数字0的数据位数量大于1小于等于4,则当前缓存块属于易出错类型;如果数字0的数据位数量大于4,表示当前使用的纠错周期过长,则要缩短纠错周期,重新开始新的测试过程;
S2、扩展每个缓存块的标签区,增加ECC标志位和增强ECC指针;ECC标志位值为1,表示当前缓存块属于易出错类型,应采用强ECC纠错码;而ECC标志位值为0,表示当前缓存块属于难出错类型,应采用弱ECC纠错码;弱ECC纠错码与强ECC纠错码的前半部分存储在缓存块的数据区,强ECC纠错码的后半部分存储在缓存组的增强ECC块区中;增强ECC指针定位强ECC纠错码后半部分在增强ECC块区中的存储位置;
S3、写数据到缓存块时,如果目标缓存块是易出错类型,则将数据发往强ECC编码器,生成的纠错码填充到缓存块的数据区和ECC增强块区,如果是难出错类型,将数据发往弱ECC编码器,生成的纠错码填充到缓存块的数据区;
读取缓存块数据时,根据缓存块标签区的ECC标志位,确定缓存块的出错类型,如果ECC标志位值为1,表示属于易出错类型,采用强ECC纠错码,读取数据区中的强ECC纠错码的前半部分以及根据增强ECC指针定位并读取增强ECC块区中的后半部分,并与数据一起发送到强ECC解码器,完成对数据的校验;如果ECC标志位值为0,表示属于难出错类型,采用弱ECC纠错码,读取数据区中的弱ECC纠错码并与数据一起发往至弱ECC解码器,完成对数据的校验。
2.根据权利要求1所述的STT-RAM缓存的变长纠错码方法,其特征在于,步骤S1中,所有缓存块被依次读取并检测数字0的数据位数量,且没有出现任何缓存块的数字0的数据位数量大于4,就称一个测试周期顺利结束。
3.根据权利要求1所述的STT-RAM缓存的变长纠错码方法,其特征在于,步骤S1中,缩短纠错周期是,纠错周期更新为原来的1/2。
4.根据权利要求1所述的STT-RAM缓存的变长纠错码方法,其特征在于,步骤S1中,一个测试周期结束后,统计STT-RAM在当前纠错周期下的难出错比例e,如果e大于等于25%,则下一轮测试的纠错周期Ti+1调整为Ti+1=[Ti+ Ti-1]/2,其中Ti和Ti-1分别为上两轮的纠错周期;如果e小于等于20%,则按Ti+1=2Ti调整纠错周期,继续下一轮的测试周期;如果e值大于20%、小于25%,则结束测试分类流程,并且按测试结果对所有缓存块分类。
5.根据权利要求1所述的STT-RAM缓存的变长纠错码方法,其特征在于,缓存控制器处理一个访问请求时,首先定位缓存组再比较访问请求地址中的标签值与缓存组中的标签值来确定缓存访问命中还是缺失;在标签值比对时,标签区的ECC标志位和增强ECC指针同时被读取。
6.根据权利要求1或5所述的STT-RAM缓存的变长纠错码方法,其特征在于,一旦发生缓存访问缺失,则需要从下一级存储器读取数据并加载至缓存,加载数据就是写数据到目标缓存块,目标缓存块可以是当前缓存组中的空闲缓存块,没有空闲缓存块的情况下,根据替换算法,将选中被替换后的缓存块作为目标缓存块;读取目标缓存块的标签扩展部分的ECC标志位:如果值为0,数据写入目标缓存块,同时发送数据到弱ECC纠错码编码器,再将编码器的输出填充到缓存块数据的纠错码块;如果值为1,数据写入目标缓存块,同时发送数据到强ECC纠错码编码器,再将编码器输出的前半部分填充到缓存块数据的纠错码块,编码器输出的后半部分填充到缓存组的增强ECC区块中的首个空闲块,最后该增强ECC块的序号填入到缓存块标签值的增强ECC指针。
7.根据权利要求4所述的STT-RAM缓存的变长纠错码方法,其特征在于,所述的e=H/(H+E),E和H分别表示当前周期中易出错缓存块数量和难出错缓存块数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010387256.8A CN111651295B (zh) | 2020-05-09 | 2020-05-09 | 一种stt-ram缓存的变长纠错码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010387256.8A CN111651295B (zh) | 2020-05-09 | 2020-05-09 | 一种stt-ram缓存的变长纠错码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111651295A CN111651295A (zh) | 2020-09-11 |
CN111651295B true CN111651295B (zh) | 2023-07-04 |
Family
ID=72347935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010387256.8A Active CN111651295B (zh) | 2020-05-09 | 2020-05-09 | 一种stt-ram缓存的变长纠错码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111651295B (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8296620B2 (en) * | 2008-08-26 | 2012-10-23 | Seagate Technology Llc | Data devices including multiple error correction codes and methods of utilizing |
US9141473B2 (en) * | 2011-03-25 | 2015-09-22 | Samsung Electronics Co., Ltd. | Parallel memory error detection and correction |
CN102969028A (zh) * | 2012-10-18 | 2013-03-13 | 记忆科技(深圳)有限公司 | 一种ecc动态调整方法、系统及闪存 |
US9954557B2 (en) * | 2014-04-30 | 2018-04-24 | Microsoft Technology Licensing, Llc | Variable width error correction |
US20160378591A1 (en) * | 2015-06-24 | 2016-12-29 | Intel Corporation | Adaptive error correction in memory devices |
US10108512B2 (en) * | 2016-04-01 | 2018-10-23 | Intel Corporation | Validation of memory on-die error correction code |
CN106484558A (zh) * | 2016-09-20 | 2017-03-08 | 华中科技大学 | 一种基于可变码率的纠错码提高固态盘的可靠性方法 |
US20200127685A1 (en) * | 2018-10-19 | 2020-04-23 | Nyquist Semiconductor Limited | Systems and methods for a hybrid non-volatile storage system |
CN110956995A (zh) * | 2019-11-29 | 2020-04-03 | 浙江工商大学 | 一种stt-ram缓存的动态数据擦洗方法 |
-
2020
- 2020-05-09 CN CN202010387256.8A patent/CN111651295B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111651295A (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10042725B2 (en) | Memory control circuit, cache memory and memory control method | |
US8473815B2 (en) | Methods and systems of a flash memory controller and an error correction code (ECC) controller using variable-length segmented ECC data | |
JP5658128B2 (ja) | Nandフラッシュ・メモリにおける確率論的多層エラー訂正のためのシステム、方法、およびコンピュータ・プログラム | |
US8707135B2 (en) | Method and system of dynamic data storage for error correction in a memory device | |
CN107590021B (zh) | 一种降低闪存误码率的编、解码器和编、解码方法 | |
US10020822B2 (en) | Error tolerant memory system | |
US9270296B1 (en) | Method and system for soft decoding through single read | |
US20090024787A1 (en) | Data writing method and apparatus | |
JP2014518423A (ja) | 限られた耐久性のメモリにおける適応マルチビット・エラー訂正 | |
US11526395B2 (en) | Write buffer management | |
US11232821B2 (en) | Memory system | |
CN110309014B (zh) | 一种全行编解码sram编码器数据读写结构及数据读写方法 | |
CN105022675B (zh) | 嵌入式微处理器高速缓存4位数据翻转错误的纠正装置与方法 | |
CN111651295B (zh) | 一种stt-ram缓存的变长纠错码方法 | |
CN105027084B (zh) | 在移动通信系统中控制存储器的装置和方法 | |
CN110956995A (zh) | 一种stt-ram缓存的动态数据擦洗方法 | |
CN204833244U (zh) | 嵌入式微处理器高速缓存4位数据翻转错误的纠正装置 | |
CN104681095B (zh) | 储存装置及其操作方法 | |
CN116486890A (zh) | 基于校验复用的固态硬盘ftl方法、系统、设备及介质 | |
CN105005513A (zh) | 高速缓存多位数据翻转错误的检测及容错装置与方法 | |
CN111190834B (zh) | 一种非对称读延迟感知的数据放置方法 | |
CN112289353B (zh) | 一种优化的具有ecc功能的mram系统及其操作方法 | |
CN111580750B (zh) | 一种解决stt-ram缓存写失败的方法 | |
CN204856465U (zh) | 高速缓存多位数据翻转错误的检测及容错装置 | |
TWI763050B (zh) | 自適應損耗平衡方法及演算法與相關記憶體裝置及設備 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |