用于超密集io数字保留的方法和装置的制造方法

文档序号:10686777阅读:428来源:国知局
用于超密集io数字保留的方法和装置的制造方法
【专利摘要】本发明公开一种用来编码和解码原始数据的系统和方法。所述用来编码的方法包括:接收未编码数据块;将所述未编码数据块分解成多个数据向量;将所述多个数据向量中的每一个映射到比特标记符;以及,将所述比特标记符存储在存储器中以便产生所述未编码数据的编码表示形式。编码还可包括将所述未编码数据块分解成默认数据和非默认数据并且仅映射所述非默认数据。在一些实施方案中,比特标记符可包括种子值和复制规则或者分形样式。
【专利说明】用于超密集10数字保留的方法和装置
[0001] 相关申请的交叉引用
[0002] 本申请要求2015年4月15日提交的美国临时专利申请第62/148,160号的权益,所 述专利申请的全部内容以引用的方式整体并入本文中。
【背景技术】
[0003] 在20世纪80年代早期,新兴计算机产业结合了数学家和物理学家约翰?冯?诺依 曼(John Von Neumann)的分布式理论计算机模型。冯?诺依曼的理论遥遥领先他所处的时 代并且是在个人计算时代变为现实之前很久便已构思。冯?诺依曼模型实现了如下概念: 许多较小的计算机可以比昂贵的单一集中式计算机(例如,大型机)定标并产生更高的计算 机能力。随着数字数代的开始,个人计算机不仅变得很强大,而且在家庭和办公室中越来越 普及,从而带来了应用程序的有用性。随着时间的推移,个人计算机(PC)正好发展成台式设 备并且扩展到数据中心并变形为服务器。数据中心中的服务器转变成客户端-服务器市场, 并且约翰?冯?诺依曼五十年前推理的众所周知的分布式计算模型变成了现实。
[0004] 数十年来,已知的是PC、膝上型电脑和服务器使用RISC、PowerPC、ARM?和x86体 系结构来实现处理能力(CPU)、使用有限存储器(例如,随机存取存储器RAM)并且使用硬盘 (HDA)设备来实现存储介质。随着数字时代继续发展,计算机所创造的内容继续变得更丰 富、密度更大,并且驱使计算机处理能力(CPU)、RAM容量和硬盘驱动器密度每年革新和升 级。这种方法继续存在着若干危害:(1)在获得密度的同时并不是所有的部件都获得性能 [摩尔定律];(2)这些元件的I/O接口不是相同的速度,从而产生I/O瓶颈[克莱德定律]。
[0005] 计算机产业中众所周知的升级技术已升级计算机存储器(RAM),从而从机器中得 到更多的性能。相反,存储器(RAM)容量受到若干关键因素的限制:CPU处理器、硅的纳米密 度局限以及功率损耗。根据如今的标准,与最大计算机硬盘驱动器的容量是6TB相比,可获 得的最大存储器模块的容量仅仅是128GB。在此示例中,硬盘驱动器比存储器模块大93.75 倍;这是密度问题。相反,针对存储器模块(即,RAM)的最大输入/输出(I/O)传送速度目前是 每秒56.7GB,并且针对串行附接SCSI (SAS-II)的最大I/O传送速度目前是每秒750MB。因此, 存储器模块比如今的SAS-II硬盘驱动器快76.8倍。
[0006] 在轻松的计算负荷下,人们可能不会注意到密度与性能的这种不平衡或斗争。然 而,在繁重的计算负荷下,存在不均衡的话,密度与性能的这种主要不平衡以及I/O瓶颈将 不可避免地发生。这些最终会使整个计算操作减缓到硬盘驱动器的速度。避免这种情况的 无效尝试是针对问题添加更多的系统并且重新写入应用程序以便将应用程序进一步分布 在更多的处理器核心上。
[0007] 这种典型问题的答案是在于添加更多的存储器(RAM)并且写入应用算法以减轻瓶 颈。
[0008] 然而,下一个挑战突然出现了:成本。存储器(RAM)根据RAM模块的密度一般可能是 非常昂贵的。RAM如何昂贵的现实世界示例是目前可获得的最大可用存储器模块是64GB。单 个64GB RAM模块目前售价约每模块1000.00美元。平均的x86服务器母板目前售价约700.00 美元并且可使用多达16或24个RAM模块。通过使用16个模块完全构成廉价x86母板,目前将 花费约16000.00美元;这样使得RAM比廉价母板贵约20倍并且将只生产1TB的RAM。
[0009] 在理想世界中,计算机将只需要存储器(RAM)和高速处理器。如果密度和成本的挑 战不存在,那么不含存储设备的计算机将会是可能的。困难变成了存储模块(RAM)如何运 转。如今所有存储模块被认为是易失性技术,这意味着当切断计算系统的电源时,存储器便 失去电力并且存储器被擦除。如今的存储设备介质并没有这种问题一当移除电力时,存储 设备介质保留已写入其中的信息。当结合密度、性能、成本和易失性等所有因素时,可以迅 速推断只含CPU和RAM的计算机的事实是无法实现的。
[0010] 所需要的是用来克服上述常规技术的缺点的改进式计算系统。

【发明内容】

[0011] 根据本公开的实施方案提供一种廉价计算机计算和存储装置,所述计算和存储装 置依赖CPU和RAM而无需磁性存储设备,如常规旋转硬盘驱动器。实施方案提供一种计算和 存储装置和系统,所述装置和系统提供超过上述围绕计算和存储的障碍的巨大飞跃。根据 本公开的实施方案实现了如下计算机:可具有比如今存在的任何x86和高性能计算机快 76.8倍的57.6GB恒定I/O等级。
[0012] 根据本公开的实施方案提供一种用来编码和解码原始数据的系统和方法。所述用 来编码的方法包括:接收未编码数据块;将所述未编码数据块分解成多个数据向量;将所述 多个数据向量中的每一个映射到比特标记符上;以及,将所述比特标记符存储在存储器中 以便产生所述未编码数据的编码表示形式。所述用来解码的方法包括:从存储器中检索多 个比特标记符;将所述多个比特标记符中的比特标记符映射到相应数据向量;将所述相应 数据向量与未编码数据块组合以便产生合成式未编码数据块;以及,产生所述未编码合成 式数据块作为解码数据。
[0013] 前述内容是本公开的实施方案的简要概述,用以提供对本公开的一些方面的理 解。此概述既不是对本公开及其各种实施方案的广泛综述也不是穷尽综述。此概述既不意 图识别本公开的关键或至关重要的元素,也不意图描绘本公开的范围,而是意图以简化形 式呈现本公开的所选概念,作为对下文呈现的更详细描述的介绍。如将会理解的,本公开的 其他实施方案可能单独或组合地利用上文所阐述的或者下文详细描述的特征中的一个或 多个。
[0014] 附图简述
[0015] -旦考虑到以下对本发明的实施方案的详细描述(尤其是当结合附图进行时),本 发明的上述和其他特征和优点将变得显而易见,其中,各个图示中的相同参考数字用来指 代相同部件,并且其中:
[0016] 图1示出如本领域已知的个人计算机(PC)系统的功能框图;
[0017]图2示出根据本公开的实施方案的PC系统的功能框图;
[0018] 图3A示出根据本公开的实施方案的、用来对数据进行编码的方法;并且
[0019] 图3B示出根据本公开的实施方案的、用来对数据进行解码的方法。
[0020] 本文中使用的任何标题都仅用于组织目的,而且并不意图用于限制描述或权利要 求书的范围。如贯穿本申请所使用的,词语"可以"是在容许意义上(即,意指具有可能性)而 非强制意义上(即,意指必须)使用的。类似地,词语"包括(include/including/includes)" 意味着包括但不限于。为了便于理解,已尽可能使用相同的参考数字来指代图示中共用的 相同元件。可以使用虚线或点线来描绘图示的任选部分,除非使用的情境中另外指明。
[0021 ] 详细描述
[0022]在以下详细描述中,阐述了许多具体细节以便提供对本文中描述的实施方案或其 他示例的充分理解。在一些情况下,并未对众所周知的方法、过程、部件和电路进行详细描 述,以免使以下描述模糊。此外,所公开的示例仅仅是出于示例性目的,并且可使用其他示 例代替所公开的示例或者与其组合使用。还应注意,本文中所呈现的示例不应解释为是对 本发明的实施方案的范围的限制,因为其他同等有效的示例也是可能的。
[0023] 如本文所使用的,术语"模块" 一般是指步骤、过程或部件的逻辑序列或关联。例 如,软件模块可包括计算机程序内的一组关联例程或子例程。或者,模块可包括实质上自含 的硬件设备。模块也可包括与任何软件或硬件实施方式无关的一组逻辑过程。
[0024] 执行功能的模块也可称为被配置来执行功能,例如,接收数据的数据模块也可描 述为被配置来接收数据。用来执行功能的配置可包括(例如):提供并运行执行功能的计算 机代码;提供控制、限制、启用或禁用模块能力的可预备配置参数(例如,设置旗标、设置权 限、设置决策点上所使用的阈值电平,等等);提供物理连接(如跳线)以便选择选项或启用/ 禁用选项;附接物理通信链路;启用无线通信链路;给执行功能的电路通电(例如,向收发电 路提供电力以便接收数据);等等。
[0025]图1示出如本领域已知的常规计算机系统100的功能框图。系统100可(例如)用在 基于InteK&?兼容体系结构的计算机系统中。随着制造技术的进步,可将各种功能部件制造 在不同的集成电路(1C)配置中,这取决于诸多因素,如芯片组的产生、目标客户的性价比、 目标应用(例如,移动设备、服务器等),等等。某些功能可组合到各种配置中,如组合在单个 1C(如 1C 116)中。
[0026] 系统100包括处理器102,所述处理器102可以是通用处理器(如Xe〇n?、Intel Corei7?、i5?、i3?)或者来自超威半导体公司(Advanced MicroDeviceS?(AMD))的处 理器(如Athlon64?)等。在其他实施方案中,处理器102可以是图形处理单元(GPU)。在图1 的功能框图中,如本文所使用的处理器102可指处理器的功能,和/或指处理器的一个或多 个硬件核心。处理器102可包括在多GHz速度下运行的多个处理核心。处理器102可包括高速 缓冲存储器1〇3(例如,L1或L2高速缓存器)。处理器102也可被编程或配置成包括操作系统 104。操作系统104的示例包括各种版本的Windows?、Mac.OS?、Linux?,和/或根据本 公开的实施方案的操作系统或操作系统扩展版,等等。注册商标Windows是微软公司的商 标。注册商标Mac 0S是苹果公司的商标。注册商标Linux在全球范围的基础上根据来自LMI (林纳斯?托瓦兹(Linus Torvalds,标志所有者)的专用特许持有人)的从属许可而使用。 操作系统104执行常规功能,所述常规功能包括应用程序(图1中未示出)的运行。功能上,操 作系统104被示出为处理器102的一部分,但是操作系统104的部分可物理地存在于非易失 性存储器(例如,硬盘)(图1中未示出)中,并且操作系统104的至少部分可根据需要读入到 RAM存储器中以便由处理器102运行。
[0027]处理器102可使用若干内部和外部总线来与各种功能部件对接。系统100包括通信 总线105,所述通信总线105将处理器102联接到存储控制器106上。存储控制器106也可称为 北桥。通信总线105可实施为前端总线(FSB)、非均匀存储器存取(NUMA)总线、EV6总线、外围 部件互联(PCI)总线等中的一个。
[0028]系统100还包括耦接到处理器102的非易失性存储器122(例如,CMOS存储器)<XM0S 存储器122可包括基本输入/输出系统(BIOS) 124,所述基本输入/输出系统124有助于管理 计算机部件间的低级通信,并且CMOS存储器122可包括用来执行上电自测的计算机代码的 存储。常规地,上电自测可包括对已安装RAM的数据完整性的测试。
[0029] 存储控制器集线器106通常操纵处理器102与各种高速功能部件之间的通信,如经 由通信总线107来操纵处理器102与安装在双列直插式存储器模块(DIMM)插槽108a、108b中 的外部RAM存储器之间的通信,以及经由通信总线109来操纵处理器102与视频图形卡110之 间的通信。通信总线107和109可以是高速接口,如高速外围部件互连(PCIe)或加速图形端 口(AGP)。存储控制器集线器106也可经由通信总线112来操纵处理器102与控制器集线器 114之间的通信。还已知控制器集线器114有其他名称,如南桥、I/O控制器集线器(ICH)、融 合控制器集线器(FCH)、平台控制器集线器(PCH)等。控制器集线器114转而管理与额外和/ 或较慢I/O设备或接口的进一步通信,所述设备或接口如USB端口 131、具有标准接口(例如 ATA/SATA、mSATA、SAS等等)的磁盘驱动器132、以太网收发器133、音频端口 134、其他PCI设 备135等。
[0030] 在系统100的一些配置(未示出)中,处理器102被设计成绕过存储控制器106并且 经由直接媒体接口(DMI)而直接与控制器集线器114通信。此类配置也可将处理器102和存 储控制器106的功能集成到单个1C 116中。在此类配置中,控制器集线器114通常是平台控 制器集线器(PCH)。
[0031] 尽管构成安装在DMM插槽108a、108b中的RAM存储器的存储芯片可具有非常高的 最大存取速度(例如,约57千兆字节/秒(GByte/sec)),但是通信总线109正常无法支持如此 快的速度。例如,16道插槽中的PCIe 4.0的速度局限于31.508千兆字节/秒。AGP仍比PCIe更 慢。因此,通信总线107是阻碍更快存储器存取的瓶颈。
[0032] 存储器存取的瓶颈是常规技术的一个缺点。常规计算机的上述其他缺点包括RAM 存储器的容量(通常数量级为几千兆字节)与常规硬盘的存储容量(通常数量级为几太字 节)之间的存储容量的不匹配,以及RAM存储器与常规硬盘的存储容量相比而言相对较小的 存储容量。常规技术的另一个缺点是RAM存储器的易失性本质。
[0033]根据本公开的实施方案突破了 RAM如今所具有的密度问题。根据本公开的实施方 案通过提供用于存储单元的新颖硬件接口以及用于硬件接口的新颖驱动接口来解决常规 技术的这些缺点。
[0034]除了CPU以外,RAM是x86和x64计算系统中最快的元件,因此实施方案允许利用一 种获得密度的新方法来校准如今的高速RAM性能。由于应用了这种效果,RAM完全改变了成 本范式并且允许低成本存储器模块取代对高密度、高成本存储器模块的需求。
[0035] 剩余的问题是标准存储器模块的易失性。由于所有RAM都是易失性的,因此RAM并 不会适用于变成长期存储介质。实施方案类似于非易失性RAM(NVRAM)技术但与之有所区 另IJ,所述NVRAM技术规避了标准DIMM设备中发现的易失性问题。
[0036] 根据本公开的实施方案使用可以由Intel?或AMD?CPU处理器供电的基本廉价 x64母板。母板具有给予其成为非易失性存储器所要求的智能意识的改良型CME和BIOS。另 外,母板向每个存储器模块提供DC电源电压(例如,1.2v、1.35v、1.5v等),所述DC电源电压 可用来给环保低负荷、缓慢消耗的电容器充电。这种设计允许关断状态(例如,失去电力或 安全关断)以便维持存储器模块内的数据持久性,从而使存储器模块成为可行的长期存储 装置。
[0037]图2示出根据本公开的实施方案的计算机系统200的功能框图。已经在图1中描述 的功能部件在图2中被分配有与图1中所示的参考数字相同的参考数字。系统200包括存储 器接口 218,所述存储器接口 218可通过使用连接器208 (如Motex?连接器)而物理耦接到 DIMM插槽(例如,DIMM插槽108b)。通过在通信总线107上使用常规协议,存储器接口 218与处 理器202借助DIMM插槽108b来通信。存储器接口 218被物理和通信耦接到RAM存储单元220。 存储器接口 218的功能包括:将RAM存储单元220通信耦接到通信总线107;监控某些事件(像 关于RAM存储单元220的健康状态)、其他硬件事件;基于所检测的信号或硬件事件采取某些 行动;等等。存储器接口 218的功能也可包括简单处理和管家功能,如解析存储器地址,报告 存储器容量,I/O控制,跟踪并报告总电力周期、一个小时内的运行时间,报告DMM的数目, 报告状态,如超级电容器(cap)电流电压、总线就绪状态、最后恢复成功或失败、设备就绪状 态、"与非"区的快闪状态、已连接的cap、cap充电状态、目前有效图像、所执行的DMM初始 化、读取寄存器等。"与非"可以称之为不需要电力来保留数据的一类非易失性基于1C的存 储技术。
[0038]系统200还包括耦接到处理器202的非易失性存储器222(例如,CMOS存储器)<XM0S 存储器222可包括基本输入/输出系统(BI0S)224,所述基本输入/输出系统224有助于管理 计算机部件间的低级通信,并且CMOS存储器222可包括用来执行上电自测的计算机代码的 存储。常规地,上电自测可包括对已安装RAM的数据完整性的测试。根据本公开的实施方案 可包括改良型上电自测(与BIOS 124的上电自测相比而言),从而使得,(例如)如果测试与 存储在预定存储器模块中的数据的本质不兼容,那么上电自测可跳过对至少一些预定存储 器模块的测试。
[0039]根据本公开的实施方案也通过将能量源219与RAM存储单元220耦接来解决已知技 术的RAM易失性缺点。能量源219可与存储器接口 218合并。能量源219是备份电力源,从而使 得,如果RAM存储单元220的外部电源丧失(例如,由于影响整个计算系统200的AC电力故障, 给移动系统200供电的电池的移除、母板故障等),那么能量源219可提供足够的电力以便维 持存储在RAM存储单元220中的数据的完整性。
[0040]离台过程涉及在物理介质间传送数据。根据本公开的实施方案通过使用硬件和软 件部件两者来实施离台过程。硬件部件包括连接器208、存储器接口 218、能量源219和RAM存 储单元220。连接器208可包括用来向存储器接口 218供应工作电力的预定引脚。存储器接口 218可包括有限处理能力(例如,小型CPU)以便管理检测和通知过程,如针对能量源219的充 电状态、异常检测以及针对LED灯(例如,绿色、黄色、红色)。如果指示电力损失,那么可启动 开关以便开启向存储器接口 218中对系统操作至关重要的数据(例如,配置信息、系统状态 等)的保护性存储的传送。一旦离台完成,存储器接口 218便可进入降低电力模式和/或切断 电源。用于执行离台过程的电力可至少部分由能量源219供应。将通过使用来自能量源219 的电力维持数据完整性。
[00411 如果连接器208从其相应DMM插槽108移除,那么连接器208和/或存储器接口 218 可包括特征部,用来帮助确保如果/当连接器208从预定DMM插槽108移除时,所述连接器 208在重插入时将被重新插入到同一相应DMM插槽108中。这些特征部可充当安全特征部, 从而使得,如果发生不正确的重新插入,那么有效存储的比特将会被加扰并渲染不可读。
[0042]根据本公开的实施方案也提供恢复过程。恢复过程可用于从完全的系统故障或电 力损失中恢复。例如,如果母板失效,实施方案进入低电力模式并且进入系统修复(例如,母 板更换)或部件挽救(例如,移除连接器208、存储器接口 218、能量源219和RAM存储单元220 以便放置在新单元中)。恢复过程包括将存储器模块重新安装到它们在缺陷单元中占据的 相同的相应插槽位置中。存储器模块可包括物理或逻辑键控,从而使得,如果安装在更换单 元内的不同插槽位置中,那么存储器模块将不可使用。例如,如果尝试从这样插入的存储器 模块读取数据,那么安装在不同插槽位置中的存储器模块可产生加扰比特(即,"比特加 扰")。签名与插槽中的模块相关联。因此,例如,如果您将存储器模块最初安装在B1插槽中, 并且尝试将它重新安装到E1插槽中,或者反之亦然,那么机器将不会启动。数据模块与插槽 编号匹配。存储模块与插槽编号之间的硬性关联的理论基础在于,存储模块安装在错误插 槽中的情况下尝试恢复数据可能破坏数据,所以实施方案检测错误的插槽情况并且防止数 据存取。
[0043]备份和恢复过程可通过模块API(即,"芯片调用")来实施。API功能可包括备份和 恢复。一旦发生某些预定事件(例如,"根据触发的" API调用),便可触发API功能。例如,应用 程序可包括检查点,在所述检查点处系统检查可能对数据造成风险的情况或事件的发生。 一旦发生此类检测,便可触发备份API,所述备份API可将某些关键数据、配置信息、元数据 等等复制到受保护、非易失性存储器(如"与非"存储器)中。可触发备份的事件的示例包括 开启引导过程、从硬件或软件故障中恢复,等等。
[0044]在系统初始化时,供应电路电力并且系统部件接收电力。能量源219将开始再充 电。可针对用户的视觉效果提供状态指示器(例如,各种颜色(如绿色、黄色、红色等)的 LED)。状态指示器可指示第一阶段上的进度(例如,执行校检和)。如果可能指示问题,那么 实施方案可行进到替代性和/或更全面的过程,例如检查数据图像以便仔细比较每个比特 和字节。在使用常规方法的情况下,这个过程由于"与非"速度限制(例如,十分钟启动)而可 能是非常缓慢的。故障条件可被检测到并且造成系统暂停、模块缺失、模块不匹配等。如早 先所指出的,如果存储器接口 218和RAM存储单元220并未正确更换(例如,错误的插槽或错 误的顺序),或者安装在错误的系统上(即,不含所需比特标记符的系统),那么不能恢复数 据。这个行为是需要的以便提供重大安全。单独指示器可指示API功能何时完成。
[0045] 借助连接器208将电压和电力流(例如,1.2v、1.35v、1.5v等)施加给指定的DIMM引 脚或替代性元件,所述DIMM引线或替代性元件转而在正常操作下给能量源219通电。存储器 接口 218的热设计可包括用来冷却(例如通过使用散热器)能量源219的元件。
[0046] 能量源219可具有足够的能量以便在至少数月的时间段上维持数据完整性。能量 源219可以是称为"超级cap"的大电容电容器,例如,至少600法拉(Farad)。或者,能量源219 可以是电池。然而,基于电池的能量源(如锂电池)在损坏或发生内部短路时易于出现灾难 性故障(例如,电弧放电、起火)。当能量源219不向RAM存储单元220供应电力时,可在正常情 况下通过系统200的主电源连续对能量源219进行充电。
[0047] 可恢复系统状态,只要系统状态被存储在RAM存储单元220中。在一些实施方案中, 单独的备份能量源也可向计算系统的其他部分(例如,处理器和高速缓存器)提供能量,从 而使得可在电力中断期间保存系统状态或其他额外状态。当恢复外部电源时,可重启或者 从持久或有状态性状态中恢复计算系统。在一些实施方案中,系统可进入或存在于降低耗 电的状态中,而同时系统状态由备份能量源保存。
[0048]存储器接口 218的功能还可包括监控能量源219的健康状态(例如,电压电平),因 为电压电平可随时间或在故障之前衰减。此类健康状态可经由通信总线107往回传递给监 控系统。存储器接口 218和RAM存储单元220可在不需要修改高速缓冲存储器103的情况下运 作。
[0049]系统200还包括操作系统204,所述操作系统204适于将数据存储到RAM存储单元 220/从RAM存储器单元220检索数据。操作系统204包括作为新颖驱动接口的一部分的数据 适配模块211。数据适配模块211运行比特发生器软件,所述比特发生器软件提供本文中所 述的数据适配模块211的功能。可在处理器202的初始化过程中实时加载比特发生软件。可 使用常规RAM存储器(例如,耦接到DMM插槽108a的存储器)和/或高速缓冲存储器103来支 持数据适配模块211的功能。当存储数据时,数据适配模块211通过以下方式适配有待存储 在RAM存储单元220中的数据:将原始数据编码成编码数据,并且随后将编码数据存储到RAM 存储单元220中。通常,对于预定大小的原始数据(即,预定数目的原始数据比特)来说,编码 数据更小,即,编码数据可由比原始数据比特数目更小数目的编码数据比特来表示。数据适 配模块211可将一定量的数据存储到RAM存储单元220中,如果以其原始形式表示,那么数据 的量将超过RAM存储单元220的存储容量。RAM存储单元220的有效存储容量(例如,根据等效 数目的原始数据比特所测量)可超过RAM存储单元220的物理存储容量。处理器202可利用常 规RAM存储器和/或高速缓冲存储器103以便支持处理器202针对常规功能(例如,作为服务 器)的操作。
[0050] 编码数据通过数据适配模块211而向RAM存储单元220中的传送可在某个传送速率 下发生,如果通过等效原始数据比特的传送来表示,所述传送速率将超过处理器、RAM存储 单元220以及将处理器联接到RAM存储单元220的通信总线的最大数据传送速率。
[0051] 类似地,当从RAM存储单元220检索已存储数据时,数据适配模块211通过以下方式 适配从RAM存储单元220读取的数据:将编码数据解码成原始数据,并且随后提供原始数据 供其他用途,例如,由处理器202或在处理器202上运行的应用程序使用。
[0052]数据适配模块211在足够高的速度下适配数据,从而使得编码数据所花费的资源 (例如,处理器202所花的处理时间)少于通过将编码数据而不是原始数据传输至RAM存储单 元220所节约的资源(例如,通信总线107上的传输时间)。类似地,解码数据所花费的处理时 间小于从RAM存储单元220传输编码数据而不是原始数据所最终节约的时间。
[0053]在生产中时,根据本公开的实施方案可在数据适配模块211中运行使平台能够成 为混合式计算和存储系统的专业化薄型0SWS也将提供嵌入式服务器虚拟化平台以便允许 若干虚拟机同时在平台上运行。这些0S的许多示例中的一个将会是单个系统,所述系统独 立地并且同时运行十到十五个或更多的Microsoft Windows实例,所有这些Windows实例都 未曾经历过将会是常规已知的虚拟计算平台所固有的I/O迟延。
[0054]根据本公开的实施方案也可在运行复杂数据库系统中发现的极高性能事务处理 时使用。此类应用使得单纯在RAM中运行系统数据库的较大部分或全部成为可能。
[0055] 对实施方案的初步测试和/或模拟指示恰当配置的系统可以利用小到48GB的 NVRAM来实现4TB以上的极高速率RAM存储。
[0056] 如本文中所述的用来对原始数据进行编码的过程以及用来对处理后数据进行解 码以便产生原始数据的过程,可通过调用数据适配模块211内的模块来执行。这些模块可由 操作系统204或者在处理器202上运行的另一个应用程序调用。
[0057] 属于Ignomirello的美国专利申请公开案第2014/0223118号("' 118公开案")中描 述了对原始数据进行编码的一个实施方案,所述专利申请与本申请共同转让,并且所述专 利申请的全部内容以引用的方式并入本文。
[0058]其他实施方案可通过使用比特标记符方法(如'118公开案中所描述的)对原始数 据进行编码,所述方法使得RAM存储单元220的有效存储容量变得更有弹性,并且允许有效 存储容量和密度非常快速地增加。存储容量在以下意义上来说可以是有弹性的:可以存储 的等效量的原始数据并不是固定值,而是可取决于原始数据的特性而改变,例如,原始数据 匹配比特标记符的良好程度。原始数据容量并不提前由操作系统或低级软件(如基本输入/ 输出系统(BIOS))控制或知晓。实施方案可减少对具有非常高物理容量的RAM芯片的需求, 并且伴随有非常密集的纳米特征设计,从而允许将更低密度和/或更旧代的RAM芯片用于 RAM存储单元220。
[0059] 比特标记符可源于或至少部分地基于原始数据的特性或从原始数据导出的特性。 原始数据的特性可以是(例如)原始数据的类型(例如,音频文件、图形文件、视频文件、ZIP 文件、Word文件、PDF等)、文件格式(例如,针对图形文件而言,位映像、GIF、TIF、JPEG等)、文 件内容(例如,针对MP3音频文件而言,其是否是古典音乐、爵士音乐、rap音乐、摇滚音乐、口 头语言(如音频书籍)等的MP3)、文件属性(例如,针对MP3音频文件而言,比特率、单声道或 立体声、元数据、总长度、所使用的编码器、动态范围、时长等)、文件的统计数据(例如,大 小、年龄、修改日期、文件内的字节或字节序列的概率分布等),等等。例如,MP3文件可包含 比不同类型文件(例如,JPG文件)更频繁的某些原始数据比特(即,字节序列),因此了解到 文件是MP3文件可能影响所选择的比特标记符以及每个比特标记符所表示的原始数据比 特。例如,如果原始数据的特性被更好地知晓或者在统计意义上并不是固定的,那么数据适 配模块211可响应于原始数据的特性变化而根据时间或所处理的原始数据量来适应性地改 变用来表示原始数据的比特标记符。
[0060] 比特标记符可表示原始数据的向量,即,预定序列的原始数据比特。原始数据的向 量也可称为数据段。不同的比特标记符可表示不同长度的向量。可将原始数据分解成原始 数据的向量,并且随后可将向量映射到比特标记符。在一些实施方案中,级联向量可表示原 始数据。在其他实施方案中,向量可重叠从而使得向量组合(例如,布尔(Boolean) "和"、 "或"、"异或"、"与非"等)可表示原始数据。原始数据可由多个层(例如,对于图形文件而言, 用于每个颜色成分的单独层,如R、G、B或C、Y、M、K;或其他逻辑层等)表示,并且比特标记符 可用来单独表示每个颜色层内的原始数据比特。在一些实施方案中,原始数据可表示为多 维数据结构(例如,二维阵列、三维立方体、N维结构等),并且向量可表示多维数据结构的邻 近部分(例如,二维原始数据阵列的矩形部分)。比特标记符可以视作为在向量指针与原始 向量数据本身之间平动的平动函数。
[0061] 在一些实施方案中,对比特标记符的了解(例如,源于原始数据的特性)可足以产 生用来与原始数据匹配的模型向量。例如,假设一组原始比特(例如,从通信链路接收的文 件或信息)表示视频流媒体。可以猜测、推理或以其他方式配置原始比特表示具有特定特性 的视频流媒体(例如,帧速率、分辨率、像素尺寸、调色板等),并且可选择比特标记符来指示 数据作为具有这些特性的视频流媒体。了解到比特标记符表示具有这些特性的视频流媒体 可用来产生预测性地与视频流媒体的特性(例如帧速率、分辨率、像素尺寸、调色板等)匹配 的模型向量。此类实施方案的益处在于,一旦比特标记符是已知的,(例如)通过实时处理流 媒体便可以即时(on the fly)完成编码。对于处理文件(例如,MP3文件、DVD影碟等)而言, 可完成处理而无需读取整个文件(例如,在逐段(section-by-section)的基础上),而只需 要具有相对适度大小的缓冲区。可随着编码数据的产生而将其存储到RAM存储单元220。
[0062] 在一些实施方案中,对象可以是复合对象,即,一个文件类型并且还包含另一个文 件类型的对象。例如,电子邮件对象在其内部可包括嵌入式对象,如附加roF、附加 zip文件、 附加Word文档、另一个电子邮件对象等。了解到对象是复合对象可有助于选择适合于嵌入 式类型对象以及适合于复合对象的单独部分的向量和比特标记符。
[0063] 在一些实施方案中,可通过在分区之前分析原始数据以便确定各个区段之间的有 用界限来将原始数据从一维结构转换到多维结构。分区之后的各个区段形成多维结构。在 一些实施方案中,分析可考虑到可用处理器高速缓存大小,(例如)以便帮助确保可以迅速 执行分析。
[0064] 在一些实施方案中,比特标记符可表示数据核(即,一组相对较小的种子原始数据 比特、起始值、起始样式等)与如何从种子中产生额外数据的复制规则一起(例如)来将数据 核扩展成任意大数目的原始数据比特。用于产生额外数据的规则可包括(例如)预定次数或 者预定长度上的复制、基于分形的复制、运行长度复制等。例如,如果二维多维原始数据结 构的一部分可由分形样式表示,那么此类表示形式可用于将原始数据比特基于分形映射到 以特定大小渲染的分形样式。如实施方案所使用的,用于数据编码和解码的分形样式可针 对其他维度下(例如,一维(线性样式)、三维等)的原始数据存在。
[0065] 在一些实施方案中,比特标记符可表示一个或多个DNA子标记符、连同用于组合 DNA子标记符的规则。例如,比特标记符可表示与VdPW的"异或"积级联的向量V4。所得到的 比特标记符随后可充当子标记符,用于与其他子标记符组合来形成另一个标记符。
[0066] 最初,可将向量和它们对应的比特标记符存储在向量场中。向量场正常存储在单 独存储器中,与RAM存储单元220隔开。例如,如果RAM存储单元220耦接到DMM插座108b,那 么可将向量场存储在耦接到DIMM插座108a的常规DMM存储器中或者存储在高速缓冲存储 器103等中。可将一群原始数据比特传输到数据适配模块211,所述数据适配模块211随后将 原始数据比特或其一部分映射或关联到向量场中的向量。然后,对应的比特标记符可从向 量场中检索并且存储在RAM存储单元220中代替等效的原始数据比特。可重新使用或"放大" 比特标记符,从而使得,如果原始数据包括原始数据比特的多个实例,那么可将对应的比特 标记符存储在RAM存储单元220中,而且指示所述比特标记符被用于原始数据字节的多个实 例。放大是指比特标记符的大小(例如,根据比特或字节的数目所测量)与比特标记符的使 用实例所替换的等效原始数据比特(或字节)的大小之间的比率。
[0067] 在一些实施方案中,可对RAM存储单元220进行逻辑分区,从而使得RAM存储单元 220的一个部分(例如,一个可物理可寻址部分)可存储比特标记符,而RAM存储单元220的另 一部分可起到传统存储器的作用。在一些实施方案中,耦接到DIMM插槽中的一个(例如, DIMM插槽108b)的RAM存储单元220可运作来存储比特标记符,而耦接到另一个DHM插槽(例 如,DIMM插槽108a)的RAM模块可起到常规存储器的作用。
[0068] 根据本公开的其他实施方案包括比特发生器,所述比特发生器在数据填充期间将 较长形式的数据编码成较短形式的比特标记符,并且在请求时将较短形式的比特标记符即 时解码成较长形式的数据。
[0069] 在一些实施方案中,可在一组原始数据中辨识一个或多个样式。当原始比特被表 示为线性系列的"〇"和"1"时,样式可以是(例如)原始比特中的周期性。当原始数据被表示 为线性系列的字节时,样式也可呈原始数据中的周期性的形式,或者当原始数据被表示为 一组多维原始数据时,样式可呈多维周期性的形式。周期性可表示为原始数据中的预定样 式的频率。周期性的特性可包括频率和相位。多维数据可在每个维度上独立地表征。周期 (或相反地,频率)可表示为预定样式的每个重复循环的原始比特,例如,每循环256个比特, 每循环65,536个比特,等等。相位可指示样式相对于预定样式的参考副本(例如,字典副本) 的起始点。实施方案可使用频率和相位特性作为识别特性(例如,比特标记符、指纹等)。
[0070] 在一些实施方案中,可将一维原始数据中的周期性作为多维原始数据建模或分 析。例如,表示心电图的数据追踪包括心跳速率所表示的固有周期性。周期性不是完美的, 因为频率(例如,每分钟心跳)可随时间改变,并且心电图的确切形状可从一个心跳到另一 个心跳发生改变。然而,心电图追踪可建模为多维结构,其中针对一个心跳(例如,第一心跳 或参考心跳或理想心跳等)的心电图表示电压对比时间的一个平面(即,两个轴线),并且第 三维度表示按顺序心跳次数。在虑及因素(如上文指出的频率)的变化之后,可部分地通过 分析第三维度中的差异来对数据进行编码。
[0071] 在一些实施方案中,样式可表示一个或多个基函数或基向量的线性组合。在数学 上,基函数是函数空间的特定基础的要素。函数空间中的每个连续函数可以表示为基函数 的线性组合。类似地,向量空间中的每个向量可以表示为基向量的线性组合。基向量在向量 空间中被称为一组线性独立的向量,并且向量空间中的每个其他向量线性依赖于这些向 量。
[0072] 例如,可将原始数据分解成基向量的组合。每个基向量是可测量的二进制样式。优 选地,基向量与用来参考基向量的比特标记符(即,指向向量图中的基向量的指针)相比应 该是非常长的,但是基向量可比整个原始数据更短。原始数据作为基向量的表示可包括以 下一个或多个数据对:(a)用于基向量的比特标记符以及(b)基向量的原始数据中的起始位 置。基因池与向量图相关,原因在于基因池可包括关于如何从向量中重建原始数据的信息。 例如,基因池可指示有待重建的一类文件(例如,MP3文件),对这类文件的了解将有助于重 建文件。类推到拼图,向量可表示拼图的单独片块,并且基因池可表示整个拼图在完成时应 该显现的图片。
[0073] 在一些实施方案中,并未由基向量表示的原始数据可被视为预定值,例如,0x00或 OxFF字节。如果原始数据具有预定值的较大数目的连贯比特或字节(例如,较大数目的连贯 0x00字节),那么前述情形可能是有用的。
[0074] 在一些实施方案中,可将原始数据分解成可至少部分重叠的基向量。重叠基向量 可默认组合为布尔"或",但可使用其他布尔函数(例如,"和"、"异或"、"与非"等)。
[0075] 在一些实施方案中,向量字典可适应原始数据的统计信息中的变化。例如,如果正 存储的信息的类型发生改变(例如,从视频到MP3),那么原始数据的统计信息同样可改变。 此类变化可能意味着更少使用某些基向量,并且可更多地使用其他基向量。实施方案可辨 别用途变化并且适当地更新基字典,例如,通过精选一些基向量并且添加其他基向量。解码 器将意识到向量字典中的变化,例如通过涵盖字典更新。
[0076] 在一些实施方案中,向量字典中的条目可具有不同但固定的长度。长度可取决于 原始数据的统计信息。例如,比特标记符可具有不同的长度,从而使得对应于原始数据中更 常发生的向量的比特标记符可比对应于原始数据中不常发生的向量的比特标记符更短 (即,比特标记符包括更少的比特)。或者,比特标记符可具有相等的长度,但是比起表示原 始数据的更短但不常发生的向量的其他比特标记符而言,一些比特标记符可对应于原始数 据的更长但更常发生的向量。
[0077] 在一些实施方案中,比特标记符可表示在树和叶范式中,所述树和叶范式可以是 固有分层的。在此范式中,每个比特标记符由叶表示,其中叶在树中的大小和/或位置对应 于其所表示的比特标记符的特性。例如,更常发生的比特标记符可表示为更小的叶或更靠 近树根的叶。相反,不常发生的比特标记符可表示为更大的叶或离树根更远的叶。目标可以 是使用尽可能小的叶,或者使用尽可能靠近树根的叶,或者使用往往最小化数学函数(如叶 的大小乘以叶的使用次数的乘积)的叶。
[0078] 对数据进行解码涉及从RAM存储单元220读取编码数据,并且随后执行用来反转编 码过程的功能。解码功能可由数据适配模块211内的模块提供。例如,为了恢复数据,可从 RAM存储单元220读取编码数据块。在执行解码过程的同时,编码数据块可临时存储在高速 存储器中。解码过程由数据适配模块211内的模块提供。这些模块可由操作系统204调用。
[0079] 更具体地说,当从RAM存储单元220检索数据并且对其进行解码时,数据适配模块 211通过将原始数据解码成解码数据来适配有待存储在RAM存储单元220中的数据。可使用 常规RAM存储器(例如,耦接到DMM插槽108a的存储器)和/或高速缓冲存储器103来支持数 据适配模块211的解码功能。
[0080] 图3A示出根据本公开的实施方案的编码过程300。过程300可由操作系统204和数 据适配模块211来执行。
[0081] 过程300在步骤301处开始,在所述步骤301下,从意图存储原始数据的应用程序接 收有待存储的原始数据块。原始数据可呈文件、流媒体、固定大小或可变大小数据块等的形 式。
[0082]接着,过程300过渡到步骤303,在所述步骤303下,步骤301中所接收的原始数据的 部分可映射或匹配到原始数据的候选向量。候选向量可作为(标记符,向量)对的表存储在 常规存储器中。目标是通过至少一个向量来表示原始数据中的每个比特或字节。某些原始 数据字节(如0x00或OxFF)可以视为默认值,并且针对等于默认值的任何原始数据字节来 说,可选的是利用向量来表示默认字节。
[0083] 接着,过程300过渡到步骤305,在所述步骤305下,步骤303中所确定的向量可映射 到来自(标记符,向量)对的表的相应比特标记符。比特标记符是指代关联向量的简短方式。 [0084]接着,过程300过渡到步骤307,在所述步骤307下,将来自(标记符,向量)对的表的 比特标记符存储在存储器(如RAM存储单元220)中。
[0085]图3B示出根据本公开的实施方案的解码过程350。过程350可由操作系统204和数 据适配模块211来执行。
[0086] 过程350在步骤351处开始,在所述步骤351下,从存储器(如RAM存储单元220)中读 取有待解码的编码数据块。如本领域技术人员所知晓的,地址可通过虚拟地址调整方法和 表来管理。
[0087]接着,过程350过渡到步骤353,在所述步骤353下,从编码数据中提取比特标记符。 [0088]接着,过程350过渡到步骤355,在所述步骤355下,在(标记符,向量)对的表中搜索 从步骤353所提取的比特标记符。
[0089 ]接着,过程350过渡到步骤357,在所述步骤357下,从(标记符,向量)对的表中对应 于来自步骤353的提取比特标记符的条目中提取原始数据向量。
[0090] 接着,过程350过渡到步骤359,在所述步骤359下,从步骤357所提取的原始数据向 量被组合来形成重建的解码数据。如果组合的原始数据向量并不覆盖重建解码数据的整个 预期地址范围内的所有地址,那么未覆盖的地址可以视为在编码数据中呈现默认值,例如, 0x00或OxFF字节。
[0091] 当分析I/O能力时,常规系统可允许连续的I/O速度高达每秒57.6GB。相反,对于根 据本公开的实施方案的系统(所述系统利用英特尔Ivy Bridge 2697v2处理器来测试)而 言,实施方案可具有24个物理处理核心以及多达40个超线程核心、6144KB的L2处理器高速 缓存器、60MB的L3处理器高速缓存器,所有这些设备都处在5.4GHz下而且都具有7.6GHz的 增强能力。将所述实施方案的性能与任何其他Ivy Bridge 2697v2服务器相比,显示76.8倍 快的I/O增加。等量的性能增益可利用其他计算环境来实现,包括Haswell母板体系结构和 DDR4存储器。
[0092]虽然前述内容是针对本发明的实施方案,但是在不背离其基本范围的情况下可以 设想本发明的其他和进一步实施方案。应理解的是,本文所描述的各种实施方案在不背离 本文所包含的范围的情况下可结合所描述的任何其他实施方案来利用。此外,之前的描述 并不意在是穷尽性的或者将本发明限制于所公开的精确形式。鉴于以上教示,修改和变化 是可能的,或者可通过实践本发明来获得修改和变化。可通过使用开放式列表来识别某些 示例性实施方案,所述开放式列表包括措辞来指示列表项目代表实施方案并且列表并不意 在表示不含其他实施方案的封闭列表。此类措辞可包括"例如"、"等"、"如"、"诸如"、"等 等"、"及类似方面"等等,以及如根据周围上下文将会显而易见的其他措辞。
[0093] 本申请的描述中所使用的要素、行动或指令都不应被解释为对本发明至关重要或 必要的,除非明确作此说明。同样,如本文所使用的,字眼"一"意图包括一个或多个项目。在 意图只有一个项目的情况下,使用术语"一个"或类似语言。此外,如本文所使用的,跟着一 列多个项目和/或多个类别项目的术语"任何一个"意图包括多个项目和/或多个类别项目 中的"任何一个"、"任何组合"、"任何多个"和/或"多个的任何组合",这些项目和/或这些类 别项目单独地存在或与其他项目和/或其他类别项目结合存在。
[0094] 此外,权利要求书不应认为是受限于所述顺序或要素,除非对此效果做明确陈述。 另外,任何权利要求中的术语"意味着"的使用意图援引美国专利法第112条第6款,并且任 何不含词语"意味着"的权利要求并无此意图。
【主权项】
1. 一种编码方法,其包括: 接收未编码数据块; 将所述未编码数据块分解成多个数据向量; 从所述未编码数据的特性导出比特标记符; 将所述多个数据向量中的每一个映射到相应导出的比特标记符;以及 将所述导出的比特标记符存储在存储器中以便产生所述未编码数据的编码表示形式。2. -种编码方法,其包括: 接收未编码数据块; 将所述未编码数据块分解成默认数据和非默认数据; 将所述非默认数据映射到多个数据向量; 将所述多个数据向量中的每一个映射到相应比特标记符;以及 将所述比特标记符存储在存储器中以便产生所述未编码数据的编码表示形式。3. -种编码方法,其包括: 接收未编码数据块; 将所述未编码数据块分解成多个数据向量; 将所述多个数据向量中的每一个映射到相应比特标记符;以及 将所述比特标记符存储在存储器中以便产生所述未编码数据的编码表示形式, 其中所述多个数据向量中的至少一些在表示所述未编码数据块时彼此重叠。4. 一种编码方法,其包括: 接收未编码数据块; 将所述未编码数据块分解成多个数据向量; 将所述多个数据向量中的每一个映射到相应比特标记符;以及 将所述比特标记符存储在存储器中以便产生所述未编码数据的编码表示形式, 其中所述比特标记符包括种子值和复制规则。5. -种编码方法,其包括: 接收未编码数据块; 将所述未编码数据块分解成多个数据向量; 将所述多个数据向量中的每一个映射到相应比特标记符;以及 将所述比特标记符存储在存储器中以便产生所述未编码数据的编码表示形式, 其中所述比特标记符包括多个其他比特标记符和组合规则。6. -种编码方法,其包括: 接收未编码数据块; 将所述未编码数据块分解成多个数据向量; 将所述多个数据向量中的每一个映射到相应比特标记符;以及 将所述比特标记符存储在存储器中以便产生所述未编码数据的编码表示形式, 其中所述数据向量包括分形样式。7. 如权利要求1至6中任一项所述的编码方法,其中所述未编码数据块表示复合对象。8. 如权利要求1至6中任一项所述的编码方法,其中所述未编码数据块表示多维数据对 象。9. 一种解码方法,其包括: 从存储器中检索多个比特标记符; 将所述多个比特标记符中的比特标记符映射到相应数据向量; 将所述相应数据向量与未编码数据块进行组合以便产生合成式未编码数据块;以及 将所述合成式未编码数据块与默认数据进行组合以便产生解码数据。10. -种解码方法,其包括: 从存储器中检索多个比特标记符; 将所述多个比特标记符中的比特标记符映射到相应数据向量; 将所述相应数据向量与未编码数据块进行组合以便产生合成式未编码数据块;以及 产生所述未编码合成式数据块作为解码数据, 其中所述多个数据向量中的至少一些在形成所述解码数据时彼此重叠。11. 一种解码方法,其包括: 从存储器中检索多个比特标记符; 将所述多个比特标记符中的比特标记符映射到相应数据向量; 将所述相应数据向量与未编码数据块进行组合以便产生合成式未编码数据块;以及 产生所述未编码合成式数据块作为解码数据, 其中比特标记符包括种子值和复制规则。12. -种解码方法,其包括: 从存储器中检索多个比特标记符; 将所述多个比特标记符中的比特标记符映射到相应数据向量; 将所述相应数据向量与未编码数据块进行组合以便产生合成式未编码数据块;以及 产生所述未编码合成式数据块作为解码数据, 其中比特标记符包括多个其他比特标记符和组合规则。13. -种解码方法,其包括: 从存储器中检索多个比特标记符; 将所述多个比特标记符中的比特标记符映射到相应数据向量; 将所述相应数据向量与未编码数据块进行组合以便产生合成式未编码数据块;以及 产生所述未编码合成式数据块作为解码数据, 其中所述数据向量包括分形样式。14. 如权利要求9至13中任一项所述的解码方法,其中所述解码数据表示复合对象。15. 如权利要求9至13中任一项所述的解码方法,其中所述解码数据表示多维数据对 象。16. -种用来对数据进行编码的系统,其包括: 数据接口,其用来接收未编码数据块;以及 耦接到存储器的处理器,所述处理器被配置来: 将所述未编码数据块分解成多个数据向量; 从所述未编码数据的特性导出多个比特标记符; 将所述多个数据向量中的每一个映射到所述多个比特标记符中的一个;以及 将所述多个比特标记符存储在所述存储器中以便产生所述未编码数据的编码表示形 式。17. -种用来对数据进行编码的系统,其包括: 数据接口,其用来接收未编码数据块;以及 耦接到存储器的处理器,所述处理器被配置来: 将所述未编码数据块分解成默认数据和非默认数据; 将所述非默认数据映射到多个数据向量; 将所述多个数据向量中的每一个映射到相应比特标记符;以及 将所述相应比特标记符存储在所述存储器中以便产生所述未编码数据的编码表示形 式。18. -种用来对数据进行编码的系统,其包括: 数据接口,其用来接收未编码数据块;以及 耦接到存储器的处理器,所述处理器被配置来: 将所述未编码数据块分解成多个数据向量; 将所述多个数据向量中的每一个映射到相应比特标记符;以及 将所述相应比特标记符存储在所述存储器中以便产生所述未编码数据的编码表示形 式, 其中所述多个数据向量中的至少一些在表示所述未编码数据块时彼此重叠。19. 如权利要求16至18中任一项所述的系统,其中所述未编码数据块表示复合对象。20. 如权利要求16至18中任一项所述的系统,其中所述未编码数据块表示多维数据对 象。21. 如权利要求16至18中任一项所述的系统,其中所述比特标记符包括种子值和复制 规则。22. 如权利要求16至18中任一项所述的系统,其中所述比特标记符包括多个其他比特 标记符和组合规则。23. 如权利要求16至18中任一项所述的系统,其中所述数据向量包括分形样式。24. -种用来对数据进行解码的系统,其包括: 数据接口,其用来从存储器中检索多个比特标记符;以及 耦接到存储器的处理器,所述处理器被配置来: 将所述多个比特标记符中的比特标记符映射到相应数据向量; 将所述相应数据向量与未编码数据块进行组合以便产生合成式未编码数据块;以及 产生所述未编码合成式数据块作为解码数据, 其中所述比特标记符包括多个其他比特标记符和组合规则。25. -种用来对数据进行解码的系统,其包括: 数据接口,其用来从存储器中检索多个比特标记符;以及 耦接到存储器的处理器,所述处理器被配置来: 将所述多个比特标记符中的比特标记符映射到相应数据向量; 将所述相应数据向量与未编码数据块进行组合以便产生合成式未编码数据块;以及 产生所述未编码合成式数据块作为解码数据, 其中所述数据向量包括分形样式。26. -种用来对数据进行解码的系统,其包括: 数据接口,其用来从存储器中检索多个比特标记符;以及 耦接到存储器的处理器,所述处理器被配置来: 将所述多个比特标记符中的比特标记符映射到相应数据向量; 将所述相应数据向量与未编码数据块进行组合以便产生合成式未编码数据块;以及 产生所述未编码合成式数据块作为解码数据, 其中所述多个数据向量中的至少一些在形成所述解码数据时彼此重叠。
【文档编号】G06F3/06GK106055270SQ201610236668
【公开日】2016年10月26日
【申请日】2016年4月15日
【发明人】B·M·易格诺米尔罗
【申请人】辛博立科伊奥公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1