The invention discloses a coding, decoder, coding and decoding method for reducing the bit error rate of flash memory, which belongs to the technology field of flash memory chip compilation. The present invention encoder in writing data, write data in \hot judgment number 1\ is more than half of the turnover of the hot data is written into the flash memory; write data in high cold judgment page data \1\ or \page of data in a low number 0\ is more than half, is turning cold number it is written into the flash memory; the decoder of the invention in the read data, read data analysis of the rollover state, if the state of \flip number 1\ more than half, will read the data in turn output; otherwise directly read data output. The invention also realizes a coding and decoding method for reducing the bit error rate of flash memory. The technical scheme of the invention reduces the probability of data error in flash memory, reduces the original bit error rate, provides more accurate input for the existing error correcting code scheme, improves the success rate of decoding, and further improves the reliability of flash memory.
【技术实现步骤摘要】
一种降低闪存误码率的编、解码器和编、解码方法
本专利技术属于闪存芯片编译
,更具体地,涉及一种降低闪存误码率的编、解码器和编、解码方法。
技术介绍
NAND闪存是一种非易失性存储介质,具有体积小,存储密度高,耗电量低,读写较快等优点,适合大容量存储,在存储领域具有广泛应用。随着技术的发展,NAND闪存的尺寸越来越小,每个单元存储的数据位也越来越多,这虽然提高了数据的存储密度,但是也使得闪存的可靠性和耐久性越来越低,误码率越来越高。闪存中的错误类型主要由四种:擦除错误(EraseError)、编程干扰(ProgramInterferenceError)、读错误(ReadError)和保留错误(RetentionError)。其中擦除错误、编程干扰和读错误分别来自擦除、写和读三种闪存基本操作,保留错误由闪存浮栅层中电子泄漏引起。闪存中数据主要受到编程干扰和保留错误影响。数据刚写入闪存中时,主要受编程干扰影响,随着数据在闪存中保留时间的增加,受到保留错误的干扰越来越严重。在一段时间后,保留错误的影响超过编程干扰,成为闪存中数据错误的主要来源。所以对于更新热度高的热数据,主要受到编程干扰影响,对于更新热度低的冷数据,主要受到保留错误影响。如图1所示,在多层闪存(MLCNANDFlash)中,一个存储单元存储2bit数据,存储单元浮栅层中电子数目变化会引起阈值电压变化,根据存储单元阈值电压的大小,可以把存储单元分为ER、P1、P2和P3四个状态,分别代表11、10、00和01四种数据。11状态为原始状态,此时存储单元浮栅层中没有电子,随着电子数目增加,阈值电压 ...
【技术保护点】
一种降低闪存误码率的编码器,其特征在于,所述编码器用于在写数据时,判断写入热数据中“1”的个数是否超过半数,是则翻转热数据后写入闪存;判断写入冷数据中高页数据中“1”或低页数据中“0”的个数是否超过半数,是则翻转冷数据后写入闪存。
【技术特征摘要】
1.一种降低闪存误码率的编码器,其特征在于,所述编码器用于在写数据时,判断写入热数据中“1”的个数是否超过半数,是则翻转热数据后写入闪存;判断写入冷数据中高页数据中“1”或低页数据中“0”的个数是否超过半数,是则翻转冷数据后写入闪存。2.根据权利要求1所述的编码器,其特征在于,所述编码器包括以下部分:编码写入模块,用于接受写命令后解析写命令,判断写入数据的物理地址属于高页还是低页,写入数据是冷数据还是热数据;对以下状态的写入数据的编码结果进行翻转:A)写入数据为热数据,且数据中“1”的个数超过半数;B)写入数据为冷数据,写入物理地址属于高页,且数据中“1”的个数超过半数;C)写入数据为冷数据,写入物理地址属于低页,且数据中“1”的个数不超过半数;之后在编码结果后设置一个字节保存翻转状态,若编码结果经过翻转,则该字节设为全1,否则设为全0;最后将编码结果和翻转状态一起写入闪存芯片中;纠错码编码模块,用于接受写入数据并进行纠错码编码,将编码结果输入至FIFO模块,同时将写入数据输入到数据统计模块;数据统计模块,用于统计写入数据中“1”的个数,并将统计结果发送至编码写入模块;写FIFO模块,用于缓存编码结果,并将编码结果发送至编码写入模块。3.一种降低闪存误码率的解码器,其特征在于,所述解码器用于在读数据时,分析读数据的翻转状态,若翻转状态中“1”的个数超过半数,则将读数据进过翻转后输出;否则直接输出读数据。4.根据权利要求3所述的解码器,其特征在于,所述编码器包括以下部分:数据读出模块,用于接受读命令后将数据从闪存芯片中读出来,输出至读FIFO模块,同时解析数据中翻转状态中“1”的个数,若“1”的个数超过半数,则该数据的翻转标记设置为真;否则设置为假;之后将数据的翻转标记发送至翻转还原模块;读FIFO模块,用于缓存数据,并将数据发送至翻转还原模块;翻转还原模块,用于解析数据的翻转标记...
【专利技术属性】
技术研发人员:冯丹,童薇,刘景宁,纪少彬,刘传奇,张扬,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。