存储数据的减少冗余制造技术

技术编号:21771445 阅读:37 留言:0更新日期:2019-08-03 21:30
本公开提供一种用于将电子数据存储在随机存储器上的计算机实现的方法和系统。所述方法包括:接收一组参数,其中参数包括文件系统信息、可启动性信息和分区信息;接收元数据;接收一个或多个文件,其中每个文件具有文件名并且包括多个比特;将参数和元数据存储在中介器上;编码所述一个或多个文件中的每一个以存储在随机存取存储器中;对于编码文件的每一个,将多个比特标记符存储在随机存取存储器上的某个位置处;在中介器上存储每个文件名与随机存取存储器上的位置的相关性,其中相关性可存储在单个中介器上;将一个或多个文件存储在随机存取存储器上,一个或多个文件不具有文件系统信息、可启动性信息和分区信息中的任何一个。

Reduction of redundancy in data storage

【技术实现步骤摘要】
存储数据的减少冗余本申请为申请日是2014年1月31日、申请号是201480016699.9(PCT/US2014/014225)、专利技术名称为“存储数据的减少冗余”的中国申请的分案申请。专利
本专利技术涉及数据的存储。专利技术背景二十一世纪已经见证了人们和公司生成和存储的数字化信息的量成指数级增长。这类信息由通常存储在磁性表面(如磁盘)上的电子数据组成。这些磁盘含有尺寸为亚微米并且能够存储数条单独二进制数据的较小区域。在任何给定实体所存储的巨量数据内,经常存在信息的明显重复。举例而言,相同的公司信头可以出现在数千个文档中,并且对应于这个数据的每个文件将含有针对信头进行编码的比特。历史上,许多实体已经接受这类重复存在于它们的文件中,以及相同信息的冗余存储的无效是开展业务的成本。因为存储成本不断增加以及存储的可用性不断降低,所以众多实体已经开始探究某些方式来供存储比文件内或文件之间所有重复信息更少的信息。理论上,力图避免重复信息的存储或最小化重复信息存储的次数的实体,可以力图识别其数据集内的独特比特或字节样式,并且以最小的次数来存储这些独特比特或字节样式。为了执行这些方法,在准备新的文件用于存储时,这些文件内的信息将会与已存储的参考信息集进行比较,并且,只有正在考虑的比特或字节样式是独特的,其才会被存储。如果所述比特或字节样式不是独特的,那么便会用参考数据来取代冗余数据,所述参考数据在大小上小于指向所存储数据的数据,所述数据是存储数据的重复。减少重复信息存储的次数的目标面临很多挑战,包括但不限于:(1)保持检查冗余的足够速度;(2)保持数据重建而便于检索的足够速度;(3)确保在检查冗余或存储对应于最初文件的信息的过程中数据不会丢失;(4)针对存储信息未经授权的存取进行保护;以及(5)提供可以与获取数据快照、克隆数据和恢复数据中的一个或多个操作(即便不是所有这些操作)结合使用的有效技术和方法。本专利技术的各种实施方案的意图在于克服这些挑战中的一个或多个挑战。专利技术概述本专利技术提供方法、系统和计算机程序产品,用以改善数据存储和检索的效率,而同时最小化冗余数据多次不必要存储的程度。通过使用本专利技术的各种实施方案,相关人员可以有效地存储和存取数据。借助本专利技术的这些各种实施方案,相关人员可以变换数据和/或更改变换后或转换后数据所存储的物理装置。这可以借助使用计算机的自动化过程来完成,所述计算机包括或可操作性地耦接至计算机程序产品,在运行时,所述计算机程序产品执行本专利技术方法或过程中的一个或多个方法或过程。这些方法或过程可以(例如)体现在计算机算法或脚本中或者包括所述计算机算法或脚本,并且可选地由系统借助一个或多个模块来执行。根据第一实施方案,本专利技术针对一种用于将数据存储在非高速缓存器记录介质上的方法,所述方法包括:(i)接收指令来将数据写入到非高速缓存器记录介质,其中所述指令包括用户感知逻辑区块地址(“LBA”)和用户供应缓冲(usersuppliedbuffer),其中所述用户供应缓冲由(例如)512个字节至2MB字节或512个字节至64K字节组成;(ii)将所述用户供应缓冲划分为用户供应缓冲单元,并将加密散列函数应用到所述用户供应缓冲单元中的每个单元,从而生成一个生成散列值;(iii)激活包括算法的计算机程序产品,所述算法致使所述计算机程序产品存取散列值表并确定所述生成散列值是否与所述散列值表内的存储散列值重复,其中所述散列值表使多个存储散列值中的每个存储散列值与不同存储缓冲单元以及真实逻辑区块地址相互关联;以及(A)如果所述生成散列值并不处于所述散列值表内,那么便将所述用户供应缓冲单元写入到非高速缓存器记录介质中的区块,更新所述散列值表以便包括所述用户供应缓冲单元、所述生成散列值以及所述用户供应缓冲单元所存储的真实逻辑区块地址的相关性,并在中介器上写入与所述用户供应缓冲单元已经写入的位置相对应的所述真实逻辑区块地址以及用于所述用户供应缓冲的所述用户感知逻辑区块地址(或多个用户感知逻辑区块地址),并且,(B)如果所述生成散列值是与所述散列值表内的存储散列值重复,那么便查询是否存在冲突,其中冲突定义为同一散列值与存储缓冲单元以及当前用户供应缓冲单元相关联且所述两个缓冲单元具有不同内容的情形,而且,(a)如果存在冲突,那么便将所述用户供应缓冲单元写入到所述非高速缓存器记录介质中的区块,渲染不活动的或删除所述散列值表内所述存储缓冲单元与所述存储散列值之间的关联,更新所述散列值表以便包括所述用户供应缓冲单元、所述生成散列值和所述用户供应缓冲单元所存储的真实逻辑区块地址的相关性,并在所述中介器上写入与所述用户供应缓冲单元已经写入的位置相对应的所述真实逻辑区块地址以及所述用户感知逻辑区块地址;以及(b)如果不存在冲突,那么便在所述中介器上写入存储在所述非高速缓存器记录介质上的、与所述用户生成缓冲单元相同的缓冲单元的真实逻辑区块地址,并使所述真实逻辑区块地址与用于所述用户供应缓冲的所述用户感知逻辑区块地址相互关联,而并不在所述非高速缓存器记录介质上写入所述用户供应缓冲单元。在步骤(A)中,当写入所述用户供应缓冲单元时,本领域普通技术人员将会了解,所述方法要求写入已经确定为并未与所述表中的散列值相关联的用户供应缓冲单元。通常,用户会供应处于流中或者处在比所述散列值算法被配置成接受为其输入的用户供应缓冲单元更大的单元中的数据(所述用户供应缓冲)。在这些情况下,所述用户供应缓冲单元可以通过将主机所发送的原始数据分割(也称为分裂)成更小单元来形成,这些更小单元可以视为所述用户供应缓冲单元,而无论所述主机是否将它们分割或者本专利技术的系统或方法是否进行这样的分割。因此,这些分割的用户供应缓冲单元可以充当所述加密散列函数的输入。举一个非限制性示例,所述用户供应数据可以是16K至2MB,而每个分割的用户供应缓冲单元为512个字节至4K,例如,512个字节或4K。因此,在一些实施方案中,所述分割的用户供应缓冲单元不大于分割之前的所述用户供应缓冲的大小的1/4或不大于1/16或不大于1/64。如果在进入所述散列值算法之前使用所述分割步骤,那么所述散列值表便会含有所述用户供应缓冲单元和散列值的相关性,向所述存储装置的写入便是分割的用户供应缓冲单元而不是更大的数据缓冲单元,并且所述中介器会使所述用户供应缓冲单元的所述用户感知地址(或多个用户感知地址)与所述多个分割的用户供应缓冲单元相互关联。本专利技术方法的各种步骤可以存储在一个或多个模块中,例如,缓冲和用户感知逻辑区块地址接收模块、分割模块、散列值搜索模块、散列值重复分析模块、冲突模块以及写入模块。类似地,可以存在文件读取和重建模块。这些模块可以按照可执行代码的形式存储在非暂时性介质中。根据第二实施方案,本专利技术提供一种用于存储数据的系统,其中,所述系统包括:(a)永久性存储器,其中所述永久性存储器存储散列值表,所述散列值表被配置来使存储缓冲单元与存储散列值以及真实逻辑区块地址相关联;(b)中央处理单元,所述中央处理单元包括或可操作性地耦接至存储在非暂时性介质中的计算机程序产品,其中所述计算机程序产品包括可执行代码,所述可执行代码在运行时自动进行下述操作:(i)将散列值算法应用于一个或多个用户供应缓冲单元中本文档来自技高网...

【技术保护点】
1.一种用于将电子数据存储在随机存取存储器上的计算机实现的方法,所述方法包括:接收一组参数,其中所述参数包括文件系统信息、可启动性信息和分区信息;接收元数据;接收一个或多个文件,其中每个文件具有文件名并且包括多个比特;将所述参数和元数据存储在中介器上;编码所述一个或多个文件中的每一个以存储在随机存取存储器中,其中,对于所述一个或多个文件中的每一个,编码包括:将所述文件的所述多个比特分成N个比特的多个子单元;以及使用比特标记符表,为每个子单元分配比特标记符,以形成对应于编码文件的多个比特标记符;其中相同的子单元被分配相同的比特标记符;以及其中所述比特标记符表包括一组X个标记符,其中X等于子单元内的N个比特的不同组合的数量;对于所述编码文件的每一个,将所述多个比特标记符存储在所述随机存取存储器上的某个位置处;在所述中介器上存储每个文件名与所述随机存取存储器上的所述位置的相关性,其中所述相关性可存储在单个中介器上;以及将所述一个或多个文件存储在所述随机存取存储器上,所述一个或多个文件不具有文件系统信息、可启动性信息和分区信息中的任何一个。

【技术特征摘要】
2013.02.01 US 13/756,921;2013.03.12 US 13/797,093;1.一种用于将电子数据存储在随机存取存储器上的计算机实现的方法,所述方法包括:接收一组参数,其中所述参数包括文件系统信息、可启动性信息和分区信息;接收元数据;接收一个或多个文件,其中每个文件具有文件名并且包括多个比特;将所述参数和元数据存储在中介器上;编码所述一个或多个文件中的每一个以存储在随机存取存储器中,其中,对于所述一个或多个文件中的每一个,编码包括:将所述文件的所述多个比特分成N个比特的多个子单元;以及使用比特标记符表,为每个子单元分配比特标记符,以形成对应于编码文件的多个比特标记符;其中相同的子单元被分配相同的比特标记符;以及其中所述比特标记符表包括一组X个标记符,其中X等于子单元内的N个比特的不同组合的数量;对于所述编码文件的每一个,将所述多个比特标记符存储在所述随机存取存储器上的某个位置处;在所述中介器上存储每个文件名与所述随机存取存储器上的所述位置的相关性,其中所述相关性可存储在单个中介器上;以及将所述一个或多个文件存储在所述随机存取存储器上,所述一个或多个文件不具有文件系统信息、可启动性信息和分区信息中的任何一个。2.如权利要求1所述的计算机实现的方法,其中所述编码还包括使用所述比特标记符表来创建转换文件。3.如权利要求2所述的计算机实现的方法,其中所述转换文件不包含所述文件系统信息、可启动性信息或分区信息中的任何一个。4.如权利要求1所述的计算机实现的方法,其中所述参数存储在多个预留磁道中。5.如权利要求4所述的计算机实现的方法,其中所述多个预留磁道为第一组预留磁道,并且所述计算机实现方法还包括将所述参数复制到第二组预留磁道中。6.如权利要求5所述的计算机实现的方法,还包括使用所述第二组预留磁道来检查所述第一组预留磁道中的错误。7.如权利要求1所述的计算机实现的方法,其中所述元数据对应于用于自动精简配置的指令。8.如权利要求1所述的计算机实现的方法,其中所述文件接收自主机,所述主机将所述文件记录为存储在虚拟地址处,并且所述虚拟地址与所述文件的位置不同。9.如权利要求1所述的计算机实现的方法,其中所述编码包括使用每个相应文件中的子单元的出现频率。10.如权利要求1所述的计算机实现的方法,其中存储在所述比特标记符表内的至少50%的比特标记符的大小小于所述子单元。11.如权利要求1所述的计算机实现的方法,其中存储在所述比特标记符表内的至少70%的比特标记符的大小小于所述子单元。12.如权利要求1所述的计算机实现的方法,其中存储在所述比特标记符表内的至少90%的比特标记符的大小小于所述子单元。13.一种数据存储和检索的计算机实现的方法,所述方法包括:通过管理器将数据存储在中介器中,其中所述数据包括文件系统信息、可启动性信息和分区信息,其中所述中介器包括第一组磁道、第二组磁道、第三组磁道和第四组磁道,其中所述中介器从非高速缓存器存储介质远程地存储,其中所述非高速缓存器存储介质包括随机存取存储器,并且其中所述数据存储在所述第一组磁道中;将元数据存储在所述第三组磁道中;编码一个或多个文件以存储在所述随机存取存储器中,其中,对于所述一个或多个文件中的每一个,编码包括:将所述文件分成N个比特的多个子单元;使用比特标记符表,为每个子单元分配比特标记符,以形成对应于编码文件的多个比特标记符;以及使用所述比特标记符表创建转换文件;其中相同的子单元被分配相同的比特标记符;以及其中所...

【专利技术属性】
技术研发人员:B·伊格诺米瑞罗S·梁
申请(专利权)人:辛博立科伊奥公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1