专利名称:闪存设备及其数据存储方法
技术领域:
本申请涉及一种闪存设备及其数据存储方法。
背景技术:
与非型闪存(即NAND Flash)是一种可在线进行电擦写的非易失型半导体存储器,因具有存储密度高、擦除速度快等优点而得到了飞速发展。近年来,提高NAND Flash单位面积的存储容量是NAND Flash的发展趋势之一。然而,当物理尺寸缩小到一定程度时, NAND Flash中浮动栅极因为距离过近,相互间电容耦合作用将造成严重的耦合干扰,而且物理位置上相邻的存储单元间的干扰更加明显,由此导致出现数据读写不匹配的情况。另外,在实际应用中发现在NAND Flash尤其是TLC NAND Flash中写入非随机的数据时,由于干扰作用,NAND Flash出错的概率更大一些。
发明内容
为了解决现有技术中存在的上述问题,根据本申请的一个方面,提供了一种闪存设备。所述闪存设备包括加扰模块,被配置成使待存储的数据随机化;存储介质,被配置成存储所述随机化的数据;以及解扰模块,被配置成对从所述存储介质中读取的数据进行解扰。根据本申请的另一个方面,提供了一种闪存设备的数据存取方法。所述方法包括存储过程和读取过程,其中,所述存储过程包括将待存储的原始数据随机化、以及存储所述随机化的数据;所述读取过程包括将存储的所述随机化的数据还原为原始数据。根据本申请闪存设备及其数据存取方法,通过在将数据写入到存储介质之前对数据进行加扰,使之成为随机化的数据,可以不仅限制写入的数据中连续的1或0的数量,而且各页之间的数据也可以随机不相关,从而可以减小相邻存储单元间的电容耦合干扰,降低出错的可能。
图1示出了根据本申请的第一实施方案的闪存设备的结构示意图;图2示出了根据一个实施例的加扰模块的细节;图3示出了根据另一个实施例的加扰模块的细节;图4示出了与图2所示加扰模块对应的一个示例性解扰模块的细节;图5示出了根据本申请的第二实施方案的闪存设备的结构示意图;图6示出了根据本申请的第三实施方案的闪存设备的结构示意图;图7示出了根据本申请的一个实施方案的闪存设备的数据存取方法的流程图;图8示出了根据本申请的另一实施方案的闪存设备的数据存取方法的流程图;图9示出了根据本申请的又一实施方案的闪存设备的数据存取方法的流程图。
具体实施方式
图1示出了根据本申请的一个实施方案的存储设备的结构示意图。如图1所示, 存储设备10包括加扰模块101、存储介质102和解扰模块103。加扰模块101被配置成使待存储的数据随机化。根据一个实施例,加扰模块101 可包括并行线性移位寄存器。加扰模块101包含的并行线性移位寄存器的并行化位数应当与输入到存储设备10中的数据宽度相匹配。例如当存储设备IO的输入/输出数据宽度为 Sbit时,并行化位数可为8位或者8位的倍数。所述并行线性移位寄存器通过串并转换将线性移位寄存器转换为并行化寄存器。 线性移位寄存器由多个串连的触发器和异或运算模块构成,如图2所示。线性移位寄存器 IOla由多个串连的触发器R1, R2……以及异或运算模块1011构成。异或运算模块1011 将最后一级触发器艮的输出与中间一级触发器例如触发器Rm的输出进行异或运算,并将异或运算结果经过组合逻辑模块201a反馈到线性移位寄存器。组合逻辑模块201a将所述异或运算结果与待存储的数据相关联,以生成随机化的数据。作为一种选择,异或运算模块 1011也可以将触发器Rt的输出与中间一级触发器Rm的输出进行异或运算的结果反馈到线性移位寄存器同时经过组合逻辑模块201a作为随机化数据的输出,如图3所示。m和η优选为本征多项式。可以理解,虽然图2和图3中示例性地示出了异或运算模块1011将最后一级触发器I^t的输出与中间一级触发器例如触发器Rm的输出进行异或运算,但是本领域技术人员可以理解,异或运算模块1011也可以将最后一级触发器艮的输出与中间多级触发器的输出进行异或运算,并将异或运算结果经过组合逻辑模块201a反馈到线性移位寄存
ο虽然图2和图3中以线性移位寄存器为例对加扰模块101进行了描述,但是本领域技术人员可以理解,加扰模块101也可以对待存储的数据进行例如替换、移位或变换等操作,以使待存储的数据随机化,其中替换操作为非线性操作,移位操作一般为线性操作, 变换操作可以为线性操作,也可以为非线性操作。下面以使用查找表进行字节替换为例,说明对待存储的数据进行非线性操作以使其随机化的过程。例如建立一个16行X 16列的表格,如表1。
权利要求
1.一种闪存设备,包括加扰模块,被配置成使待存储的原始数据随机化;存储介质,被配置成存储所述随机化的数据;以及解扰模块,被配置成对从所述存储介质中读取的数据进行解扰。
2.如权利要求1所述的闪存设备,其中,所述加扰模块和解扰模块均包括并行线性移位寄存器,所述并行线性移位寄存器通过串并转换将线性移位寄存器转换为并行化寄存ο
3.如权利要求2所述的闪存设备,其中,所述线性移位寄存器包括多级串连的触发器和异或运算模块。
4.如权利要求3所述的闪存设备,其中,所述异或运算模块被配置成将最后一级触发器的输出与中间至少一级触发器的输出进行异或运算,并将异或运算结果与输入的原始数据进行异或运算,产生加扰或解扰数据。
5.如权利要求1所述的闪存设备,其中,所述加扰模块和解扰模块通过对待存储的数据进行替换、移位或变换操作以对其进行加扰和解扰。
6.一种闪存设备的数据存取方法,包括存储过程和读取过程,其中所述存储过程包括 将待存储的原始数据随机化、以及存储所述随机化的数据;所述读取过程包括将存储的所述随机化的数据还原为原始数据。
7.如权利要求6所述的方法,其中,所述存储过程进一步包括在将待存储的数据随机化之后,对随机化的数据进行ECC编码以获得校验码。
8.如权利要求6所述的方法,其中,所述存储过程进一步包括在将待存储的数据随机化之前,对待存储的数据进行ECC编码以获得校验码。
9.如权利要求7或8所述的方法,其中,将待存储的原始数据随机化包括以下步骤设置伪随机序列的种子;基于所述伪随机序列的种子生成伪随机数序列;将所述伪随机数序列与待存储的原始数据相关联,以使所述原始数据随机化。
10.如权利要求7或8所述的方法,其中,将待存储的原始数据随机化包括以下步骤设置伪随机序列的种子;基于所述伪随机序列的种子和待存储的原始数据生成伪随机序列;将所述伪随机数序列与待存储的原始数据相关联,以使所述原始数据随机化。
11.如权利要求9所述的方法,其中,所述伪随机数序列的种子设置周期与所述待存储的原始数据的每页的容量相匹配,每页数据至少设置一次种子。
12.如权利要求9所述的方法,其中,将所述伪随机数序列与待存储的原始数据相关联的步骤包括使所述伪随机数序列与所述待存储的原始数据逐位进行“异或”操作。
13.如权利要求6所述的方法,其中,将待存储的原始数据随机化和将存储的随机化的数据还原为原始数据包括对数据进行替换、移位或变换操作。
14.如前述权利要求中任一项所述的方法,其中采用Hamming码、RS码、BCH码和LDPC 码之一对数据进行ECC编码。
全文摘要
本申请提供了一种闪存设备及其数据存储方法。所述闪存设备包括加扰模块,被配置成使待存储的数据随机化;存储介质,被配置成存储所述随机化的数据;以及解扰模块,被配置成对从所述存储介质中读取的数据进行解扰。所述方法包括存储过程和读取过程,其中所述存储过程包括将待存储的原始数据随机化、以及存储所述随机化的数据;所述读取过程包括将存储的所述随机化的数据还原为原始数据。根据本申请的闪存设备及其数据存储方法,通过在将数据写入到存储介质之前对数据进行加扰,使之成为随机化的数据,可以不仅限制写入的数据中连续的1或0的数量,而且各页之间的数据也可以随机不相关,从而可以减小相邻存储单元间的电容耦合干扰,降低出错的可能。
文档编号G11C16/26GK102208210SQ201010145179
公开日2011年10月5日 申请日期2010年3月31日 优先权日2010年3月31日
发明者程学敏 申请人:深圳市朗科科技股份有限公司