CN103049387B - 一种分页存储器件的压缩管理方法及装置 - Google Patents
一种分页存储器件的压缩管理方法及装置 Download PDFInfo
- Publication number
- CN103049387B CN103049387B CN201210519322.8A CN201210519322A CN103049387B CN 103049387 B CN103049387 B CN 103049387B CN 201210519322 A CN201210519322 A CN 201210519322A CN 103049387 B CN103049387 B CN 103049387B
- Authority
- CN
- China
- Prior art keywords
- write
- page data
- written
- condition code
- page
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于存储器技术领域,提供了一种分页存储器件的压缩管理方法及装置,所述方法包括:获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址;获取所述待写入页数据的特征码,并根据所述待写入页数据写入的逻辑页地址计算得到相应的物理块;判断该物理块中是否存在与所获取的特征码相同的特征码;若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址;若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据。通过本发明可有效解决以页为最小存储单元的存储器件的管理问题。
Description
技术领域
本发明属于存储器技术领域,尤其涉及一种分页存储器件的压缩管理方法及装置。
背景技术
当前通用的数据压缩方法包括无损数据压缩和有损数据压缩,如基于统计模型的压缩技术和基于样本库模型的压缩技术为无损数据压缩技术;多媒体数据压缩包括音频压缩、图像压缩、视频压缩等则大多为有损数据压缩技术;对存储设备而言,必须使用无损的数据压缩方式。
现有的无损数据压缩方式包括:
一、样本库型数据压缩方法,如表1所示:
Index | String |
1 | Prince |
2 | Love |
3 | Princess |
4 | Forever |
表1
例如需要压缩Yes!PrincelovePrincessforever则根据表1提供的样本库得到压缩结果为:
Yes!&1&2&3&4(其中&是特殊符号,如果需要输出&则压缩数据为&&)
缺点:样本库的大小和好坏直接影响压缩结果。大的样本库开销较大,小的样本库无法满足压缩要求,例如通过表1提供的样本库压缩Iamhappytoday!则完全无法压缩。
二、行程编码型数据压缩方法
行程编码的基本原理是:通过一个符号值或串长代替具有相同值的连续符号(连续符号构成了一段连续的“行程”),使符号长度少于原始数据的长度。在各行或者各列数据的代码发生变化时,一次记录该代码及相同代码重复的个数,从而实现数据的压缩。
例如:5555557777733322221111111
行程编码为:(5,6)(7,5)(3,3)(2,4)(1,7)。可见,行程编码的位数远远少于原始字符串的位数。
然而,并不是所有的行程编码都远远少于原始字符串的位数,例如:555555是6个字符,而(5,6)是5个字符,这也存在压缩量的问题。另外,行程编码针对随机数据的压缩出来的编码可能比没压缩还大。
三、哈夫曼型数据压缩方法
现有的哈夫曼型数据压缩方法在进行数据压缩时需要构建哈夫曼树,空间开销过大。而且,压缩后的长度是一个变化值,不便于以页为最小存储单元的存储器件,例如对8k的数据进行压缩时,压缩完可能是7.5k,对于以页为最小存储单元的存储器件来说,如果其页的大小为8k,则压缩后剩余的0.5k基本无法使用。
综上所述,现有的数据压缩方法存在以下问题:(1)对运算开销过大或者对存储空间要求过高;(2)压缩的效果无法保证;(3)压缩结果不便于以页为最小存储单元的存储器件管理。
发明内容
本发明实施例的目的在于提供一种分页存储器件的压缩管理方法,以解决现有的压缩管理方法对运算开销过大或者对存储空间要求过高、压缩效果无法保证、且压缩结果不便于以页为最小存储单元的存储器件管理的问题。
本发明实施例是这样实现的,一种分页存储器件的压缩管理方法,所述方法包括:
步骤A、获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址;
步骤B、获取所述待写入页数据的特征码,并根据所述待写入页数据写入的逻辑页地址计算得到相应的物理块;
步骤C、判断该物理块中是否存在与所获取的特征码相同的特征码;
步骤D、若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址;
步骤E、若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据。
本发明实施例的另一目的在于提供一种分页存储器件的压缩管理装置,所述装置包括:
第一获取单元,用于获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址;
第二获取单元,用于获取所述待写入页数据的特征码,并根据所述待写入页数据写入的逻辑页地址计算得到相应的物理块;
判断单元,用于判断该物理块中是否存在与所获取的特征码相同的特征码;
指向单元,用于在所述判断单元判断结果为是时,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址;
写入单元,用于在所述判断单元判断结果为否时,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据。
从上述技术方案可以看出,本发明实施例中数据压缩的最小单位是页,页内的数据不进行压缩和解压缩,数据的写入和读出也是以页为单位,因此本发明实施例提供的压缩管理方法非常适合采用运算能力不足或者成本低的分页存储器件。而且本发明实施例提供的压缩管理方法,是通过判断分页存储器件的物理块中是否存在与所获取的特征码相同的特征码,在存在时,则不写入数据。由于可以根据所述待写入页数据写入的逻辑页地址快速定位到分页存储器件中相应的物理块,因而能有效提高特征码比较的效率,进而提高分页存储器件的数据写入效率以及数据压缩的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的分页存储器件压缩管理方法的实现流程图;
图2是本发明实施例二提供的分页存储器件压缩管理装置的组成结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明实施例一提供的分页存储器件压缩管理方法的实现流程,该方法过程详述如下:
在步骤S101中,获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址等信息。
在本实施例中,分页存储器件为以页为最小存储单元的存储器件,即按块擦除、按页读写的存储器件,例如闪存存储器件等。所述页数据为页内存储的数据。
在步骤S102中,获取所述待写入页数据的特征码,并根据所述待写入页数据写入的逻辑页地址计算得到相应的物理块。
在步骤S103中,判断该物理块中是否存在与所获取的特征码相同的特征码,若判断结果为“是”,则执行步骤S104,若判断结果为“否”,则执行步骤S105。
由于一个物理块可能包含很多页,为了提高特征码比较的效率,判断该物理块中是否存在与所获取的特征码相同的特征码具体可以为:判断该物理块中前N个物理页地址中是否存在与所获取的特征码相同的特征码,若是,则表示当前写命令中的待写入页数据已写入,执行步骤S104;否则执行步骤S105。其中,所述N为大于零小于物理块中页数的整数。
优选的是,本实施例在判断该物理块中是否存在与所获取的特征码相同的特征码之前,还包括:
创建信息表,所述信息表中记录有该物理块内已写入页数据的特征码以及所述已写入页数据写入的物理页地址和/或逻辑页地址;
所述判断该物理块中是否存在与所获取的特征码相同的特征码具体包括:
判断该物理块的所述信息表中是否存在与所获取的特征码相同的特征码。
本实施例中所述待写入页数据的特征码以及所述信息表中已写入页数据的特征码都可采用相同的算法获取。优选的是,通过哈希算法获取。当然也可以采用其他算法获取,在此并不用以限制本发明。
哈希(Hash)算法属于对一个大的数据进行消息摘录,得到该段数据的特征码,主要用于密码验证和数据完整性验证,同时也可以用于快速判断两段数据是否相同。
以MD5哈希算法为例,例如表2中如下的几段数据:
页数据 | MD5值 |
1234567890abcdefg | 7206ddfa511b6ab05734b603c1b88be6 |
2234567890abcdefg | 628cb0947d31075fa305699029ddfecc |
0234567890abcdefg | df9e94f848b6608dd2af317b693744ba |
1234567890abcdefgh | ad91a28a12e83ce4999b23260f7785c3 |
1234567890abcdef | 996ce17f6abc9fe126b57aa5f1d8c92c |
1234567890abcdefg | 7206ddfa511b6ab05734b603c1b88be6 |
表1
从表1可以看到,即使页数据只改变一点点,经哈希算法计算后的特征码都会产生大幅度变动,因此采用哈希算法计算特征码,能够降低重码率。
在步骤S104中,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址。
具体的是,在所述物理块中存在与所获取的特征码相同的特征码时,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,同时获取所述待写入页数据写入的逻辑页地址与物理页地址的相对偏移值,并将所获取的相对偏移值存储至所述样本库。其中,所述相对偏移值为所述写命令中逻辑页地址与实际写入的物理页地址的差。例如,写入的逻辑页地址为逻辑页5,实际写入的物理页地址为物理页2,则相对偏移值为3。
在本实施例中,在所述写命令中的待写入页数据之前已写入过,即已存在于分页存储器件中时,不执行所述写指令,只将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,并提醒用户该数据已写入过,因此能有效提高分页存储器件的数据写入效率,减少数据的写入次数,进而减少分页存储器件的磨损。
在步骤S105中,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据。
具体的是,在所述物理块中不存在与所获取的特征码相同的特征码时,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据,并将所述待写入页数据的特征码以及所述待写入页数据写入的物理页地址和/或逻辑页地址等信息存储至所述信息表。
需要说明的是,本实施例所述信息表中记录的已写入页数据地址既可以为物理页地址,也可以为逻辑页地址。如果为逻辑页地址,在写命令中的待写入页数据之前已写入过时,只需将当前写命令中待写入页数据的写入逻辑页地址指向具有相同特征码的原始数据写入的逻辑页地址即可。另外,当记录的是逻辑页地址时,在读出数据时需要将逻辑页地址转换为物理页地址。
举例说明上述过程:
表2
如表2所示,逻辑页地址0(LogPage0):该物理块的信息表中未匹配到与待写入页数据的特征码相同的特征码,写入物理页地址0(PhyPage0),其特征码记入信息表,相对偏移值为0。
逻辑页地址1(LogPage1):该物理块的信息表中未匹配到与待写入页数据的特征码相同的特征码,写入物理页地址1(PhyPage1),其特征码记入信息表,相对偏移值为0。
逻辑页地址2(LogPage2):该物理块的信息表中未匹配到与待写入页数据的特征码相同的特征码,写入物理页地址2(PhyPage2),其特征码记入信息表,相对偏移值为0。
逻辑页地址3(LogPage3):该物理块的信息表中匹配到与待写入页数据的特征码相同的特征码,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址PhyPage0,相对偏移值为3。
逻辑页地址4(LogPage4):该物理块的信息表中未匹配到与待写入页数据的特征码相同的特征码,写入物理页地址3(PhyPage3),其特征码记入信息表,相对偏移值为1。
逻辑页地址5(LogPage5):该物理块的信息表中匹配到与待写入页数据的特征码相同的特征码,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址PhyPage2,相对偏移值为3。
作为本发明的一优选实施例,为了降低重码率,所述获取所述待写入页数据的特征码,并根据所述待写入页数据写入的逻辑页地址计算得到相应的物理块,判断该物理块的所述信息表中是否存在与所获取的特征码相同的特征码,若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址;若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据具体包括:
在所述分页存储器件支持多种哈希算法时,对所述待写入页数据进行多次消息摘录,获取每次消息摘录后的特征码,判断该物理块的所述信息表中是否存在与所述每次消息摘录后的特征码都相同的特征码,若否,执行所述写命令,根据所述写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述信息表中记录有已写入页数据多次消息摘录后的特征码;
或者,在所述分页存储器件支持一种哈希算法时,对所述待写入页数据进行多次不同偏移的消息摘录,获取每次不同偏移消息摘录后的特征码,判断该物理块的所述信息表中是否存在与所述每次不同偏移消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述信息表中记录有已写入页数据多次不同偏移消息摘录后的特征码;
或者,在所述分页存储器件支持错误检查和纠正ECC码时,获取所述待写入页数据的ECC码和消息摘录后的特征码,判断该物理块的所述信息表中是否同时存在该ECC码和消息摘录后的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述信息表中记录有已写入页数据的ECC码和消息摘录后的特征码;
或者,获取所述待写入页数据的特征码,在该物理块的所述信息表中存在与所获取的特征码相同的特征码时,判断所述待写入页数据中的N个字节与该物理块中相同特征码对应的页数据中的N个字节是否全部相同,若否,执行所述写命令,根据所述写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述N为大于零且小于或者等于所述分页存储器中页的大小的整数。
本实施例中数据压缩的最小单位是页,页内的数据不进行压缩和解压缩,数据的写入和读出也是以页为单位,因此本发明实施例提供的压缩管理方法非常适合采用运算能力不足或者成本低的分页存储器件。而且本发明实施例提供的压缩管理方法,是通过判断分页存储器件的物理块中是否存在与所获取的特征码相同的特征码,在存在时,则不写入数据。由于可以根据所述待写入页数据写入的逻辑页地址快速定位到分页存储器件中相应的物理块,因而能有效提高特征码比较的效率,进而提高分页存储器件的数据写入效率以及数据压缩的效率。本发明实施例提供的压缩管理方法可用于压缩出现重复次数较少的数据,通过记录数据与相对偏移值(例如“吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮”,“葡萄”第一次出现以后,后面再出现“葡萄”描述为(2,4)表示内容出现在当前位置往前偏移4个字),即可实现数据的压缩,不需要花费多余的空间来保存字典,而且方便于搜索和解压缩。
实施例二:
图2示出了本发明实施例二提供的分页存储器件压缩管理装置的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该分页存储器件压缩管理装置可以应用于存储设备中,可以是运行于存储设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到存储设备中或者运行于存储设备的应用系统中。
该分页存储器件压缩管理装置包括第一获取单元21、第二获取单元22、判断单元23、指向单元24以及写入单元25。其中,各单元的具体功能如下:
第一获取单元21,用于获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址;
第二获取单元22,用于获取所述待写入页数据的特征码,并根据所述待写入页数据写入的逻辑页地址计算得到相应的物理块;
判断单元23,用于判断该物理块中是否存在与所获取的特征码相同的特征码;
指向单元24,用于在所述判断单元23判断结果为是时,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址;
写入单元25,用于在所述判断单元23判断结果为否时,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据。
进一步的,所述判断单元23具体用于,判断该物理块中前N个物理页地址中是否存在与所获取的特征码相同的特征码,所述N为大于零小于物理块中页数的整数。
进一步的,所述装置还包括:
信息表创建单元26,用于创建信息表,所述信息表中记录有该物理块内已写入页数据对应的特征码以及所述已写入页数据写入的物理页地址和/或逻辑页地址;
所述判断单元23具体用于,判断该物理块的所述信息表中是否存在与所获取的特征码相同的特征码。
进一步的,所述指向单元24还用于,获取所述待写入页数据写入的逻辑页地址与物理页地址的相对偏移值,并将所获取相对偏移值存储至所述信息表。
进一步的,所述写入单元25还用于,将所述待写入页数据的特征码以及所述待写入页数据写入的物理页地址和/或逻辑页地址存储至所述信息表。
进一步的,所述装置还包括:
处理单元,用于在所述分页存储器件支持多种哈希算法时,对所述待写入页数据进行多次消息摘录,获取每次消息摘录后的特征码,判断该物理块的所述信息表中是否存在与所述每次消息摘录后的特征码都相同的特征码,若否,执行所述写命令,根据所述写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述信息表中记录有已写入页数据多次消息摘录后的特征码;
或者,在所述分页存储器件支持一种哈希算法时,对所述待写入页数据进行多次不同偏移的消息摘录,获取每次不同偏移消息摘录后的特征码,判断该物理块的所述信息表中是否存在与所述每次不同偏移消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述信息表中记录有已写入页数据多次不同偏移消息摘录后的特征码;
或者,在所述分页存储器件支持错误检查和纠正ECC码时,获取所述待写入页数据的ECC码和消息摘录后的特征码,判断该物理块的所述信息表中是否同时存在该ECC码和消息摘录后的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述信息表中记录有已写入页数据的ECC码和消息摘录后的特征码;
或者,获取所述待写入页数据的特征码,在该物理块的所述信息表中存在与所获取的特征码相同的特征码时,判断所述待写入页数据中的N个字节与该物理块中相同特征码对应的页数据中的N个字节是否全部相同,若否,执行所述写命令,根据所述写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述N为大于零且小于或者等于所述分页存储器中页的大小的整数。
需要说明的是,实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,例如第二获取单元22、判断单元23、指向单元24以及写入单元25可以集成到处理单元中。
本实施例提供的分页存储器件压缩管理装置可以使用在前述对应的分页存储器件压缩管理方法,详情参见上述分页存储器件压缩管理方法实施例一的相关描述,在此不再赘述。
本领域普通技术人员可以理解为上述实施例二所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
综上所述,本实施例中数据压缩的最小单位是页,页内的数据不进行压缩和解压缩,数据的写入和读出也是以页为单位,因此本发明实施例提供的压缩管理方法非常适合采用运算能力不足或者成本低的分页存储器件。而且本发明实施例提供的压缩管理方法,是通过判断分页存储器件的物理块中是否存在与所获取的特征码相同的特征码,在存在时,则不写入数据。由于可以根据所述待写入页数据写入的逻辑页地址快速定位到分页存储器件中相应的物理块,因而能有效提高特征码比较的效率,进而提高分页存储器件的数据写入效率以及数据压缩的效率。本发明实施例提供的压缩管理方法可用于压缩出现重复次数较少的数据,通过记录数据与相对偏移值(例如“吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮”,“葡萄”第一次出现以后,后面再出现“葡萄”描述为(2,4)表示内容出现在当前位置往前偏移4个字),即可实现数据的压缩,不需要花费多余的空间来保存字典,而且方便于搜索和解压缩。另外,本发明实施例通过多种比较方式,可有效降低比较过程中的重码率,具有较强的易用性和实用性。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明由所提交的权利要求书确定的专利保护范围。
Claims (8)
1.一种分页存储器件的压缩管理方法,其特征在于,所述方法包括:
步骤A、获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址;
步骤B、获取所述待写入页数据的特征码,并根据所述待写入页数据写入的逻辑页地址计算得到相应的物理块;
步骤C、判断该物理块中是否存在与所获取的特征码相同的特征码;
步骤D、若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址;
步骤E、若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据;
在步骤C之前,还包括:
创建信息表,所述信息表中记录有该物理块内已写入页数据的特征码以及所述已写入页数据写入的物理页地址和/或逻辑页地址;
所述步骤C具体包括:
判断该物理块的所述信息表中是否存在与所获取的特征码相同的特征码;
所述步骤D还包括:
获取所述待写入页数据写入的逻辑页地址与物理页地址的相对偏移值,并将所获取的相对偏移值存储至所述信息表。
2.如权利要求1所述的方法,其特征在于,所述步骤C具体包括:
判断该物理块中前N个物理页地址中是否存在与所获取的特征码相同的特征码,所述N为大于零小于物理块中页数的整数。
3.如权利要求1所述的方法,其特征在于,所述步骤E还包括:
将所述待写入页数据的特征码以及所述待写入页数据写入的物理页地址和/或逻辑页地址存储至所述信息表。
4.如权利要求1所述的方法,其特征在于,所述获取所述待写入页数据的特征码,并根据所述待写入页数据写入的逻辑页地址计算得到相应的物理块,判断该物理块的所述信息表中是否存在与所获取的特征码相同的特征码,若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址;若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据具体包括:
在所述分页存储器件支持多种哈希算法时,对所述待写入页数据进行多次消息摘录,获取每次消息摘录后的特征码,判断该物理块的所述信息表中是否存在与所述每次消息摘录后的特征码都相同的特征码,若否,执行所述写命令,根据所述写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述信息表中记录有已写入页数据多次消息摘录后的特征码;
或者,在所述分页存储器件支持一种哈希算法时,对所述待写入页数据进行多次不同偏移的消息摘录,获取每次不同偏移消息摘录后的特征码,判断该物理块的所述信息表中是否存在与所述每次不同偏移消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述信息表中记录有已写入页数据多次不同偏移消息摘录后的特征码;
或者,在所述分页存储器件支持错误检查和纠正ECC码时,获取所述待写入页数据的ECC码和消息摘录后的特征码,判断该物理块的所述信息表中是否同时存在该ECC码和消息摘录后的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述信息表中记录有已写入页数据的ECC码和消息摘录后的特征码;
或者,获取所述待写入页数据的特征码,在该物理块的所述信息表中存在与所获取的特征码相同的特征码时,判断所述待写入页数据中的N个字节与该物理块中相同特征码对应的页数据中的N个字节是否全部相同,若否,执行所述写命令,根据所述写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述N为大于零且小于或者等于所述分页存储器件中页的大小的整数。
5.一种分页存储器件的压缩管理装置,其特征在于,所述装置包括:
第一获取单元,用于获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址;
第二获取单元,用于获取所述待写入页数据的特征码,并根据所述待写入页数据写入的逻辑页地址计算得到相应的物理块;
判断单元,用于判断该物理块中是否存在与所获取的特征码相同的特征码;
指向单元,用于在所述判断单元判断结果为是时,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址;
写入单元,用于在所述判断单元判断结果为否时,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据;
所述装置还包括:
信息表创建单元,用于创建信息表,所述信息表中记录有该物理块内已写入页数据的特征码以及所述已写入页数据写入的物理页地址和/或逻辑页地址;
所述判断单元具体用于,判断该物理块的所述信息表中是否存在与所获取的特征码相同的特征码;
所述指向单元还用于,获取所述待写入页数据写入的逻辑页地址与物理页地址的相对偏移值,并将所获取相对偏移值存储至所述信息表。
6.如权利要求5所述的装置,其特征在于,所述判断单元具体用于,判断该物理块中前N个物理页地址中是否存在与所获取的特征码相同的特征码,所述N为大于零小于物理块中页数的整数。
7.如权利要求5所述的装置,其特征在于,所述写入单元还用于,将所述待写入页数据的特征码以及所述待写入页数据写入的物理页地址和/或逻辑页地址存储至所述信息表。
8.如权利要求5所述的装置,其特征在于,所述装置还包括:
处理单元,用于在所述分页存储器件支持多种哈希算法时,对所述待写入页数据进行多次消息摘录,获取每次消息摘录后的特征码,判断该物理块的所述信息表中是否存在与所述每次消息摘录后的特征码都相同的特征码,若否,执行所述写命令,根据所述写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述信息表中记录有已写入页数据多次消息摘录后的特征码;
或者,在所述分页存储器件支持一种哈希算法时,对所述待写入页数据进行多次不同偏移的消息摘录,获取每次不同偏移消息摘录后的特征码,判断该物理块的所述信息表中是否存在与所述每次不同偏移消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述信息表中记录有已写入页数据多次不同偏移消息摘录后的特征码;
或者,在所述分页存储器件支持错误检查和纠正ECC码时,获取所述待写入页数据的ECC码和消息摘录后的特征码,判断该物理块的所述信息表中是否同时存在该ECC码和消息摘录后的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述信息表中记录有已写入页数据的ECC码和消息摘录后的特征码;
或者,获取所述待写入页数据的特征码,在该物理块的所述信息表中存在与所获取的特征码相同的特征码时,判断所述待写入页数据中的N个字节与该物理块中相同特征码对应的页数据中的N个字节是否全部相同,若否,执行所述写命令,根据所述写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述N为大于零且小于或者等于所述分页存储器件中页的大小的整数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210519322.8A CN103049387B (zh) | 2012-12-06 | 2012-12-06 | 一种分页存储器件的压缩管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210519322.8A CN103049387B (zh) | 2012-12-06 | 2012-12-06 | 一种分页存储器件的压缩管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103049387A CN103049387A (zh) | 2013-04-17 |
CN103049387B true CN103049387B (zh) | 2015-12-09 |
Family
ID=48062034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210519322.8A Active CN103049387B (zh) | 2012-12-06 | 2012-12-06 | 一种分页存储器件的压缩管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103049387B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180150125A1 (en) * | 2016-11-28 | 2018-05-31 | Qualcomm Incorporated | Wifi memory power minimization |
CN108268265A (zh) * | 2018-01-24 | 2018-07-10 | 深圳市道通科技股份有限公司 | 公共代码库的链接映射方法、软件代码烧录方法及烧录主机 |
CN108599774B (zh) * | 2018-04-26 | 2022-03-08 | 郑州云海信息技术有限公司 | 一种压缩方法、系统、装置及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374266B1 (en) * | 1998-07-28 | 2002-04-16 | Ralph Shnelvar | Method and apparatus for storing information in a data processing system |
CN101645043A (zh) * | 2009-09-08 | 2010-02-10 | 成都市华为赛门铁克科技有限公司 | 写数据的方法、读数据的方法及存储设备 |
CN101719099A (zh) * | 2009-11-26 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 减小固态硬盘写入放大的方法及装置 |
CN101930345A (zh) * | 2010-08-24 | 2010-12-29 | 苏州国芯科技有限公司 | 一种基于块访问的闪存读写方法 |
CN102722455A (zh) * | 2012-05-22 | 2012-10-10 | 深圳市江波龙电子有限公司 | 一种闪存设备中数据存储的方法及装置 |
-
2012
- 2012-12-06 CN CN201210519322.8A patent/CN103049387B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374266B1 (en) * | 1998-07-28 | 2002-04-16 | Ralph Shnelvar | Method and apparatus for storing information in a data processing system |
CN101645043A (zh) * | 2009-09-08 | 2010-02-10 | 成都市华为赛门铁克科技有限公司 | 写数据的方法、读数据的方法及存储设备 |
CN101719099A (zh) * | 2009-11-26 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 减小固态硬盘写入放大的方法及装置 |
CN101930345A (zh) * | 2010-08-24 | 2010-12-29 | 苏州国芯科技有限公司 | 一种基于块访问的闪存读写方法 |
CN102722455A (zh) * | 2012-05-22 | 2012-10-10 | 深圳市江波龙电子有限公司 | 一种闪存设备中数据存储的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103049387A (zh) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102629258B (zh) | 重复数据删除方法和装置 | |
CN103488709B (zh) | 一种索引建立方法及系统、检索方法及系统 | |
CN107046812B (zh) | 一种数据保存方法和装置 | |
US20140359233A1 (en) | Read-write control method for memory, and corresponding memory and server | |
CN106537327A (zh) | 快闪存储器压缩 | |
CN105824720B (zh) | 一种面向数据连续读取的重删纠删混合系统的数据放置方法 | |
CN103152430B (zh) | 一种缩减数据占用空间的云存储方法 | |
CN105117351A (zh) | 向缓存写入数据的方法及装置 | |
US8639672B2 (en) | Multiplex classification for tabular data compression | |
WO2019228098A1 (zh) | 一种数据压缩方法及装置 | |
CN103020317A (zh) | 基于重复数据删除的数据压缩方法和装置 | |
CN111723059B (zh) | 一种数据压缩方法、装置、终端设备及存储介质 | |
CN106201774B (zh) | 一种nand flash存储芯片数据存储结构分析方法 | |
CN103049387B (zh) | 一种分页存储器件的压缩管理方法及装置 | |
CN108351833A (zh) | 用来压缩密码元数据以用于存储器加密的技术 | |
CN104579356A (zh) | 在存在重现的霍夫曼树的情况下加速解压缩的方法和系统 | |
CN103678158A (zh) | 一种数据布局优化方法及系统 | |
CN103744875A (zh) | 基于文件系统的数据快速迁移方法及系统 | |
CN107194001A (zh) | 一种列式存储格式文件快速合并方法及其系统 | |
US20140258247A1 (en) | Electronic apparatus for data access and data access method therefor | |
US10503717B1 (en) | Method for locating data on a deduplicated storage system using a SSD cache index | |
CN103746705A (zh) | 一种压缩矢量数据的方法 | |
US10248677B1 (en) | Scaling an SSD index on a deduplicated storage system | |
CN104166524B (zh) | 一种元数据和数据的处理方法 | |
WO2021082926A1 (zh) | 一种数据压缩的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 518057 A, B, C, D, E, F1, 8 Building, Financial Services Technology Innovation Base, No. 8 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province Patentee after: Shenzhen jiangbolong electronic Limited by Share Ltd Address before: 518000 A, B, C, D, E, F1, 8 Building, Financial Services Technology Innovation Base, No. 8 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province Patentee before: Shenzhen jiangbolong Electronic Co., Ltd. |