CN104679448B - 数据比特流转换的方法和装置 - Google Patents
数据比特流转换的方法和装置 Download PDFInfo
- Publication number
- CN104679448B CN104679448B CN201510065127.6A CN201510065127A CN104679448B CN 104679448 B CN104679448 B CN 104679448B CN 201510065127 A CN201510065127 A CN 201510065127A CN 104679448 B CN104679448 B CN 104679448B
- Authority
- CN
- China
- Prior art keywords
- bit stream
- transformation rule
- chi
- output unit
- input block
- 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
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种数据比特流转换的方法,所述数据比特流转换的方法包括:步骤S10,接收输入单元比特流;步骤S20,调用第一转换规则尺对所述输入单元比特流进行转换,得到与该输入单元比特流对应的输出单元比特流;步骤S30,判断所述输出单元比特流是否达到目标输出单元比特流;步骤S40,当所述输出单元比特流没有达到目标输出单元比特流时,调整所述第一转换规则尺,得到第二转换规则尺;步骤S50,将所述第二转换规则尺重置为所述第一转换规则尺,重复步骤S10‑S40。采用本发明可以提高比特流数据存储的稳定性并降低比特流数据的错误率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及数据比特流转换的方法和装置。
背景技术
在Nand Flash(非易失性存储器,简称闪存)存储领域,由于Nand Flash的存储单元的物理结构特性,使得存储在Nand Flash页上的数据需要满足其存储单元的物理结构特性,如此存储到存储单元上的数据才稳定,同时出现错误的比特数也更少。因此,一般都需要对外部输入Nand Flash的数据比特流进行转换,以得到能够符合存储单元的要求的数据比特流。
现有的数据比特流的处理方法及数据流变换方式,大都采用固定转换规则的编码方式,从而使输入比特流A经过变换后得到输出比特流B,但对于输入比特流的具体形式不关注,如此产生的输出比特流B存储在存储介质上(比如Nand Flash上)时,很可能产生较差的存储效果,即数据不稳定且错误的比特数增多,因此,现有的固定转换规则将会增加数据存储的不稳定性和错误率。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种数据比特流转换的方法和装置,旨在解决固定转换规则带来的数据存储不稳定且错误率多的问题,降低数据存储的错误率,提高数据存储的稳定性。
为实现上述目的,本发明提供的一种数据比特流转换的方法,所述数据比特流包括若干输入单元比特流,所述数据比特流转换的方法包括:
步骤S10,接收输入单元比特流;
步骤S20,调用第一转换规则尺对所述输入单元比特流进行转换,得到与该输入单元比特流对应的输出单元比特流;
步骤S30,判断所述输出单元比特流是否达到目标输出单元比特流;
步骤S40,当所述输出单元比特流没有达到目标输出单元比特流时,调整所述第一转换规则尺,得到第二转换规则尺;
步骤S50,将所述第二转换规则尺重置为所述第一转换规则尺,重复步骤S10-S40。
优选地,所述步骤S30之后还包括:
步骤S60,当所述输出单元比特流达到目标输出单元比特流时,保持所述第一转换规则尺不变,重复步骤S10-S30。
优选地,所述调整所述第一转换规则尺的步骤包括:
根据所述输出单元比特流,调整所述第一转换规则尺,得到所述第二转换规则尺。
优选地,所述数据比特流转换的方法还包括:
在数据比特流转换过程中,每隔M个所述输入单元比特流,统计分析该M个所述输入单元比特流的特征规律,得到规律调整参数值,其中,所述M为正整数;
当第M*N次接收所述输入单元比特流且调整所述第一转换规则尺,得到所述第二转换规则尺时,根据所述规律调整参数值,调整当前所述第二转换规则尺,执行步骤S50,其中,所述N为正整数。
优选地,所述数据比特流转换的方法还包括:
首次调用所述第一转换规则尺时,该第一转换规则尺为预先设定或根据首次输入的所述输入单元比特流确定。
为实现上述目的,本发明还提供一种数据比特流转换的装置,所述数据比特流包括若干输入单元比特流,所述数据比特流转换的装置包括:
比特流接收模块,用于接收输入单元比特流;
比特流转换模块,用于调用第一转换规则尺对所述输入单元比特流进行转换,得到与该输入单元比特流对应的输出单元比特流;
输出比特流判断模块,用于判断所述输出单元比特流是否达到目标输出单元比特流;
转换规则尺第一调整模块,用于当所述输出单元比特流没有达到目标输出单元比特流时,调整所述第一转换规则尺,得到第二转换规则尺;
重置跳转模块,用于将所述第二转换规则尺重置为所述第一转换规则尺,并跳转到所述比特流接收模块。
优选地,所述数据比特流转换的装置还包括:
保持跳转模块,用于当所述输出单元比特流达到目标输出单元比特流时,保持所述第一转换规则尺不变,并跳转到所述比特流接收模块。
优选地,所述数据比特流转换的装置还包括:
转换规则尺第二调整模块,用于根据所述输出单元比特流,调整所述第一转换规则尺,得到所述第二转换规则尺。
优选地,所述数据比特流转换的装置还包括:
比特流规律统计分析模块,用于在数据比特流转换过程中,每隔M个所述输入单元比特流,统计分析该M个所述输入单元比特流的特征规律,得到规律调整参数值,其中,所述M为正整数;
转换规则尺第三调整模块,用于当第M*N次接收所述输入单元比特流且调整所述第一转换规则尺,得到所述第二转换规则尺时,根据所述规律调整参数值,调整当前所述第二转换规则尺,执行所述重置跳转模块,其中,所述N为正整数。
优选地,首次调用所述第一转换规则尺时,该第一转换规则尺为预先设定或根据首次输入的所述输入单元比特流确定。
本发明通过对每次经过规则转换尺转换后的输出单元比特流进行分析与判断,并根据分析判断结果调整当前的规则转换尺,以形成下次输入单元比特流的规则转换尺,从而可以动态调整每次输入单元比特流的转换规则,使得下次的输出单元比特流能进一步满足存储单元的物理结构特性,最终实现降低数据存储的错误率,提高数据存储的稳定性的目的。此外,稳定的数据存储方式也能间接延长Nand Flash的使用寿命。
附图说明
图1为本发明数据比特流转换的方法第一实施例的流程示意图;
图2为本发明数据比特流转换的示例结构图;
图3为本发明数据比特流转换的方法第二实施例的流程示意图;
图4为本发明数据比特流转换的方法第三实施例的流程示意图;
图5为本发明数据比特流转换的装置第一实施例的功能模块示意图;
图6为本发明数据比特流转换的装置第二实施例的功能模块示意图;
图7为本发明数据比特流转换的装置第三实施例的功能模块示意图;
图8为本发明数据比特流转换的装置第四实施例的功能模块示意图;
图9为用户***写入/读取文件时的数据流示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明的核心思想是:以符合存储单元的物理结构特性的输出单元比特流为期望目标,在数据比特流转换过程中,通过对每次输出单元比特流的分析判断,动态调整转换规则,以得到符合期望目标的输出单元比特流,进而降低数据存储的出错率,提高数据存储的稳定性。
不同的数据比特流存储设备,其存储单元的物理结构特性是不一样的,也即输入数据转换的期望目标是不一样的,因此,与之相对应的转换规则亦不相同,但本发明的核心思想适用于任何存储设备的输入数据的转换,而并不局限于特定的存储设备或存储结构。为具体描述本发明数据比特流转换的方法,下面将具体以常用的Nand Flash进行举例说明,但本发明并不局限于Nand Flash存储设备。
Nand Flash的存储方式,其原理是基于一种带有浮栅的MOS管器件。这种MOS管器件含有两个栅极:里面的叫浮栅,被氧化层包裹着;外面的栅极则与外部电路相连。根据外部施加的电压不同,电子会存储到浮栅(并且掉电后可以保存),或者从浮栅上排空,这分别对应写和擦除两种操作。该MOS管器件浮栅上是否含有电子,分别对应了两种阀值电压VTH。阀值电压VTH小,对应存储的是“1”。阀值电压VTH大,对应存储的是“0”。
为了提高Nand Flash存储容量,每个器件可以存储的位数可以大于l。例如存储位数分别对应1位、2位、3位时,每个存储单元的信息值判定电压将对应被分别分成了2(21)级、4(22)级、8(23)级。例如,假设输入电压是Vin=4V,那么,可以设计出2的2次方=4个阈值电压,1/4的Vin=1V,2/4的Vin=2V,3/4的Vin=3V,Vin=4V,分别对应表示2位数据00,01,10,11,对于写入数据,就是充电,通过控制内部的电荷的多少,对应表示不同的数据。
尽管存储容量在逐渐提升,但存储数据的品质则在逐渐下降。存储单元信息值的判定也越来越容易出现错误,也即Flash出错的概率和错误的bit数也在逐渐增加。由于Flash物理页在编程前,都需先将该物理页所在的物理块擦除,此时擦除后的该物理块上的每个页数据都为全0xFF。也即该块内每个bit(比特)均为1。当对物理页进行编程时,NandFlash的控制逻辑将施加对应的编程电压,将要编程写入bit值为0的位由1变为0,而bit值为1的位保持不变。
从上面编程过程可以看到,数据bit流中,0值个数的多少,决定了Flash存储单元状态改变的多少。若数据bit流为全1,则Flash页上的数据状态不发生变化,此时,数据存储最稳定。而0值个数越多,存储在Flash上,则越不稳定。而且数据值从由1变为0也会对Flash存储单元有损耗。存储在Flash上的bit流越满足Flash存储单元的物理结构特征,Flash上的数据存储越稳定。故而要求在写入数据到Flash编程时,要进行数据比特流的变换处理。
参照图1,图1为本发明数据比特流转换的方法第一实施例的流程示意图。在本实施例中,所述数据比特流包括若干输入单元比特流,所述数据比特流转换的方法包括:
步骤S10,接收输入单元比特流;
一般数据比特流的输入是根据控制总线的***时钟进行传输的,也即一个***时钟的时间传输一个输入单元比特流。例如,Nand Flash***一次存储数据的带宽为1024bit,那么假定1024bit为1个单元比特流(即128Bytes)。要存储8KB数据到Nand Flash(假定一个Flash页大小为8K)上,若整个输入数据流为8KB(64*128Bytes),则对应64个输入单元比特流,也即64个***时钟的时间,***就可以完成8KB数据的传输,也即需要依次分成64个输入单元比特流进行传输。
步骤S20,调用第一转换规则尺对所述输入单元比特流进行转换,得到与该输入单元比特流对应的输出单元比特流;
当接收完一个输入单元比特流后,Nand Flash***调用第一转换规则尺对该输入单元比特流进行数据转换处理,得到与该输入单元比特流对应的输出单元比特流。在本实施例中,所述第一转换规则尺也可以为与输入单元比特流具有相同长度的一串比特流,但其转换的运算方法可以采用异或、同或等进行运算,其主要目的为改变输入单元比特流的编码位,使其输出单元比特流在进行存储时更为稳定。本实施例中,转换规则尺优选为与输入单元比特流具有相同长度的一串比特流,其运算方法优选为异或运算,采用异或运算可以使用同样的转换规则尺实现对数据比特流的解码输出。所述第一转换规则尺可以预先设定初始值,也可以由使用固定算法规则的随机化生成器生成。
例如,若输入的输入单元比特流为0110 1100,假设转换规则尺为1011 1101,则将输入单元比特流与转换规则尺进行异或运算得到对应的输出单元比特流为1101 0001,即输入单元比特流与转换规则尺进行异或运算得到所述输出单元比特流,从而实现了对输入比特流的编码转换;同样,输出单元比特流也可使用同样的转换规则尺进行异或运算从而得到解码后的输入单元比特流。
步骤S30,判断所述输出单元比特流是否达到目标输出单元比特流;
当完成了对输入单元比特流的转换后,需要判断经过当前的转换规则尺转换而得到的输出比特流是否达到目标输出单元比特流。在本实施例中,所述目标输出单元比特流是与当前存储设备的存储单元的物理结构特性相应的。例如,以8个bit位为基本单元比特流为例,在Nand Flash中,在若干基本单元比特流中,只有基本单元比特流:1111 1111存储最为稳定且错误率最低,因此基本单元比特流1111 1111即为目标输出单元比特流。不同的存储设备,其存储单元的物理结构特性是不一样的,也即不同的存储设备,其数据比特流转换的目标输出单元比特流是不一样的。
步骤S40,当所述输出单元比特流没有达到目标输出单元比特流时,调整所述第一转换规则尺,得到第二转换规则尺;
若输出单元比特流没有达到目标输出单元比特流时,也即输出单元比特流中还存在bit位为零的情况时,则需要再进一步调整所述第一转换规则尺,得到第二转换规则尺,而第二转换规则尺需要使下一次输出单元比特流中比当前输出单元比特流中包含有更多的bit位为1。
在本实施例中,对于第一转换规则尺的调整方式有很多,例如,改变第一转换规则尺的运算方式,如将原异或运算改为同或运算或其他运算;又或者是直接改变第一转换规则尺,如根据某一转换调整规则调整第一转换规则尺的各bit位数值情况,如根据取反调整规则,将第一转换规则尺1011 1101调整为第二转换规则尺0100 0010;为使得调整后的第二转换规则尺能使下一次输出单元比特流中包含有更多的bit位为1,还可以根据输出单元比特流,调整第一转换规则尺,以得到第二转换规则尺。
步骤S50,将所述第二转换规则尺重置为所述第一转换规则尺,重复步骤S10-S40。
当完成了当前一个***时钟的输入单元比特流的转换后,需要将调整第一转换规则尺后得到的第二转换规则尺重置为第一转换规则尺,并重复步骤S10-S40以对下一个输入单元比特流进行数据转换,并得到相应的下一个输出单元比特流。
参照图2,图2为本发明数据比特流转换的示例结构图。
例如,整个输入bit流以8个bit位为基本输入单元比特流,相应的,整个输出bit流同样以8个bit位为基本输出单元比特流,且存在多个基本输入单元比特流且存储设备为Nand Flash,则输出期望目标为bit值中1的个数越多越好,即期望的目标输出单元比特流为1111 1111。
首先,存储设备对第一次输入单元bit流Input(T0)经过一个初始规则尺(比如,不做任何数据变换的初始规则尺0000 0000)Func(T0)后,得到第一次输出单元bit流Output(T0),对此输出结果进行bit记录和分析,并与期望的目标输出单元比特流进行比较,判定是否调整转换规则。若输出的结果Output(T0)没有达到目标输出单元比特流时,则需调整当前的转换规则以得到下次的转换规则;若输出结果达到了目标输出单元比特流时,则保持现有转换规则不变。在经过分析、判定、调整处理后,得到下次(下一个转换周期)的转换规则尺Func(T1)。
其次,该Func(T1)作为接下来第二次输入端的第二次输入单元bit流Input(T1)转换变化的规则尺,经过变换后,得到第二次输出单元bit流Output(T1),再根据Output(T1)的bit流情况,分析、判定、调整,得到下次的转换规则尺Func(T2)。该Func(T2)又作为下次输入端的输入单元bit流Input(T2)的转换条件,然后经过转换得到相应的输出单元bit流Output(T2)。
最后,以上述方式,转换规则尺经过反复迭代循环转换,直到得到整个输入bit流经过变换后的输出bit流时结束,此时即完成了对整个输入bit流的转换,使其输出bit流更符合存储单元的物理结构特性,从而存储更为稳定且错误率低。需要指出的是,数据比特流的转换将根据不同的应用场景、不同的输出期望,其变换规则也会做对应调整,但总体转换思想仍是根据输入数据比特流的形式以及目标输出单元比特流,动态调整转换规则,从而得到存储更为稳定且错误率低的输出单元比特流。
在本实施例中,通过对每一次的输出单元比特流进行分析判断,若得到的输出单元比特流与目标输出单元比特流不符合,则动态调整当前的转换规则尺,并将调整过后的转换规则尺作为下一次输入单元比特流的转换规则尺。如此反复循环直到完成对整个输入比特流的转换,并得到最佳的接近期望目标的输出单元比特流。通过上述对转换规则进行动态调整,从而可以相应调整输出单元比特流,进而实现比特流数据存储的稳定性,并降低数据的错误率。需要指出的是,从应用的完整性角度来说,数据比特流的正向编码(写数据)与反向解码(读数据)是成对配套使用的,上述实施例只是对数据比特流变换的正向编码转换过程,其反向解码转换是正向编码变换的逆运算,即所有运算规则均取正向的逆运算即可进行读取数据流的解码。
下表表1为现有技术方案与本发明专利方案的输出结果对比,对比的标准为输出bit流中1的个数。通过对比可以发现,同样的输入比特流,本发明专利方案得到的输出比特流中,bit位为1的个数最多,几乎达到了现有技术方案的两倍左右。因此,不难得出,本发明专利方案中的动态转换规则较现有技术方案中的固定转换规则的输出结果更优,也即本发明专利方案在存储数据比特流上更为稳定且错误率也更低。
表1
进一步地,参照图3,图3为本发明数据比特流转换的方法第二实施例的流程示意图。基于本发明数据比特流转换的方法第一实施例,在上述实施例中,所述步骤S30之后还包括:
步骤S60,当所述输出单元比特流达到目标输出单元比特流时,保持所述第一转换规则尺不变,重复步骤S10-S30。
当完成数据比特流转换后得到的输出单元比特流达到目标输出单元比特流时,继续保持所述第一转换规则尺不变,也即对所述第一转换规则尺不作任何调整,继续重复步骤S10-S30直至完成数据比特流的完整输出时结束。
在本实施例中,当所述输出单元比特流符合期望的输出单元比特流时,保持所述第一转换规则尺不变即可最终得到最优的输出结果,也即数据存储最稳定。需要指出的是,一般实际转换过程中,经过规则转换后的输出单元比特流完全符合期望的输出单元比特流的概率很低,因此,绝大多数情况下都是需要对转换规则尺进行多次调整的。同时,也可根据实际规则转换得到的输出单元比特流的情况,对规则转换尺进行全调或者微调。例如,当输出的比特流单元中bit位为0的个数要远远大于bit位为1的个数时,此时需要对转换规则尺进行全调,反之,则只需进行微调即可。
进一步地,基于本发明数据比特流转换方法第一实施例,在数据比特流转换方法的另一实施例中,所述调整所述第一转换规则尺的步骤包括:
优选地,根据所述输出单元比特流,调整所述第一转换规则尺,得到所述第二转换规则尺。
调整所述第一转换规则尺的方法有很多,例如,调整第一转换规则尺的运算方法;又例如,调整第一转换规则尺的bit位等。在本实施例中,将根据当前所述输出单元比特流,调整当前所述第一转换规则尺,获得所述第二转换规则尺。所述第一转换规则尺与所述输出单元比特流优选使用同或运算,通过第一转换规则尺与输出单元比特流进行同或运算,其运算结果即为第二转换规则尺。例如,假设第一转换规则尺为1011 0110,对应的输出单元比特流为1010 1110,则将第一转换规则尺1011 0110与输出单元比特流1010 1110进行同或运算,从而得到第二转换规则尺1110 0111。根据当前对应的输出单元比特流,调整当前第一转换规则尺,从而可以更为准确地获取到第一转换规则尺调整的方向,从而更快得到使下次的输出结果更佳的第二转换规则尺。
进一步地,参照图4,图4为本发明数据比特流转换的方法第三实施例的流程示意图。基于本发明数据比特流转换的方法第一实施例,在本实施例中,所述数据比特流转换的方法还包括:
步骤S210,在数据比特流转换过程中,每隔M个所述输入单元比特流,统计分析该M个所述输入单元比特流的特征规律,得到规律调整参数值,其中,所述M为正整数;
一般基于数据块的比特流具有规律连贯性与一致性,即认为输入的后继bit流Input(Tn+1)与其前面的bit流Input(Tn)具有相似规律性。如此,可以利用该规律特性来选择对应的数据变换处理方法,以得到期望的转换输出数据流。例如,若期望输出数据流bit值1和0个数越平均越好,则若发现输出bit值1的个数偏少,则将后继编码规则进行调整以补偿bit值1的个数。
现有使用的电子产品中,其文件数据都可以看成是一个数据bit流。若对用户使用的文件数据进行分析,则可以发现,每类文件(对应于二进制bit流)都有其特定的规律。比如windows***的“*.txt”文本文件,从二进制bit流角度来看,大部分字符使用的都是键盘可输入的ASCII码。而键盘输入的字符和符号,其大部分ASCII码范围基本上为0x20~0x7F之间,如此,对于1个Byte的数据bit流其最高位基本一直为0,也就是说bit流最高位为1的概率很低。针对Flash存储来说,在编码时,可以考虑bit流最高位尽量变换输出为1。因此,需考虑将这种不太有利于Nand Flash存储的数据流,尽量转换成bit值多数为1的情况。根据输入数据比特流的特征规律和出现概率,进行数据流形式变换,以得到期望的输出数据流,提高存储的稳定性。
基于上述思路原理,可对输入数据流进行分析,以获得输入数据流的规律。本实施例中,在数据比特流转换过程中,每隔M个所述输入单元比特流,统计分析所述M个所述输入单元比特流的特征规律,得到规律调整参数值。所述M为大于等于1的正整数。例如,假设M为3,则在首次接收输入单元比特流时,开始对连续3个(第一次、第二次、第三次接收输入单元比特流)输入单元比特流进行统计分析,并得到该连续3个输入单元比特流对应的规律调整参数值;然后继续再对后面的连续3个(第四次、第五次、第六次接收输入单元比特流)输入单元比特流进行统计分析并得到相应的规律调整参数值,如此反复进行直至结束接收输入单元比特流时停止。
步骤S220,当第M*N次接收所述输入单元比特流且调整所述第一转换规则尺,得到所述第二转换规则尺时,根据所述规律调整参数值,调整当前所述第二转换规则尺,执行步骤S50,其中,所述N为正整数。
当第M*N次接收所述输入单元比特流且调整所述第一转换规则尺,得到所述第二转换规则尺时,根据步骤S210中分析获得的规律调整参数值,调整当前所述第二转换规则尺,从而得到更优的第二转换规则尺,并执行步骤S50。
例如,第3*5次接收所述输入单元比特流时,且本次输出结果没有达到目标输出单元比特流时,此时需要调整所述第一转换规则尺,得到所述第二转换规则尺,此时将根据分析获得的规律调整参数值,调整当前所述第二转换规则尺,并将调整后的第二转换规则尺重置为第一转换规则尺后,继续第16次接收输入单元比特流并进行相关处理。
例如以8位bit的数据流为例,根据统计分析获得输入数据流的规律:最高位为0,则可将规律调整参数值的最高位设为1,然后将规律调整参数值与第二转换规则尺进行或运算,从而可以保证第二转换规则尺的最高位为1,进而可以使输出单元比特流更加符合输出期望要求。
在本实施例中,根据输入数据比特流单元的特征规律,重新进一步调整第二转换规则尺,进而可以得到更加符合输出期望要求的输出单元比特流,进一步地保证数据存储的稳定性,降低数据的错误率。
进一步地,基于本发明数据比特流转换的方法第一实施例,在数据比特流转换方法的另一实施例中,所述数据比特流转换的方法还包括:首次调用所述第一转换规则尺时,该第一转换规则尺为预先设定或根据首次输入的所述输入单元比特流确定。
在本实施例中,对于首次调用的第一转换规则尺可以预先设定,例如,以8位的输入单元比特流为例,将首次调用的第一转换规则尺预设为0000 0000,也即对首次输入的输入单元比特流不做任何的变换。又或者是,根据首次输入的所述输入单元比特流的编码情况进行确定,例如,首次输入的所述输入单元比特流为1010 0001,其中,0位的个数为五个,则可将第一转换规则尺设为0101 1110,则其对应的输出单元比特流为1111 1111,也即输出结果达到目标输出单元比特流,此时可保持该第一转换规则尺不变。本实施例中,确定合适的首次调用的第一转换规则尺可以减少转换规则尺调整的次数,从而使输出单元比特流更多地接近目标输出单元比特流。
参照图5,图5为本发明数据比特流转换的装置第一实施例的功能模块示意图。在本实施例中,所述数据比特流包括若干输入单元比特流,所述数据比特流转换的装置包括:
比特流接收模块10,用于接收输入单元比特流;
一般数据比特流的输入是根据控制总线的***时钟进行传输的,也即一个***时钟的时间传输一个输入单元比特流。例如,Nand Flash***一次存储数据的带宽为1024bit,那么假定1024bit为1个单元比特流(即128Bytes)。要存储8KB数据到Nand Flash(假定一个Flash页大小为8K)上,若整个输入数据流为8KB(64*128Bytes),则对应64个输入单元比特流,也即64个***时钟的时间,***就可以完成8KB数据的传输,也即需要依次分成64个输入单元比特流进行传输。
比特流转换模块20,用于调用第一转换规则尺对所述输入单元比特流进行转换,得到与该输入单元比特流对应的输出单元比特流;
当比特流接收模块10接收完一个输入单元比特流后,比特流转换模块20调用第一转换规则尺对该输入单元比特流进行数据转换处理,得到与该输入单元比特流对应的输出单元比特流。在本实施例中,所述第一转换规则尺也可以为与输入单元比特流具有相同长度的一串比特流,但其转换的运算方法可以采用异或、同或等进行运算,其主要目的为改变输入单元比特流的编码位,使其输出单元比特流在进行存储时更为稳定。本实施例中,转换规则尺优选为与输入单元比特流具有相同长度的一串比特流,其运算方法优选为异或运算,采用异或运算可以使用同样的转换规则尺实现对数据比特流的解码输出。所述第一转换规则尺可以预先设定初始值,也可以由使用固定算法规则的随机化生成器生成。
例如,若输入的输入单元比特流为0110 1100,假设转换规则尺为1011 1101,则将输入单元比特流与转换规则尺进行异或运算得到对应的输出单元比特流为1101 0001,即输入单元比特流与转换规则尺进行异或运算得到所述输出单元比特流,从而实现了对输入比特流的编码转换;同样,输出单元比特流也可使用同样的转换规则尺进行异或运算从而得到解码后的输入单元比特流。
输出比特流判断模块30,用于判断所述输出单元比特流是否达到目标输出单元比特流;
当完成了对输入单元比特流的转换后,输出比特流判断模块30需要判断经过当前的转换规则尺转换而得到的输出比特流是否达到目标输出单元比特流。在本实施例中,所述目标输出单元比特流是与当前存储设备的存储单元的物理结构特性相应的。例如,以8个bit位为基本单元比特流为例,在Nand Flash中,在若干基本单元比特流中,只有基本单元比特流:1111 1111存储最为稳定且错误率最低,因此基本单元比特流1111 1111即为目标输出单元比特流。不同的存储设备,其存储单元的物理结构特性是不一样的,也即不同的存储设备,其数据比特流转换的目标输出单元比特流是不一样的。
转换规则尺第一调整模块40,用于当所述输出单元比特流没有达到目标输出单元比特流时,调整所述第一转换规则尺,得到第二转换规则尺;
若输出单元比特流没有达到目标输出单元比特流时,也即输出单元比特流中还存在bit位为零的情况时,则转换规则尺第一调整模块40需要再进一步调整所述第一转换规则尺,得到第二转换规则尺,而第二转换规则尺需要使下一次输出单元比特流中比当前输出单元比特流中包含有更多的bit位为1。
在本实施例中,对于第一转换规则尺的调整方式有很多,例如,改变第一转换规则尺的运算方式,如将原异或运算改为同或运算或其他运算;又或者是直接改变第一转换规则尺,如根据某一转换调整规则调整第一转换规则尺的各bit位数值情况,如根据取反调整规则,将第一转换规则尺1011 1101调整为第二转换规则尺0100 0010;为使得调整后的第二转换规则尺能使下一次输出单元比特流中包含有更多的bit位为1,还可以根据输出单元比特流,调整第一转换规则尺,以得到第二转换规则尺。
重置跳转模块50,用于将所述第二转换规则尺重置为所述第一转换规则尺,并跳转到所述比特流接收模块10。
当完成了当前一个***时钟的输入单元比特流的转换后,重置跳转模块50需要将调整第一转换规则尺后得到的第二转换规则尺重置为第一转换规则尺,并跳转到所述比特流接收模块10以对下一个输入单元比特流进行数据转换,并得到相应的下一个输出单元比特流。
参照图2,图2为本发明数据比特流转换的示例结构图。
例如,整个输入bit流以8个bit位为基本输入单元比特流,相应的,整个输出bit流同样以8个bit位为基本输出单元比特流,且存在多个基本输入单元比特流且存储设备为Nand Flash,则输出期望目标为bit值中1的个数越多越好,即期望的目标输出单元比特流为1111 1111。
首先,存储设备对第一次输入单元bit流Input(T0)经过一个初始规则尺(比如,不做任何数据变换的初始规则尺0000 0000)Func(T0)后,得到第一次输出单元bit流Output(T0),对此输出结果进行bit记录和分析,并与期望的目标输出单元比特流进行比较,判定是否调整转换规则。若输出的结果Output(T0)没有达到目标输出单元比特流时,则需调整当前的转换规则以得到下次的转换规则;若输出结果达到了目标输出单元比特流时,则保持现有转换规则不变。在经过分析、判定、调整处理后,得到下次(下一个转换周期)的转换规则尺Func(T1)。
其次,该Func(T1)作为接下来第二次输入端的第二次输入单元bit流Input(T1)转换变化的规则尺,经过变换后,得到第二次输出单元bit流Output(T1),再根据Output(T1)的bit流情况,分析、判定、调整,得到下次的转换规则尺Func(T2)。该Func(T2)又作为下次输入端的输入单元bit流Input(T2)的转换条件,然后经过转换得到相应的输出单元bit流Output(T2)。
最后,以上述方式,转换规则尺经过反复迭代循环转换,直到得到整个输入bit流经过变换后的输出bit流时结束,此时即完成了对整个输入bit流的转换,使其输出bit流更符合存储单元的物理结构特性,从而存储更为稳定且错误率低。需要指出的是,数据比特流的转换将根据不同的应用场景、不同的输出期望,其变换规则也会做对应调整,但总体转换思想仍是根据输入数据比特流的形式以及目标输出单元比特流,动态调整转换规则,从而得到存储更为稳定且错误率低的输出单元比特流。
在本实施例中,通过对每一次的输出单元比特流进行分析判断,若得到的输出单元比特流与目标输出单元比特流不符合,则动态调整当前的转换规则尺,并将调整过后的转换规则尺作为下一次输入单元比特流的转换规则尺。如此反复循环直到完成对整个输入比特流的转换,并得到最佳的接近期望目标的输出单元比特流。通过上述对转换规则进行动态调整,从而可以相应调整输出单元比特流,进而实现比特流数据存储的稳定性,并降低数据的错误率。需要指出的是,从应用的完整性角度来说,数据比特流的正向编码(写数据)与反向解码(读数据)是成对配套使用的,上述实施例只是对数据比特流变换的正向编码转换过程,其反向解码转换是正向编码变换的逆运算,即所有运算规则均取正向的逆运算即可进行读取数据流的解码。
进一步地,参照图6,图6为本发明数据比特流转换的装置第二实施例的功能模块示意图。基于本发明数据比特流转换的装置第一实施例,本实施例中,所述数据比特流转换的装置还包括:
保持跳转模块60,用于当所述输出单元比特流达到目标输出单元比特流时,保持所述第一转换规则尺不变,并跳转到所述比特流接收模块10。
当完成数据比特流转换后得到的输出单元比特流达到目标输出单元比特流时,保持跳转模块60继续保持所述第一转换规则尺不变,也即对所述第一转换规则尺不作任何调整,并跳转到所述比特流接收模块10直至完成数据比特流的完整输出时结束。
在本实施例中,当所述输出单元比特流符合期望的输出单元比特流时,保持所述第一转换规则尺不变即可最终得到最优的输出结果,也即数据存储最稳定。需要指出的是,一般实际转换过程中,经过规则转换后的输出单元比特流完全符合期望的输出单元比特流的概率很低,因此,绝大多数情况下都是需要对转换规则尺进行多次调整的。同时,也可根据实际规则转换得到的输出单元比特流的情况,对规则转换尺进行全调或者微调。例如,当输出的比特流单元中bit位为0的个数要远远大于bit位为1的个数时,此时需要对转换规则尺进行全调,反之,则只需进行微调即可。
进一步地,参照图7,图7为本发明数据比特流转换的装置第三实施例的功能模块示意图。基于本发明数据比特流转换的装置第一实施例,在本实施例中,所述数据比特流转换的装置还包括:
转换规则尺第二调整模块70,用于根据所述输出单元比特流,调整所述第一转换规则尺,得到所述第二转换规则尺。
调整所述第一转换规则尺的方法有很多,例如,调整第一转换规则尺的运算方法;又例如,调整第一转换规则尺的bit位等。在本实施例中,转换规则尺第二调整模块70根据当前所述输出单元比特流,调整当前所述第一转换规则尺,获得所述第二转换规则尺。所述第一转换规则尺与所述输出单元比特流优选使用同或运算,通过第一转换规则尺与输出单元比特流进行同或运算,其运算结果即为第二转换规则尺。例如,假设第一转换规则尺为1011 0110,对应的输出单元比特流为1010 1110,则将第一转换规则尺1011 0110与输出单元比特流1010 1110进行同或运算,从而得到第二转换规则尺1110 0111。根据当前对应的输出单元比特流,调整当前第一转换规则尺,从而可以更为准确地获取到第一转换规则尺调整的方向,从而更快得到使下次的输出结果更佳的第二转换规则尺。
进一步地,参照图8,图8为本发明数据比特流转换的装置第四实施例的功能模块示意图。基于本发明数据比特流转换的装置第一实施例,在本实施例中,所述数据比特流转换的装置还包括:
比特流规律统计分析模块80,用于在数据比特流转换过程中,每隔M个所述输入单元比特流,统计分析该M个所述输入单元比特流的特征规律,得到规律调整参数值,其中,所述M为正整数;
一般基于数据块的比特流具有规律连贯性与一致性,即认为输入的后继bit流Input(Tn+1)与其前面的bit流Input(Tn)具有相似规律性。如此,可以利用该规律特性来选择对应的数据变换处理方法,以得到期望的转换输出数据流。例如,若期望输出数据流bit值1和0个数越平均越好,则若发现输出bit值1的个数偏少,则将后继编码规则进行调整以补偿bit值1的个数。
现有使用的电子产品中,其文件数据都可以看成是一个数据bit流。若对用户使用的文件数据进行分析,则可以发现,每类文件(对应于二进制bit流)都有其特定的规律。比如windows***的“*.txt”文本文件,从二进制bit流角度来看,大部分字符使用的都是键盘可输入的ASCII码。而键盘输入的字符和符号,其大部分ASCII码范围基本上为0x20~0x7F之间,如此,对于1个Byte的数据bit流其最高位基本一直为0,也就是说bit流最高位为1的概率很低。针对Flash存储来说,在编码时,可以考虑bit流最高位尽量变换输出为1。因此,需考虑将这种不太有利于Nand Flash存储的数据流,尽量转换成bit值多数为1的情况。根据输入数据比特流的特征规律和出现概率,进行数据流形式变换,以得到期望的输出数据流,提高存储的稳定性。
基于上述思路原理,可对输入数据流进行分析,以获得输入数据流的规律。本实施例中,在数据比特流转换过程中,比特流规律统计分析模块80每隔M个所述输入单元比特流,统计分析所述M个所述输入单元比特流的特征规律,得到规律调整参数值。所述M为大于等于1的正整数。例如,假设M为3,则在首次接收输入单元比特流时,开始对连续3个(第一次、第二次、第三次接收输入单元比特流)输入单元比特流进行统计分析,并得到该连续3个输入单元比特流对应的规律调整参数值;然后继续再对后面的连续3个(第四次、第五次、第六次接收输入单元比特流)输入单元比特流进行统计分析并得到相应的规律调整参数值,如此反复进行直至结束接收输入单元比特流时停止。
转换规则尺第三调整模块90,用于当第M*N次接收所述输入单元比特流且调整所述第一转换规则尺,得到所述第二转换规则尺时,根据所述规律调整参数值,调整当前所述第二转换规则尺,执行所述重置跳转模块,其中,所述N为正整数。
当第M*N次接收所述输入单元比特流且调整所述第一转换规则尺,得到所述第二转换规则尺时,转换规则尺第三调整模块90根据比特流规律统计分析模块80分析获得的规律调整参数值,调整当前所述第二转换规则尺,从而得到更优的第二转换规则尺,并执行重置跳转模块50。
例如,第3*5次接收所述输入单元比特流时,且本次输出结果没有达到目标输出单元比特流时,此时需要调整所述第一转换规则尺,得到所述第二转换规则尺,此时将根据分析获得的规律调整参数值,调整当前所述第二转换规则尺,并将调整后的第二转换规则尺重置为第一转换规则尺后,继续第16次接收输入单元比特流并进行相关处理。
例如以8位bit的数据流为例,根据统计分析获得输入数据流的规律:最高位为0,则可将规律调整参数值的最高位设为1,然后将规律调整参数值与第二转换规则尺进行或运算,从而可以保证第二转换规则尺的最高位为1,进而可以使输出单元比特流更加符合输出期望要求。
在本实施例中,根据输入数据比特流单元的特征规律,重新进一步调整第二转换规则尺,进而可以得到更加符合输出期望要求的输出单元比特流,进一步地保证数据存储的稳定性,降低数据的错误率。
进一步地,基于本发明数据比特流转换装置第一实施例,在数据比特流转换装置的另一实施例中,首次调用所述第一转换规则尺时,该第一转换规则尺为预先设定或根据首次输入的所述输入单元比特流确定。
在本实施例中,对于首次调用的第一转换规则尺可以预先设定,例如,以8位的输入单元比特流为例,将首次调用的第一转换规则尺预设为0000 0000,也即对首次输入的输入单元比特流不做任何的变换。又或者是,根据首次输入的所述输入单元比特流的编码情况进行确定,例如,首次输入的所述输入单元比特流为1010 0001,其中,0位的个数为五个,则可将第一转换规则尺设为0101 1110,则其对应的输出单元比特流为1111 1111,也即输出结果达到目标输出单元比特流,此时可保持该第一转换规则尺不变。本实施例中,确定合适的首次调用的第一转换规则尺可以减少转换规则尺调整的次数,从而使输出单元比特流更多地接近目标输出单元比特流。
参照图9,图9为用户***写入/读取文件时的数据流示意图。
本发明针对当前主控IC(Integrated Circuit,集成电路)遇到的数据存储问题而进行的改进。因此,可以将本发明的技术方法做成对应的IC硬件模块设备。同时,此方法也可在用户***的软件端进行处理后,再输出到终端存储设备上存储。因此,本发明的技术方法既可引申扩展到软件,同时也可以扩展到硬件设备模块。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种数据比特流转换的方法,其特征在于,所述数据比特流包括若干输入单元比特流,所述数据比特流转换的方法包括:
步骤S10,接收输入单元比特流;
步骤S20,调用第一转换规则尺对所述输入单元比特流进行转换,得到与该输入单元比特流对应的输出单元比特流,并在数据比特流转换过程中,每隔M个所述输入单元比特流,统计分析该M个所述输入单元比特流的特征规律,得到规律调整参数值,其中,所述M为正整数;
步骤S30,判断所述输出单元比特流是否达到目标输出单元比特流;
步骤S40,当所述输出单元比特流没有达到目标输出单元比特流时,调整所述第一转换规则尺,得到第二转换规则尺,当第M*N次接收所述输入单元比特流且调整所述第一转换规则尺,得到所述第二转换规则尺时,根据第N次得到的规律调整参数值,调整当前所述第二转换规则尺,执行步骤S50,其中,所述N为正整数;
步骤S50,将所述第二转换规则尺重置为所述第一转换规则尺,重复步骤S10-S40。
2.如权利要求1所述的数据比特流转换的方法,其特征在于,所述步骤S30之后还包括:
步骤S60,当所述输出单元比特流达到目标输出单元比特流时,保持所述第一转换规则尺不变,重复步骤S10-S30。
3.如权利要求1所述的数据比特流转换的方法,其特征在于,所述调整所述第一转换规则尺的步骤包括:
根据所述输出单元比特流,调整所述第一转换规则尺,得到所述第二转换规则尺。
4.如权利要求1所述的数据比特流转换的方法,其特征在于,所述数据比特流转换的方法还包括:
首次调用所述第一转换规则尺时,该第一转换规则尺为预先设定或根据首次输入的所述输入单元比特流确定。
5.一种数据比特流转换的装置,其特征在于,所述数据比特流包括若干输入单元比特流,所述数据比特流转换的装置包括:
比特流接收模块,用于接收输入单元比特流;
比特流转换模块,用于调用第一转换规则尺对所述输入单元比特流进行转换,得到与该输入单元比特流对应的输出单元比特流;
输出比特流判断模块,用于判断所述输出单元比特流是否达到目标输出单元比特流;
转换规则尺第一调整模块,用于当所述输出单元比特流没有达到目标输出单元比特流时,调整所述第一转换规则尺,得到第二转换规则尺;
重置跳转模块,用于将所述第二转换规则尺重置为所述第一转换规则尺,并跳转到所述比特流接收模块;
比特流规律统计分析模块,用于在数据比特流转换过程中,每隔M个所述输入单元比特流,统计分析该M个所述输入单元比特流的特征规律,得到规律调整参数值,其中,所述M为正整数;
转换规则尺第三调整模块,用于当第M*N次接收所述输入单元比特流且调整所述第一转换规则尺,得到所述第二转换规则尺时,根据第N次得到的规律调整参数值,调整当前所述第二转换规则尺,执行所述重置跳转模块,其中,所述N为正整数。
6.如权利要求5所述的数据比特流转换的装置,其特征在于,所述数据比特流转换的装置还包括:
保持跳转模块,用于当所述输出单元比特流达到目标输出单元比特流时,保持所述第一转换规则尺不变,并跳转到所述比特流接收模块。
7.如权利要求5所述的数据比特流转换的装置,其特征在于,所述数据比特流转换的装置还包括:
转换规则尺第二调整模块,用于根据所述输出单元比特流,调整所述第一转换规则尺,得到所述第二转换规则尺。
8.如权利要求5所述的数据比特流转换的装置,其特征在于,首次调用所述第一转换规则尺时,该第一转换规则尺为预先设定或根据首次输入的所述输入单元比特流确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510065127.6A CN104679448B (zh) | 2015-02-05 | 2015-02-05 | 数据比特流转换的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510065127.6A CN104679448B (zh) | 2015-02-05 | 2015-02-05 | 数据比特流转换的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104679448A CN104679448A (zh) | 2015-06-03 |
CN104679448B true CN104679448B (zh) | 2017-10-03 |
Family
ID=53314581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510065127.6A Active CN104679448B (zh) | 2015-02-05 | 2015-02-05 | 数据比特流转换的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104679448B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019204967A1 (zh) * | 2018-04-23 | 2019-10-31 | 华为技术有限公司 | 一种用于存储设备的存储器控制电路 |
CN110474709B (zh) * | 2018-05-11 | 2021-11-05 | Tcl华星光电技术有限公司 | 编码方法、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908378A (zh) * | 2009-06-02 | 2010-12-08 | 慧帝科技(深圳)有限公司 | 闪存的控制器以及于闪存存取数据的方法 |
CN101938433A (zh) * | 2009-07-03 | 2011-01-05 | 南京壹进制信息技术有限公司 | 高效有线通讯方法 |
CN102497249A (zh) * | 2011-10-07 | 2012-06-13 | 友达光电股份有限公司 | 编码方法、编码装置、解码方法、解码装置、数据传送装置及数据接收装置 |
CN102780495A (zh) * | 2012-08-23 | 2012-11-14 | 苏州大学 | 一种数据编码及解码方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2124454B1 (en) * | 2007-03-19 | 2014-11-19 | Fujitsu Limited | Bit stream converting method, bit stream converting device, bit stream coupling device, bit stream dividing program, bit stream converting program and bit stream coupling program |
-
2015
- 2015-02-05 CN CN201510065127.6A patent/CN104679448B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908378A (zh) * | 2009-06-02 | 2010-12-08 | 慧帝科技(深圳)有限公司 | 闪存的控制器以及于闪存存取数据的方法 |
CN101938433A (zh) * | 2009-07-03 | 2011-01-05 | 南京壹进制信息技术有限公司 | 高效有线通讯方法 |
CN102497249A (zh) * | 2011-10-07 | 2012-06-13 | 友达光电股份有限公司 | 编码方法、编码装置、解码方法、解码装置、数据传送装置及数据接收装置 |
CN102780495A (zh) * | 2012-08-23 | 2012-11-14 | 苏州大学 | 一种数据编码及解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104679448A (zh) | 2015-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101710663B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US9621385B2 (en) | Methods and apparatus to reduce signaling power | |
CN110321315B (zh) | 用于串行数据总线的方法及发送器 | |
CN106850476B (zh) | 均衡器调整方法、可适性均衡器及存储器存储装置 | |
CN113168560A (zh) | 用于对编码数据进行解码的神经网络和*** | |
CN103516476A (zh) | 编码方法和设备 | |
CN110321314B (zh) | 用于降低pam-4数据总线上的耦合噪声和功率噪声的放宽的433编码 | |
CN109361403A (zh) | Ldpc译码方法、ldpc译码器及其存储设备 | |
CN104679448B (zh) | 数据比特流转换的方法和装置 | |
US20180278268A1 (en) | Method for generating a sequence for a pola code and medium therefor and method and apparatus for transmitting data using thereof | |
CN104240747A (zh) | 一种多媒体数据获取的方法及装置 | |
CN118056355A (zh) | 用于使用神经网络估计经编码数据的位错误率(ber)的*** | |
US9984035B2 (en) | Efficient encoding and decoding architecture for high-rate data transfer through a parallel bus | |
US20150294739A1 (en) | Online histogram and soft information learning | |
CN111914987A (zh) | 基于神经网络的数据处理方法及装置、设备和可读介质 | |
CN103428502B (zh) | 一种解码方法及解码*** | |
US9460782B2 (en) | Method of operating memory controller and devices including memory controller | |
WO2021009965A1 (ja) | ニューラルネットワーク用プロセッサ、ニューラルネットワーク用処理方法、および、プログラム | |
US8228216B2 (en) | Systems and methods for data compression | |
US20040205306A1 (en) | Manipulating data for improving storage and transmission | |
KR20170019872A (ko) | 버퍼 회로 및 이를 포함하는 전자 회로 | |
CN107888201B (zh) | 一种全并行高吞吐量ldpc译码方法 | |
US9940983B2 (en) | Channel controlling device for improving data reading efficiency | |
US20230071072A1 (en) | Data inversion circuit to perform dbi-ac encoding using pam 4 signal | |
CN208691219U (zh) | Ldpc译码器、存储设备及无线通信设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |