CN103049388B - 一种分页存储器件的压缩管理方法及装置 - Google Patents
一种分页存储器件的压缩管理方法及装置 Download PDFInfo
- Publication number
- CN103049388B CN103049388B CN201210519408.0A CN201210519408A CN103049388B CN 103049388 B CN103049388 B CN 103049388B CN 201210519408 A CN201210519408 A CN 201210519408A CN 103049388 B CN103049388 B CN 103049388B
- Authority
- CN
- China
- Prior art keywords
- written
- page data
- dictionary
- write command
- 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
- 238000007906 compression Methods 0.000 title claims abstract description 43
- 230000006835 compression Effects 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000013467 fragmentation Methods 0.000 title abstract 2
- 238000006062 fragmentation reaction Methods 0.000 title abstract 2
- 230000015654 memory Effects 0.000 claims abstract description 16
- 238000000605 extraction Methods 0.000 claims description 60
- 230000003068 static effect Effects 0.000 claims description 25
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000013144 data compression Methods 0.000 description 28
- 238000007726 management method Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 5
- 238000005299 abrasion Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013496 data integrity verification Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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、获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址;获取所述待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码;若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址。
本发明实施例的另一目的在于提供一种分页存储器件的压缩管理装置,所述装置包括:
字典建立单元,用于以页为单元建立字典,所述字典内记录有页数据、所述页数据对应的特征码以及所述页数据写入的物理页地址;
处理单元,用于获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址;获取所述待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码;若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址。
从上述技术方案可以看出,本发明实施例中数据压缩的最小单位是页,页内的数据不进行压缩和解压缩,数据的写入和读出也是以页为单位,因此本发明实施例提供的压缩管理方法非常适合采用运算能力不足或者成本低的分页存储器件。而且本发明实施例提供的压缩管理方法,在当前写命令中待写入的数据已经存入字典的话,则不写入数据,因此能有效提高分页存储器件的数据写入效率,减少数据的写入次数,进而减少分页存储器件的磨损。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的分页存储器件压缩管理方法的实现流程图;
图2是本发明实施例二提供的分页存储器件压缩管理方法的实现流程图;
图3是本发明实施例三提供的分页存储器件压缩管理方法的实现流程图;
图4是本发明实施例四提供的分页存储器件压缩管理装置的组成结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明实施例一提供的分页存储器件压缩管理方法的实现流程,该方法过程详述如下:
在步骤S101中,以页为单元建立字典,所述字典内记录有页数据、所述页数据对应的特征码以及所述页数据写入的物理页地址等信息。
在本实施例中,所述分页存储器件为以页为最小存储单元的存储器件,即按块擦除、按页读写的存储器件,例如闪存存储器件等。所述页数据为页内存储的数据。
在步骤S102中,获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址等信息。
在步骤S103中,获取所述待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码,若判断结果为“是”,则执行步骤S105,若判断结果为“否”,则执行步骤S104。
在本实施例中,获取所述待写入页数据的特征码,将获取的特征码与所述字典中的所有特征码进行比较,判断所述字典中是否存在与所获取的特征码相同的特征码,若是,则表示当前写命令中的待写入页数据已存入所述字典,执行步骤S105;若否,执行步骤S104。
本实施例中所述待写入页数据的特征码以及所述字典中页数据的特征码都可采用相同的算法获取。优选的是,通过哈希算法获取。当然也可以采用其他算法获取,在此并不用以限制本发明。
哈希(Hash)算法属于对一个大的数据进行消息摘录,得到该段数据的特征码,主要用于密码验证和数据完整性验证,同时也可以用于快速判断两段数据是否相同。
以MD5哈希算法为例,例如表2中如下的几段数据:
页数据 | MD5值 |
1234567890abcdefg | 7206ddfa511b6ab05734b603c1b88be6 |
2234567890abcdefg | 628cb0947d31075fa305699029ddfecc |
0234567890abcdefg | df9e94f848b6608dd2af317b693744ba |
1234567890abcdefgh | ad91a28a12e83ce4999b23260f7785c3 |
1234567890abcdef | 996ce17f6abc9fe126b57aa5f1d8c92c |
1234567890abcdefg | 7206ddfa511b6ab05734b603c1b88be6 |
表2
从表2可以看到,即使页数据只改变一点点,经哈希算法计算后的特征码都会产生大幅度变动,因此采用哈希算法计算特征码,能够降低重码率。
在步骤S104中,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据,即将所述待写入页数据存储至与所述逻辑地址对应的物理地址。
在步骤S105中,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址。
在本实施例中,在所述写命令中的待写入页数据之前已写入过,即已存在于分页存储器件中时,不执行所述写指令,只将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,并提醒用户该数据已写入过,因此能有效提高分页存储器件的数据写入效率,减少数据的写入次数,进而减少分页存储器件的磨损。
需要说明的是,本实施例所述字典中记录的页数据地址为物理页地址,但也可以为逻辑页地址,在写命令中的待写入页数据之前已写入过时,只需将当前写命令中待写入页数据的写入逻辑页地址指向具有相同特征码的原始数据写入的逻辑页地址即可。另外,当记录的是逻辑页地址时,在读出数据时需要将逻辑页地址转换为物理页地址。
作为本发明的另一优选实施例,为了降低重码率,所述获取写命令中待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码;若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址具体包括:
在所述分页存储器件支持多种哈希算法时,对当前写命令中的待写入页数据进行多次消息摘录,获取每次消息摘录后的特征码,判断所述字典中是否存在与所述每次消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据多次消息摘录后的特征码;
或者,在所述分页存储器件支持一种哈希算法时,对当前写命令中的待写入页数据进行多次不同偏移的消息摘录,获取每次不同偏移消息摘录后的特征码,判断所述字典中是否存在与所述每次不同偏移消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据多次不同偏移消息摘录后的特征码;
或者,在所述分页存储器件支持错误检查和纠正ECC码时,获取当前写命令中待写入页数据的ECC码和消息摘录后的特征码,判断所述字典中是否同时存在该ECC码和消息摘录后的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据的ECC码和消息摘录后的特征码;
或者,获取当前写命令中待写入页数据的特征码,在所述字典中存在与所获取的特征码相同的特征码时,判断所述待写入页数据中的N个字节与所述字典中相同特征码对应的页数据中的N个字节是否全部相同,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述N为大于零且小于或者等于所述分页存储器中页的大小的整数,即如果所述分页存储器中页的大小为8k字节,则所述N小于或等于8k字节。需要说明的是,为了不影响数据压缩效率,上述比较过程可以采用硬件比较器实现。
优选的是,为了保证在字典较大的情况下,能进一步提高数据压缩的效率,所述所述获取写命令中待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码;若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址具体包括:
获取当前写命令中待写入页数据的特征码,对所述特征码进行消息摘录获得二次摘录值,判断所述字典中是否存在所述二次摘录值,若存在,再判断所述字典中是否存在所述特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据对应特征码的二次摘录值。其中,所述二次摘录值小于特征码的大小且在重码率允许的范围内。
在本实施例中,预先建立特征码表和二次摘录值表,所述特征码表和二次摘录值表分别用于记录页数据的特征码以及所述特征码的二次摘录值。由于刚开始只需匹配数据量小的二次摘录值表,只有在出现相同的二次摘录值的情况下,才需要比较数据量大的特征码表,因此,能够大大提高匹配效率,进而提高数据压缩效率。
以下通过举例来详细说明:
在字典较大的情况下,例如有1024个页,每页数据采用哈希算法进行消息摘录后生成的特征码为32字节,则生成的特征码表有1024×32字节,在这样的范围内进行搜索对***硬件要求较高。所以对所述特征码表进行二次摘录,该二次摘录后的值远小于32字节,且在重码率允许的范围内,如表3所示。
原始数据 | 特征码值 | 二次摘录值 |
555555555555555555 | 130668ae34911a14e4288367b071447a | 130668ae |
aaaaaaaaaaaaaaaaaaaa | 22d42eb002cefa81e9ad604ea57bc01d | 22d42eb0 |
000000000000000000 | 3ea032bf79e8c116b05f4698d5a8e044 | 3ea032bf |
ffffffffffffffffffffffffffffffff | c78068577ec5dc1d06605f291a79174f | c7806857 |
表3
表3中取特征码值(MD5值)前4个字节为二次哈希值(二次摘录值),用于快速搜索特征码表中是否有匹配的二次摘录值,如果字典中存在与当前写命令中待写入页数据的二次摘录值相同的值,则再进行特征码值的匹配。
本实施例中数据压缩的最小单位是页,页内的数据不进行压缩和解压缩,数据的写入和读出也是以页为单位,因此本发明实施例提供的压缩管理方法非常适合采用运算能力不足或者成本低的分页存储器件。而且本发明实施例提供的压缩管理方法,在当前写命令中待写入的数据已经存入字典的话,则不写入数据,因此能有效提高分页存储器件的数据写入效率,减少数据的写入次数,进而减少分页存储器件的磨损。
实施例二:
图2示出了本发明实施例二提供的分页存储器件压缩管理方法的实现流程,该方法过程详述如下:
在步骤S201中,以页为单元建立静态字典,所述静态字典内记录有写入次数大于或者等于第一阈值的页数据和/或用户关心的页数据、所述页数据对应的特征码以及所述页数据写入的物理页地址等信息。
在本实施例中,所述静态字典是固定在所述分页存储器件内,不允许更新的字典,所述静态字典可以根据以下条件创建:
1、根据所述分页存储器件的存储容量,设定满足一定比例(如1%)的字典大小(存储容量),例如当分页存储器件的存储容量为100M时,字典的大小(存储容量)为1M;
2、根据所述分页存储器件的主要应用范围进行大量采样,统计分析以后得出最佳字典;例如,将写入次数大于或者等于第一阈值(10次)的数据作为字典中的页数据;
3、根据用户选择自身需要(即用户关心的数据),设定字典内容。
在步骤S202中,获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址等信息;
在步骤S203中,获取所述待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码,若判断结果为“是”,则执行步骤S205,若判断结果为“否”,则执行步骤S204;
优选的是,判断所述静态字典中是否存在与所获取的特征码相同的特征码,若判断结果为“是”,则执行步骤S205,若判断结果为“否”,则执行步骤S204;
在步骤S204中,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据,即将所述待写入页数据存储至与所述逻辑地址对应的物理地址;
在步骤S205中,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址。
作为本发明的另一优选实施例,为了降低重码率,所述获取写命令中待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码;若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址具体包括:
在所述分页存储器件支持多种哈希算法时,对当前写命令中的待写入页数据进行多次消息摘录,获取每次消息摘录后的特征码,判断所述字典中是否存在与所述每次消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据多次消息摘录后的特征码;
或者,在所述分页存储器件支持一种哈希算法时,对当前写命令中的待写入页数据进行多次不同偏移的消息摘录,获取每次不同偏移消息摘录后的特征码,判断所述字典中是否存在与所述每次不同偏移消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据多次不同偏移消息摘录后的特征码;
或者,在所述分页存储器件支持错误检查和纠正ECC码时,获取当前写命令中待写入页数据的ECC码和消息摘录后的特征码,判断所述字典中是否同时存在该ECC码和消息摘录后的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据的ECC码和消息摘录后的特征码;
或者,获取当前写命令中待写入页数据的特征码,在所述字典中存在与所获取的特征码相同的特征码时,判断所述待写入页数据中的N个字节与所述字典中相同特征码对应的页数据中的N个字节是否全部相同,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述N为大于零且小于或者等于所述分页存储器中页的大小的整数,即如果所述分页存储器中页的大小为8k字节,则所述N小于或等于8k字节。需要说明的是,为了不影响数据压缩效率,上述比较过程可以采用硬件比较器实现。
优选的是,为了保证在字典较大的情况下,能进一步提高数据压缩的效率,所述所述获取写命令中待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码;若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址具体包括:
获取当前写命令中待写入页数据的特征码,对所述特征码进行消息摘录获得二次摘录值,判断所述字典中是否存在所述二次摘录值,若存在,再判断所述字典中是否存在所述特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据对应特征码的二次摘录值。其中,所述二次摘录值小于特征码的大小且在重码率允许的范围内。
在本实施例中,预先建立特征码表和二次摘录值表,所述特征码表和二次摘录值表分别用于记录页数据的特征码以及所述特征码的二次摘录值。由于刚开始只需匹配数据量小的二次摘录值表,只有在出现相同的二次摘录值的情况下,才需要比较数据量大的特征码表,因此,能够大大提高匹配效率,进而提高数据压缩效率。
在本实施例中,根据预先建立的静态字典来判断所述待写入页数据是否之前已写入,由于该静态字典中包含经常性写入的数据,从而可有效提高判断的效率。
实施例三:
图3示出了本发明实施例三提供的分页存储器件压缩管理方法的实现流程,该方法过程详述如下:
在步骤S301中,以页为单元建立动态字典,所述动态字典内记录有页数据、所述页数据对应的特征码以及所述页数据写入的物理页地址等信息。
在本实施例中,所述动态字典为允许被更新的字典。
在步骤S302中,设定第二阈值(例如10次),对写入分页存储器件的页数据的写入次数进行计数。
在步骤S303中,获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址。
在步骤S304中,获取所述待写入页数据的特征码,判断所述动态字典中是否存在与所获取的特征码相同的特征码,如果判断结果为“是”,则执行步骤S305,如果判断结果为“否”,则执行步骤S306。
在步骤S305中,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址。
在步骤S306中,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据。
在步骤S307中,判断所述待写入页数据的写入次数是否达到所述第二阈值,如果判断结果为“是”,则执行步骤S308,如果判断结果为“否”,则结束本次操作。
在步骤S308中,将该待写入页数据更新到所述动态字典中。
具体包括该待写入页数据、该待写入页数据对应的特征码以及该待写入页数据写入的物理页地址等信息更新到所述动态字典中。
作为本发明的另一优选实施例,为了防止所述动态字典变得越来越大,影响数据压缩及搜索的效率,还包括:
当所述动态字典的存储容量达到第三阈值时,删除所述动态字典中无效的条目或者在预设时间内未使用的条目,所述无效的条目为所述动态字典中存储的页数据的写入地址已经写入了其他数据,导致该页数据无效;所述预设时间内未使用的条目为该条目对应的页数据在预设时间内未写入过分页存储器件。
或者,在所述页数据的写入次数达到所述第二阈值之后继续对所述页数据的写入次数进行计数,当所述动态字典的存储容量达到第三阈值时,删除所述动态字典中写入次数小于第四阈值的页数据。例如全0x8f的页数据写入次数达到了10次,则该页数据被更新到所述动态字典,但所述动态字典内各页数据的计数仍在继续,当所述动态字典的存储容量达到第三阈值,全0x8f页数据的写入次数小于第四阈值(如15次)时,将全0x8f页数据从所述动态字典中删除。
作为本发明的另一优选实施例,为了降低重码率,所述获取写命令中待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码;若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址具体包括:
在所述分页存储器件支持多种哈希算法时,对当前写命令中的待写入页数据进行多次消息摘录,获取每次消息摘录后的特征码,判断所述字典中是否存在与所述每次消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据多次消息摘录后的特征码;
或者,在所述分页存储器件支持一种哈希算法时,对当前写命令中的待写入页数据进行多次不同偏移的消息摘录,获取每次不同偏移消息摘录后的特征码,判断所述字典中是否存在与所述每次不同偏移消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据多次不同偏移消息摘录后的特征码;
或者,在所述分页存储器件支持错误检查和纠正ECC码时,获取当前写命令中待写入页数据的ECC码和消息摘录后的特征码,判断所述字典中是否同时存在该ECC码和消息摘录后的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据的ECC码和消息摘录后的特征码;
或者,获取当前写命令中待写入页数据的特征码,在所述字典中存在与所获取的特征码相同的特征码时,判断所述待写入页数据中的N个字节与所述字典中相同特征码对应的页数据中的N个字节是否全部相同,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述N为大于零且小于或者等于所述分页存储器中页的大小的整数,即如果所述分页存储器中页的大小为8k字节,则所述N小于或等于8k字节。需要说明的是,为了不影响数据压缩效率,上述比较过程可以采用硬件比较器实现。
优选的是,为了保证在字典较大的情况下,能进一步提高数据压缩的效率,所述所述获取写命令中待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码;若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址具体包括:
获取当前写命令中待写入页数据的特征码,对所述特征码进行消息摘录获得二次摘录值,判断所述字典中是否存在所述二次摘录值,若存在,再判断所述字典中是否存在所述特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据对应特征码的二次摘录值。其中,所述二次摘录值小于特征码的大小且在重码率允许的范围内。
在本实施例中,预先建立特征码表和二次摘录值表,所述特征码表和二次摘录值表分别用于记录页数据的特征码以及所述特征码的二次摘录值。由于刚开始只需匹配数据量小的二次摘录值表,只有在出现相同的二次摘录值的情况下,才需要比较数据量大的特征码表,因此,能够大大提高匹配效率,进而提高数据压缩效率。
作为本发明的另一优选实施例,所述字典还可以同时包含静态字典和动态字典;所述静态字典中的页数据为写入次数大于或者等于第一阈值的数据和/或用户关心的数据;
所述方法在获取写命令的步骤之前还包括:
设定第二阈值,对写入分页存储器件的页数据的写入次数进行计数;
所述获取所述待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码具体包括:
获取所述待写入页数据的特征码,判断所述静态字典中是否存在与所获取的特征码相同的特征码,若否,根据所述待写入页数据写入分页存储器件的次数判断所述待写入页数据是否需要更新到所述动态字典。
实施例四:
图4示出了本发明实施例四提供的分页存储器件压缩管理装置的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该分页存储器件压缩管理装置可以应用于存储设备中,可以是运行于存储设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到存储设备中或者运行于存储设备的应用***中。
该分页存储器件压缩管理装置包括字典建立单元41以及处理单元42。其中,各单元的具体功能如下:
字典建立单元41,用于以页为单元建立字典,所述字典内记录有页数据、所述页数据对应的特征码以及所述页数据写入的物理页地址;
处理单元42,用于获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址;获取所述待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码;若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址。
优选的是,所述字典为静态字典,所述静态字典中的页数据为写入次数大于或者等于第一阈值的数据和/或用户关心的页数据。
优选的是,所述字典为动态字典;
所述处理单元42在获取写命令之前还用于,设定第二阈值,对写入分页存储器件的页数据的写入次数进行计数;
所述处理单元42在执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据之后,还用于在所述页数据的写入次数达到所述第二阈值时,将该页数据更新到所述动态字典中。
优选的是,所述字典包含静态字典和动态字典;所述静态字典中的页数据为写入次数大于或者等于第一阈值的数据和/或用户关心的数据;
所述处理单元42在获取写命令之前还用于,设定第二阈值,对写入分页存储器件的页数据的写入次数进行计数;
所述处理单元42,用于获取所述待写入页数据的特征码,判断所述静态字典中是否存在与所获取的特征码相同的特征码,若否,根据所述待写入页数据写入分页存储器件的次数判断所述待写入页数据是否需要更新到所述动态字典。
进一步的是,所述处理单元42还用于,当所述动态字典的存储容量达到第三阈值时,删除所述动态字典中无效的条目或者在预设时间内未使用的条目,所述无效的条目为所述动态字典中存储的页数据的写入地址已经写入了其他数据,导致该页数据无效;所述预设时间内未使用的条目为该条目对应的页数据在预设时间内未写入过分页存储器件;或者,
在所述页数据的写入次数达到所述第二阈值之后继续对所述页数据的写入次数进行计数,当所述动态字典的存储容量达到第三阈值时,删除所述动态字典中写入次数小于第四阈值的页数据。
进一步的,所述处理单元42具体用于,
在所述分页存储器件支持多种哈希算法时,对当前写命令中的待写入页数据进行多次消息摘录,获取每次消息摘录后的特征码,判断所述字典中是否存在与所述每次消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据多次消息摘录后的特征码;
或者,在所述分页存储器件支持一种哈希算法时,对当前写命令中的待写入页数据进行多次不同偏移的消息摘录,获取每次不同偏移消息摘录后的特征码,判断所述字典中是否存在与所述每次不同偏移消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据多次不同偏移消息摘录后的特征码;
或者,在所述分页存储器件支持错误检查和纠正ECC码时,获取当前写命令中待写入页数据的ECC码和消息摘录后的特征码,判断所述字典中是否同时存在该ECC码和消息摘录后的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据的ECC码和消息摘录后的特征码;
或者,获取当前写命令中待写入页数据的特征码,在所述字典中存在与所获取的特征码相同的特征码时,判断所述待写入页数据中的N个字节与所述字典中相同特征码对应的页数据中的N个字节是否全部相同,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述N为大于零且小于或者等于所述分页存储器中页的大小的整数。
进一步的,所述处理单元42具体用于,
获取当前写命令中待写入页数据的特征码,再对所述特征码进行消息摘录获得二次摘录值,判断所述字典中是否存在所述二次摘录值,若存在,再判断所述字典中是否存在所述特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据对应特征码的二次摘录值。
在本实施例中,所述页数据的特征码可以通过哈希算法获取。
本实施例提供的分页存储器件压缩管理装置可以使用在前述对应的分页存储器件压缩管理方法,详情参见上述分页存储器件压缩管理方法实施例一至三的相关描述,在此不再赘述。
本领域普通技术人员可以理解为上述实施例四所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
综上所述,本发明实施例中数据压缩的最小单位是页,页内的数据不进行压缩和解压缩,数据的写入和读出也是以页为单位,因此本发明实施例提供的压缩管理方法非常适合采用运算能力不足或者成本低的分页存储器件。而且本发明实施例提供的压缩管理方法,在当前写命令中待写入的数据已经存入字典的话,则不写入数据,因此能有效提高分页存储器件的数据写入效率,减少数据的写入次数,进而减少分页存储器件的磨损。另外,本发明实施例通过多种比较方式,可有效降低比较过程中的重码率,并能提高匹配的效率和数据压缩效率,具有较强的易用性和实用性。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明由所提交的权利要求书确定的专利保护范围。
Claims (16)
1.一种分页存储器件的压缩管理方法,其特征在于,所述方法包括:
步骤A、以页为单元建立字典,所述字典内记录有页数据、所述页数据对应的特征码以及所述页数据写入的物理页地址,其中所述字典中还记录有页数据对应特征码的二次摘录值;
步骤B、获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址;获取所述待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码;若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址;
所述步骤B具体包括:
获取当前写命令中待写入页数据的特征码,对所述特征码进行消息摘录获得二次摘录值,判断所述字典中是否存在所述二次摘录值,若存在,再判断所述字典中是否存在所述特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址。
2.如权利要求1所述的方法,其特征在于,所述字典为静态字典,所述静态字典中的页数据为写入次数大于或者等于第一阈值的数据。
3.如权利要求1所述的方法,其特征在于,所述字典为动态字典,所述动态字典为允许被更新的字典;
所述方法在获取写命令的步骤之前还包括:
设定第二阈值,对写入分页存储器件的页数据的写入次数进行计数;
在所述执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据步骤之后还包括:
在所述待写入页数据的写入次数达到所述第二阈值时,将该待写入页数据更新到所述动态字典中。
4.如权利要求1所述的方法,其特征在于,所述字典包含静态字典和动态字典;所述静态字典中的页数据为写入次数大于或者等于第一阈值的数据,所述动态字典为允许被更新的字典;
所述方法在获取写命令的步骤之前还包括:
设定第二阈值,对写入分页存储器件的页数据的写入次数进行计数;
所述获取所述待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码具体包括:
获取所述待写入页数据的特征码,判断所述静态字典中是否存在与所获取的特征码相同的特征码,若否,根据所述待写入页数据写入分页存储器件的次数判断所述待写入页数据是否需要更新到所述动态字典。
5.如权利要求3或4所述的方法,其特征在于,所述方法还包括:
当所述动态字典的存储容量达到第三阈值时,删除所述动态字典中无效的条目或者在预设时间内未使用的条目,所述无效的条目为所述动态字典中存储的页数据的写入地址已经写入了其他数据,导致该页数据无效;所述预设时间内未使用的条目为该条目对应的页数据在预设时间内未写入过分页存储器件。
6.如权利要求3或4所述的方法,其特征在于,所述方法还包括:
在所述页数据的写入次数达到所述第二阈值之后继续对所述页数据的写入次数进行计数,当所述动态字典的存储容量达到第三阈值时,删除所述动态字典中写入次数小于第四阈值的页数据。
7.如权利要求1所述的方法,其特征在于,所述步骤B具体还包括:
在所述分页存储器件支持多种哈希算法时,对当前写命令中的待写入页数据进行多次消息摘录,获取每次消息摘录后的特征码,判断所述字典中是否存在与所述每次消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据多次消息摘录后的特征码;
或者,在所述分页存储器件支持一种哈希算法时,对当前写命令中的待写入页数据进行多次不同偏移的消息摘录,获取每次不同偏移消息摘录后的特征码,判断所述字典中是否存在与所述每次不同偏移消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据多次不同偏移消息摘录后的特征码;
或者,在所述分页存储器件支持错误检查和纠正ECC码时,获取当前写命令中待写入页数据的ECC码和消息摘录后的特征码,判断所述字典中是否同时存在该ECC码和消息摘录后的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据的ECC码和消息摘录后的特征码;
或者,获取当前写命令中待写入页数据的特征码,在所述字典中存在与所获取的特征码相同的特征码时,判断所述待写入页数据中的N个字节与所述字典中相同特征码对应的页数据中的N个字节是否全部相同,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述N为大于零且小于或者等于所述分页存储器中页的大小的整数。
8.如权利要求1至4任一项所述的方法,其特征在于,所述获取所述待写入页数据的特征码具体包括:
通过哈希算法获取所述待写入页数据的特征码。
9.一种分页存储器件的压缩管理装置,其特征在于,所述装置包括:
字典建立单元,用于以页为单元建立字典,所述字典内记录有页数据、所述页数据对应的特征码以及所述页数据写入的物理页地址,其中所述字典中还记录有页数据对应特征码的二次摘录值;
处理单元,用于获取写命令,所述写命令包含有待写入页数据以及所述待写入页数据写入的逻辑页地址;获取所述待写入页数据的特征码,判断所述字典中是否存在与所获取的特征码相同的特征码;若否,执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将所述待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址;
所述处理单元具体用于,
获取当前写命令中待写入页数据的特征码,再对所述特征码进行消息摘录获得二次摘录值,判断所述字典中是否存在所述二次摘录值,若存在,再判断所述字典中是否存在所述特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址。
10.如权利要求9所述的装置,其特征在于,所述字典为静态字典,所述静态字典中的页数据为写入次数大于或者等于第一阈值的数据。
11.如权利要求9所述的装置,其特征在于,所述字典为动态字典,所述动态字典为允许被更新的字典;
所述处理单元在获取写命令之前还用于,设定第二阈值,对写入分页存储器件的页数据的写入次数进行计数;
所述处理单元在执行所述写命令,根据所述待写入页数据写入的逻辑页地址写入所述待写入页数据之后,还用于在所述页数据的写入次数达到所述第二阈值时,将该页数据更新到所述动态字典中。
12.如权利要求9所述的装置,其特征在于,所述字典包含静态字典和动态字典;所述静态字典中的页数据为写入次数大于或者等于第一阈值的数据,所述动态字典为允许被更新的字典;
所述处理单元在获取写命令之前还用于,设定第二阈值,对写入分页存储器件的页数据的写入次数进行计数;
所述处理单元,用于获取所述待写入页数据的特征码,判断所述静态字典中是否存在与所获取的特征码相同的特征码,若否,根据所述待写入页数据写入分页存储器件的次数判断所述待写入页数据是否需要更新到所述动态字典。
13.如权利要求11或12所述的装置,其特征在于,所述处理单元还用于,当所述动态字典的存储容量达到第三阈值时,删除所述动态字典中无效的条目或者在预设时间内未使用的条目,所述无效的条目为所述动态字典中存储的页数据的写入地址已经写入了其他数据,导致该页数据无效;所述预设时间内未使用的条目为该条目对应的页数据在预设时间内未写入过分页存储器件。
14.如权利要求11或12所述的装置,其特征在于,所述处理单元还用于,
在所述页数据的写入次数达到所述第二阈值之后继续对所述页数据的写入次数进行计数,当所述动态字典的存储容量达到第三阈值时,删除所述动态字典中写入次数小于第四阈值的页数据。
15.如权利要求9所述的装置,其特征在于,所述处理单元具体用于,
在所述分页存储器件支持多种哈希算法时,对当前写命令中的待写入页数据进行多次消息摘录,获取每次消息摘录后的特征码,判断所述字典中是否存在与所述每次消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据多次消息摘录后的特征码;
或者,在所述分页存储器件支持一种哈希算法时,对当前写命令中的待写入页数据进行多次不同偏移的消息摘录,获取每次不同偏移消息摘录后的特征码,判断所述字典中是否存在与所述每次不同偏移消息摘录后的特征码都相同的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据多次不同偏移消息摘录后的特征码;
或者,在所述分页存储器件支持错误检查和纠正ECC码时,获取当前写命令中待写入页数据的ECC码和消息摘录后的特征码,判断所述字典中是否同时存在该ECC码和消息摘录后的特征码,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述字典中记录有页数据的ECC码和消息摘录后的特征码;
或者,获取当前写命令中待写入页数据的特征码,在所述字典中存在与所获取的特征码相同的特征码时,判断所述待写入页数据中的N个字节与所述字典中相同特征码对应的页数据中的N个字节是否全部相同,若否,执行当前写命令,根据当前写命令中待写入页数据写入的逻辑页地址写入所述待写入页数据;若是,不执行所述写命令,将当前写命令中待写入页数据写入的逻辑页地址指向与所述待写入页数据具有相同特征码的页数据写入的物理页地址,其中所述N为大于零且小于或者等于所述分页存储器中页的大小的整数。
16.如权利要求9至12任一项所述的装置,其特征在于,所述处理单元,用于通过哈希算法获取所述待写入页数据的特征码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210519408.0A CN103049388B (zh) | 2012-12-06 | 2012-12-06 | 一种分页存储器件的压缩管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210519408.0A CN103049388B (zh) | 2012-12-06 | 2012-12-06 | 一种分页存储器件的压缩管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103049388A CN103049388A (zh) | 2013-04-17 |
CN103049388B true CN103049388B (zh) | 2015-12-23 |
Family
ID=48062035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210519408.0A Active CN103049388B (zh) | 2012-12-06 | 2012-12-06 | 一种分页存储器件的压缩管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103049388B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11042328B2 (en) | 2015-06-01 | 2021-06-22 | Samsung Electronics Co., Ltd. | Storage apparatus and method for autonomous space compaction |
US10216418B2 (en) * | 2015-06-01 | 2019-02-26 | Samsung Electronics Co., Ltd. | Storage apparatus and method for autonomous space compaction |
CN106970826B (zh) * | 2017-03-10 | 2020-05-08 | 浙江大学 | 一种基于大页的缺页异常解决方法 |
Citations (6)
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 |
CN101067800A (zh) * | 2007-07-05 | 2007-11-07 | 炬力集成电路设计有限公司 | 一种基于局部采样的存储器的磨损平衡方法 |
CN101630290A (zh) * | 2009-08-17 | 2010-01-20 | 成都市华为赛门铁克科技有限公司 | 重复数据处理方法和装置 |
CN101719099A (zh) * | 2009-11-26 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 减小固态硬盘写入放大的方法及装置 |
CN102646069A (zh) * | 2012-02-23 | 2012-08-22 | 华中科技大学 | 一种延长固态盘使用寿命的方法 |
CN102722455A (zh) * | 2012-05-22 | 2012-10-10 | 深圳市江波龙电子有限公司 | 一种闪存设备中数据存储的方法及装置 |
-
2012
- 2012-12-06 CN CN201210519408.0A patent/CN103049388B/zh active Active
Patent Citations (6)
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 |
CN101067800A (zh) * | 2007-07-05 | 2007-11-07 | 炬力集成电路设计有限公司 | 一种基于局部采样的存储器的磨损平衡方法 |
CN101630290A (zh) * | 2009-08-17 | 2010-01-20 | 成都市华为赛门铁克科技有限公司 | 重复数据处理方法和装置 |
CN101719099A (zh) * | 2009-11-26 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 减小固态硬盘写入放大的方法及装置 |
CN102646069A (zh) * | 2012-02-23 | 2012-08-22 | 华中科技大学 | 一种延长固态盘使用寿命的方法 |
CN102722455A (zh) * | 2012-05-22 | 2012-10-10 | 深圳市江波龙电子有限公司 | 一种闪存设备中数据存储的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103049388A (zh) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200175070A1 (en) | Low ram space, high-throughput persistent key-value store using secondary memory | |
CN108427538B (zh) | 全闪存阵列的存储数据压缩方法、装置、及可读存储介质 | |
CN108427539B (zh) | 缓存设备数据的离线去重压缩方法、装置及可读存储介质 | |
US10359939B2 (en) | Data object processing method and apparatus | |
US8051252B2 (en) | Method and apparatus for detecting the presence of subblocks in a reduced-redundancy storage system | |
US10224957B1 (en) | Hash-based data matching enhanced with backward matching for data compression | |
JP2017511521A (ja) | フラッシュメモリ圧縮 | |
CN111125033B (zh) | 一种基于全闪存阵列的空间回收方法及*** | |
JP2016143994A (ja) | 符号化プログラムおよび伸長プログラム | |
CN106201774B (zh) | 一种nand flash存储芯片数据存储结构分析方法 | |
CN103020317A (zh) | 基于重复数据删除的数据压缩方法和装置 | |
US20180225298A1 (en) | Adaptive rate compression hash processing device | |
US9378214B2 (en) | Method and system for hash key memory reduction | |
CN111274245B (zh) | 一种用于优化数据存储的方法和装置 | |
CN103049388B (zh) | 一种分页存储器件的压缩管理方法及装置 | |
CN111124940B (zh) | 一种基于全闪存阵列的空间回收方法及*** | |
CN111124939A (zh) | 一种基于全闪存阵列的数据压缩方法及*** | |
CN111124259A (zh) | 一种基于全闪存阵列的数据压缩方法及*** | |
US20230076729A2 (en) | Systems, methods and devices for eliminating duplicates and value redundancy in computer memories | |
CN103049387B (zh) | 一种分页存储器件的压缩管理方法及装置 | |
CN111796969A (zh) | 一种数据差量压缩检测方法、计算机设备和存储介质 | |
CN111198857A (zh) | 一种基于全闪存阵列的数据压缩方法及*** | |
WO2024021491A1 (zh) | 一种数据切片方法、装置和*** | |
CN109271463B (zh) | 一种恢复MySQL数据库的innodb压缩数据的方法 | |
CN109255090B (zh) | 一种web图的索引数据压缩方法 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20171124 Address after: 528400 Zhongshan Zhongshan Torch Development Zone, Guangdong Province, No. 191, No. seven Patentee after: ZHONGSHAN JIANGBOLONG ELECTRONICS CO., LTD. Address before: 518000, Guangdong, Nanshan District Province, Shenzhen Road, No. 8 financial services technology innovation base, 8 floor, A, B, C, D, E,, F1 Patentee before: Shenzhen jiangbolong Electronic Co., Ltd. |