用于表征存储器装置的方法和设备与流程

文档序号:26841787发布日期:2021-10-08 23:05阅读:113来源:国知局
用于表征存储器装置的方法和设备与流程
用于表征存储器装置的方法和设备
1.优先权和相关申请
2.本技术要求于2019年2月14日提交的题为“用于表征存储器装置的方法和设备(methods and apparatus for characterizing memory devices)”的共同拥有且共同未决的美国专利申请序列号16/276,461的优先权,所述美国专利申请通过引用以其整体并入本文。本技术还总体上涉及以下的主题:于2018年12月5日提交并且题为“用于激励参与雾网络的方法和设备(methods and apparatus for incentivizing participation in fog networks)”的共同拥有且共同未决的美国专利申请序列号16/211,029、于2019年1月8日提交并且题为“用于基于例程的雾联网的方法和设备(methods and apparatus for routine based fog networking)”的共同拥有且共同未决的美国专利申请序列号16/242,960、于2019年2月14日提交并且题为“用于检查表征的存储器搜索结果的方法和设备(methods and apparatus for checking the results of characterized memory searches)”的共同拥有且共同未决的美国专利申请序列号16/276,471以及于2019年2月14日提交并且题为“用于维护表征的存储器装置的方法和设备(methods and apparatus for maintaining characterized memory devices)”的共同拥有且共同未决的美国专利申请序列号16/276,489,前述各项中的每一个通过引用以其整体并入本文。
3.版权
4.本专利文件的公开内容的一部分含有受版权保护的材料。版权所有人不反对任何人对本专利文件或专利公开内容进行复制再现,因为其出现在专利与商标局的专利文档和记录中,但无论如何在其它方面保留所有版权。
技术领域
5.以下公开内容总体上涉及存储器装置。本公开的各个方面尤其涉及校验来自表征的存储器装置的存储器搜索结果。具体地,公开了用于校验工作量证明(pow)存储器搜索的各种技术。


背景技术:

6.加密货币是虚拟的交换媒介。大众化加密货币的实例包含比特币(在比特币网路中使用)和以太币(在以太坊网络中使用)。这些加密货币中的每种加密货币都使用工作量证明(pow)算法来处理记录在分类账中的货币交易,所述分类账在对等社区之间共享或分布。许多加密货币使用基于“区块链”数据结构的共享分类账:链式数据块序列。
7.加密货币“挖矿”通常是指基于工作量证明(pow)生成或获得货币价值奖励的加密货币活动。例如,加密货币挖矿活动可以包含例如,对交易进行验证并将所述交易安全地添加到分布式分类账和/或产生新的加密货币单元。以太币被认为是“存储器困难(memory hard)”或“存储器约束(memory bound)”加密货币,因为其挖矿算法需要大量的存储器才能运行。更直接地,存储器带宽是存储器困难加密货币展示pow的方式。换言之,存储器困难加密货币或存储器困难应用是其中存储器带宽或使用情况是pow的主要指标的加密货币或应
用。
8.顺便说一下,虚拟域不含有物质守恒定律。在物质世界里,价值令牌(例如,实物币)不可以被“双花(double spent)”。具体地,由于物料守恒,alice不能给bob一枚硬币,并且然后又将同一枚硬币给charlie。相比之下,没有什么可以阻止alice向bob和charlie两者发送同一数字令牌。工作量证明(pow)是物理熵的虚拟化表示(例如,计算工作、存储器搜索等)。区块链是记录累积pow的数据结构;在现代使用中,区块链以将物质守恒定律引入虚拟域中的速率累积pow。更直接地,区块链表示熵在尺度上的累积,所述尺度使恶意方在物理上无法进行攻击。例如,加密货币使用由矿工网络持续检查以确保仅有效的交易在块内添加到区块链的区块链。尽管恶意方可能会尝试生成虚假pow,但针对不断扩展的区块链生成有效pow在物理上是不可行的(由于对处理能力和/或存储器的实际约束)。网络中的矿工社区可以标识并拒绝无效的pow交易。另外,在一些情况下,与行为不当的矿工或恶意方相关联的节点或ip地址可能会遭受不期望的后果;例如,生成过多量的无效pow的矿工可能会被禁网、踢出网络、资源废弃、罚款和/或处罚。


技术实现要素:

9.本公开尤其提供了用于使用表征的存储器的方法和设备。
10.在一方面,公开了一种用于加速存储器困难应用的方法。在一个实施例中,所述方法包含:基于与所述存储器困难应用相关联的解密度函数选择表征的速率;利用第一处理器以表征的速率搜索表征的存储器以找到所述存储器困难应用的一或多个解;利用第二处理器以指定速率通过校验存储器校验所述一或多个解;以及响应于至少一个解的成功校验而向所述存储器困难应用提供至少一个解。
11.在一个变体中,选择表征的速率以增加表征的存储器的存储器带宽。
12.在一个变体中,选择表征的速率以减少表征的存储器的功耗。
13.在一个变体中,存储器困难应用具有容错阈值;并且基于不超过容错阈值的比特误码率(ber)选择表征的速率。
14.在一方面,公开了一种存储器设备。在一个实施例中,所述存储器设备包含:存储器胞元阵列;存储器接口;纠错逻辑,所述纠错逻辑被配置成从所述存储器胞元阵列读取数据并且通过所述存储器接口提供纠正的数据;其中所述存储器设备以不可纠正的故障性能和在第一操作参数下的第一性能为特征;并且其中所述存储器设备被配置成存储标识所述第一性能和所述第一操作参数的一或多个数据。
15.在一个变体中,所述第一操作参数包含超频速率,并且所述第一性能包含比特误码率(ber)。
16.在一个变体中,所述纠错逻辑将数据故障分类为概率性错误或硬件失效。在一个此类变体中,所述不可纠正的故障性能至少部分地基于无法修复或超出纠错能力的限度的概率性错误或硬件失效。在一个此类示范性变体中,在所述第一操作参数下的所述第一性能至少部分地基于被分类为概率性错误的所述数据故障中的第二数据故障。
17.在一个变体中,所述存储器胞元阵列中的每个存储器胞元包含电容式存储元件。
18.在一个变体中,所述存储器胞元阵列中的每个存储器胞元包含铁电存储元件。
19.在一个变体中,所述存储器设备被配置成基于历史使用来更新标识所述第一性能
和所述第一操作参数的所述一或多个数据。
20.在一个变体中,所述存储器设备被配置成基于不可纠正的故障性能的提高来更新标识所述第一性能和所述第一操作参数的所述一或多个数据。
21.在一方面,公开了一种用于使用表征的存储器的方法。在一个实施例中,所述方法包含:执行以容错阈值为特征的容错应用;读取标识表征的存储器的第一性能和第一操作参数的一或多个数据;以及基于至少所述第一性能超过所述容错阈值根据所述第一操作参数针对所述容错应用操作所述表征的存储器。
22.在一个变体中,所述根据所述第一操作参数针对所述容错应用操作所述表征的存储器包含使所述表征的存储器超频。
23.在一个变体中,所述根据所述第一操作参数针对所述容错应用操作所述表征的存储器包含以降低的功率为所述表征的存储器供电。
24.在一个变体中,所述方法进一步包含监测所述容错应用的性能。在一个此类变体中,所述方法进一步包含基于所述容错应用的监测的性能来更新标识所述第一性能和所述第一操作参数的所述一或多个数据。
25.在一个变体中,所述读取标识表征的存储器的所述第一性能和所述第一操作参数的所述一或多个数据进一步包含:读取标识与所述表征的存储器的多个操作参数相关联的多个性能的多个数据;以及基于所述容错阈值来选择所述表征的存储器的所述第一性能和所述第一操作参数。
26.在一方面,公开了一种设备。在一个实施例中,所述设备包含:表征的存储器;处理器;以及非暂时性计算机可读媒体。在一个示范性实施例中,所述非暂时性计算机可读媒体包含一或多个指令,所述一或多个指令当由所述处理器执行时使所述处理器:读取存储在所述表征的存储器内的标识所述表征的存储器的第一性能和第一操作参数的一或多个数据;确定所述第一性能是否对于至少一个应用来说可接受;并且当所述第一性能对于所述至少一个应用来说可接受时,根据所述第一操作参数针对所述至少一个应用操作所述表征的存储器。
27.在一个变体中,所述设备包含时钟电路,所述时钟电路被配置成根据所述第一操作参数对所述表征的存储器进行时钟控制。在一个此类变体中,所述时钟电路被进一步配置成当所述第一性能对于所述至少一个应用来说不可接受时,根据指定时钟速率对所述表征的存储器进行时钟控制。
28.在一个变体中,所述设备包含电力电路,所述电力电路被配置成根据所述第一操作参数为所述表征的存储器供电。在一个此类变体中,所述电力电路被进一步配置成当所述第一性能对于所述至少一个应用来说不可接受时,根据正常功率为所述表征的存储器供电。
29.在另一方面,公开了一种用于监测表征的存储器的性能的方法。在一个实施例中,所述方法包含:利用处理器以表征的速率存取表征的存储器的内容,其中表征的存储器具有一或多个不可纠正故障;其中表征的存储器以基于所述一或多个不可纠正故障的目标性能为特征;基于所存取的内容和内容的原始副本利用处理器确定实际性能;以及当实际性能超过目标性能界定量时利用处理器刷新表征的存储器的内容。
30.在一个变体中,刷新表征的存储器的内容包含用内容的原始副本重写表征的存储
器的内容。
31.在一个变体中,实际性能基于监测归因于概率性错误的不可纠正故障的增加。
32.在一个变体中,存取表征的存储器的内容包含在存储器空间内的多个均匀分布的存储器读取。
33.在另一个变体中,实际性能包含比特误码率(ber)。
34.在另一个变体中,所述方法进一步包含:当实际性能超过目标性能界定量时,利用新的目标性能对表征的存储器重新表征。
35.在一方面,公开了一种用于估计一或多个表征的存储器的退化的方法。在一个实施例中,所述方法包含:利用处理器以表征的速率存取表征的存储器的内容;其中表征的存储器以目标性能为特征;基于所存取的内容和内容的原始副本利用处理器确定实际性能;以及当确定的实际性能超过目标性能界定量时触发补救过程。
36.在一个变体中,所述方法进一步包含标识不可纠正故障。在一个此类变体中,补救过程包含当所标识的不可纠正故障超过阈值量时引起表征的存储器的替换。在另一个此类变体中,补救过程包含当所标识的不可纠正故障未超过阈值量时刷新表征的存储器的内容。
37.在一方面,公开了一种设备,所述设备被配置成补救一或多个表征的存储器中的故障。在一个实施例中,所述设备包含:表征的存储器,所述表征的存储器包含一或多个不可纠正故障;其中所述表征的存储器在使用期间概率性地累积一或多个可纠正故障;处理器,所述处理器被配置成以表征的速率存取所述表征的存储器;控制器逻辑,所述控制器逻辑被配置成基于所述一或多个不可纠正故障或所述一或多个可纠正故障来确定性能指标;其中所述控制器逻辑被配置成当可纠正故障的数量超过阈值时刷新所述表征的存储器;并且其中所述控制器逻辑被配置成当不可纠正故障的数量超过阈值时标记用于替换的所述表征的存储器。
38.在本公开的另一方面,公开了一种计算机化无线存取节点设备,其被配置成动态存取表征的存储器。在一个实施例中,所述计算机化无线存取节点包含:无线接口,所述无线接口被配置成发送和接收频谱部分中的rf波形;数字处理器设备,所述数字处理器设备与所述无线接口进行数据通信;以及表征的存储器,所述表征的存储器与所述数字处理器设备进行数据通信并且包含至少一个计算机程序。
39.在本公开的另外一方面,描述了一种计算机可读设备。在一个实施例中,所述设备包含存储媒体,所述存储媒体被配置成在表征的存储器内或结合表征的存储器来存储一或多个计算机程序。在一个实施例中,所述设备包含计算机化控制器装置上的程序存储器或hdd或sdd。在另一个实施例中,所述设备包含在计算机化存取节点上的程序存储器、hdd或ssd。
40.当根据本文提供的公开内容进行考虑时,这些方面和其它方面将变得显而易见。
附图说明
41.图1a是现有技术的ethash算法的图示。
42.图1b是被配置成利用图1a的ethash算法搜索工作量证明(pow)的现有技术设备的逻辑框图。
43.图1c是可以在基于区块链的共享分类账的上下文中使用由以太坊矿工生成的工作量证明(pow)的现有技术过程的图示。
44.图1d是无法在基于区块链的共享分类账的上下文中多次使用由以太坊矿工生成的工作量证明(pow)的现有技术过程的图示。
45.图1e是可以向基于区块链的共享分类账添加由矿工社区验证的工作量证明(pow)的现有技术过程的图示。
46.图2a

2c是根据本文描述的各种原理的对计算系统效率有用的纠正的比特误码率(ber)的图示。
47.图3是根据本公开的被配置成利用前面提到的ethash算法搜索工作量证明(pow)的设备的第一示范性实施例的逻辑框图。
48.图4是根据本公开的被配置成利用前面提到的ethash算法搜索工作量证明(pow)的设备的第二示范性实施例的逻辑框图。
49.图5a是根据本公开的被配置成利用前面提到的ethash算法搜索工作量证明(pow)的设备的第三示范性实施例的逻辑框图。
50.图5b是图5a的示范性实施例与一组现有技术设备(如图1b所描述)的并排比较。
51.图6是根据本公开的用于搜索表征的存储器的方法的一个实施例的逻辑流程图。
52.图7是根据本公开的用于监测和分析表征的存储器性能的方法的一个实施例的逻辑流程图。
53.图8是根据本公开的被配置成搜索表征的存储器的设备的示范性实施例的逻辑框图。
54.所有附图版权所有2018

2020美光科技有限公司(micron technology,inc.)。保留所有权利。
具体实施方式
55.现在参照附图,其中相似的标号在全文中指代相似的部分。
56.如本文中所使用的,术语“存取节点”通常且不限于指代实现用户或客户端装置与网络内的另一个实体之间进行通信的网络节点,例如5g nr gnb、lte enb、wi

fi ap或支持wi

fi

direct的客户端或作为组拥有者(go)的其它装置。
57.如本文所使用的,术语“应用(application)”(或“应用(app)”)通常且不限于指代实施某一功能或主题的可执行软件单元。应用的主题在任何数量的学科和功能(如加密货币挖矿、按需内容管理、电子商务交易、经纪费交易、家庭娱乐等)之间都存在很大差异,并且应用可以有多于一个的主题。可执行软件单元通常在预定的环境中运行;例如,处理器架构可以从指令是针对处理器架构编译的非暂时性计算机可读存储媒体中检索和执行指令。
58.如本文所使用的,术语“客户端装置”或“用户装置”或“ue”可以包含但不限于移动装置,如手持式计算机、pda、个人媒体装置(pmd)、平板电脑、“平板手机”、智能电话和车辆信息娱乐系统或其部分,以及机顶盒(例如,dstb)、网关、调制解调器、个人计算机(pc)和微型计算机,无论是台式计算机、膝上型计算机还是其它计算机。
59.如本文所使用的,术语“计算机程序”或“软件”意指包含执行功能的任何序列或人或机器可辨识的步骤。此类程序可以在几乎任何编程语言或环境(包含例如c/c++、
fortran、cobol、pascal、汇编语言、标记语言(例如,html、sgml、xml、voxml)等)以及面向对象的环境(如公共对象请求代理架构(corba)、java
tm
(包含j2me、java beans等)、寄存器传输语言(rtl)、vhsic(超高速集成电路)硬件描述语言(vhdl)、verilog等)中呈现。
60.如本文所使用的,术语“因特网(internet)”和“因特网(internet)”可互换使用以指代包含但不限于因特网的互连网络。其它常见实例包含但不限于:外部服务器网络、“云”实体或“雾”网络(如非设备本地的存储器或存储设备、通常可通过网络连接随时存取的存储设备等)、服务节点、接入点(access point)、控制器装置、客户端装置等。
61.如本文所使用的,术语“5g nr”、“5g”和“新无线电”指代但不限于3gpp版本15和ts 38.xxx系列以及后续或相关标准。
62.如本文所使用的,术语“存储器”包含适于存储数字数据的任何类型的集成电路或其它存储装置,包含但不限于随机存取存储器(ram)、伪静态ram(psram)、动态ram(dram)、包含双倍数据速率(ddr)级存储器和图形ddr(gddr)和其变体的同步动态ram(sdram)、铁电ram(feram)、磁性ram(mram)、电阻式ram(rram)、只读存储器(rom)、可编程rom(prom)、电可擦prom(eeprom或e2prom)、ddr/2sdram、edo/fpms、减少等待时间dram(rldram)、静态ram(sram)、“闪速”存储器(例如,nand/nor)、相变存储器(pcm)、3维交叉点存储器(3d xpoint)和磁阻式ram(mram),如自旋扭矩转移ram(stt ram)。
63.如本文所使用的,术语“微处理器”和“处理器”或“数字处理器”通常意指包含所有类型的数字处理装置,包含但不限于数字信号处理器(dsp)、精简指令集计算机(risc)、通用(cisc)处理器、微处理器、门阵列(例如,fpga)、pld、可重构计算机结构(rcf)、阵列处理器、图形处理器(例如,gpu)、安全微处理器和专用集成电路(asic)。此类数字处理器可以含在单个统一ic芯片上,或者跨多个组件分布。
64.如本文所使用的,术语“网络”和“承载网络”通常是指任何类型的电信或数据网络,包含但不限于混合光纤同轴(hfc)网络、卫星网络、电信网络和数据网络(包含man、wan、lan、wlan、因特网和内联网)。此类网络或其部分可以利用任何一或多种不同的拓扑结构(例如,环形、总线、星型、环路等)、传输媒体(例如,有线/rf电缆、无线rf、毫米波、光纤等)和/或通信或联网协议(例如,sonet、docsis、ieee std.802.3、atm、x.25、帧中继、3gpp、3gpp2、lte/lte

a/lte

u/lte

laa、wap、sip、udp、ftp、rtp/rtcp、h.323等)。
65.如本文所使用的,术语“网络接口”是指具有组件或网络的任何信号或数据接口,包含但不限于火线(firewire)(例如,fw400、fw800等)、usb(例如,usb 2.0、3.0、otg)、以太网(例如,10/100、10/100/1000(吉比特以太网)、10

gig

e等)、moca、coaxsys(例如,tvnet
tm
)、射频调谐器(例如,带内或oob、电缆调制解调器等)、lte/lte

a/lte

u/lte

laa、wi

fi(802.11)、wimax(802.16)、z波、pan(例如,802.15)或电力线载波(plc)中的那些信号或数据接口。
66.如本文所使用的,术语“服务器”是指不论形式的适于向计算机网络上的一或多个其它装置或实体提供数据、文件、应用、内容或其它服务的任何计算机化组件、系统或实体。
67.如本文所使用的术语“存储设备”是指但不限于计算机硬盘驱动器、dvr装置、存储器、raid装置或阵列、光学媒体(例如,cd

rom、镭射影碟(laserdiscs)、蓝光等)或任何其它能够存储内容或其它信息的装置或媒体。
68.如本文所使用的,术语“无线”意指任何无线信号、数据、通信或其它接口,包含但
不限于wi

fi、蓝牙/ble、3g(3gpp/3gpp2)、hsdpa/hsupa、tdma、cbrs、cdma(例如,is

95a、wcdma等)、fhss、dsss、gsm、pan/802.15、wimax(802.16)、802.20、z波、窄频带/fdma、ofdm、pcs/dcs、lte/lte

a/lte

u/lte

laa、模拟蜂窝、cdpd、卫星系统、毫米波或微波系统、声学和红外(即irda)。
69.如本文所使用的,在存储器的上下文中,术语“级”是指可能超过具体要求但根据所述具体要求最低限度地执行的存储器。例如,当前的“通用计算”存储器被称为“一级”存储器,所述存储器保证在标准化操作条件(例如,室温、电压、电流、湿度等)下的最大比特误码率(ber)为例如1
×
10

18
,而“二级”存储器可以包含在相同标准化操作条件下最大ber为1
×
10
‑5的存储器。值得注意的是,存储器可以在其它环境下以显著更好或更差的ber执行;例如,在理想条件下,二级存储器可以提供优于1
×
10

18
ber,并且类似地,在苛刻的条件下,一级存储器的执行ber可能比1
×
10
‑5差。
70.前述术语一级和二级纯粹用作在一组固定条件下针对消费者应用的相对性能度量,并且纯粹是任意的。其它分类方案(例如,军用规格)可以在不同特性下和/或以其它等级水平对存储器进行分类。例如,可以根据环境忍耐力(高温/湿度、低温/湿度)、性能范围(例如,不同的速度等级)和/或任何其它操作参数对存储器进行分类。考虑到本公开的内容,普通技术人员将容易理解各种其它分类方案。
71.概述
72.目前,存储器困难加密货币挖矿是利用“通用计算”存储器完成的。考虑到消费者对加密货币的兴趣的激增,存在着找到更多挖矿硬件以及开发更快、更高效的挖矿硬件的巨大经济激励。一种提议的用于以成本有效的方式增加“存储器困难”挖矿硬件(即,对于需要运行大量存储器以支持使用存储器带宽作为pow的应用的挖矿算法)的技术将会使用比通用计算存储器更不可靠的存储器;然而,不可靠的存储器可能会输出过多量的无效工作量证明(pow)解,所述解可能会导致不期望的后果(禁网、踢出网络等)。
73.传统或“通用计算”存储器范式尝试通过例如昂贵的制造公差(例如,非常低的比特误码率(ber))来避免误差。然而,现代计算的许多领域已经探索了容错技术。容错计算(有时也称为“错误恢复(error

resilient)”)是指假设并允许存储器和/或数据中存在一些噪声和/或误差的计算。存在很多针对概率性计算、随机计算和/或其它类型的容错计算的应用。
74.为此,期望用于校验例如存储器困难加密货币的工作量证明(pow)存储器搜索结果的技术。更一般地,与现有通用计算存储器技术相比,利用不可靠的存储器装置进行容错存储器搜索可以实现更快、更高效和/或更具成本效益的解。容错存储器搜索可以广泛适用于一系列概率性或随机性计算应用、机器学习、密码学和/或任何数量的其它容错应用。
75.本公开尤其描述了用于使用表征的存储器以实现与现有通用计算存储器搜索相比更快、更高效、更具成本效益的存储器搜索的技术和设备。本文描述的一些实施例可以在没有校验的情况下在容错计算或随机计算系统中使用;例如,假设存储器和/或数据中存在一些噪声和/或误差的系统。
76.作为相关的变体,可以基于系统的容错程度或随机性从许多不同级别的存储器中选择存储器装置。在其它变体中,可以基于系统的容错程度或随机性选择在一或多个参数的范围内利用误码率性能(而不是基于分类的等级)进行表征的存储器装置以供使用。以下
将更详细地探讨前述的各种其它组合和排列。
77.本文描述的一些实施例实施校验阶段,以便在返回存储器搜索结果之前捕捉并去除存储器错误。在一个示范性实施例中,描述了用于利用校验存储器校验来自表征的存储器“池”的存储器搜索结果的改进方法和设备。所述校验阶段可以确保表征的存储器的池的最低性能水平。
78.在一个示范性实施例中,表征的存储器的池可以返回在加密货币挖矿(例如,以太坊挖矿)中使用的存储器困难工作量证明(pow)解的存储器搜索结果。有利地,本文描述的示范性实施例可以利用更便宜、缺陷更少或以其它方式无法上市的存储器,所述存储器在一或多个参数的范围内利用误码率性能进行表征。此类表征的存储器可以以具有成本效益的方式扩展和并行化加密货币挖矿中的存储器搜索。在一些此类变体中,校验阶段的使用可以进一步确保无效的挖矿结果不会返回到加密货币网络中的矿工社区;以此方式,挖矿节点将不会因为使用与通用计算存储器相比具有不同特性的存储器而受到惩罚(例如,挖矿节点不会被踢出网络或禁网)。
79.尽管本公开使用加密货币挖矿来说明本文描述的各种技术,但是考虑到本公开的内容,相关领域的普通技术人员将容易理解本文描述的技术可以用于各种其它应用。例如,本文描述的技术可以用于机器学习、人工智能、基于云和/或雾的计算以及涉及和/或考虑概率性错误、噪声和/或其它随机性来源的任何应用。
80.如下文中更详细地描述的,可以基于存储器装置的不可纠正的故障性能将其分成许多不同的分层。具体地,所谓的“可纠正”故障可以通过例如修复和/或误差纠正码(ecc)来纠正。然而,由于例如修复资源的耗尽和/或ecc能力的限制,“不可纠正”故障不能被纠正。在一个此类变体中,可以(利用校验阶段)校验具有不可纠正故障的存储器;此类技术可以实现成本有效地重新使用以其它方式可能是无法上市和/或被丢弃的存储器。
81.此外,公开了用于将存储器故障分类为存储器技术中由于随机来源导致的概率性错误和由于物理缺陷导致的硬件失效的方案。描述了各种方法和设备,所述方法和设备尤其监测存储器性能的退化以提供连续的使用中性能特征。归因于随机误差而非物理缺陷的存储器性能退化可以用于更频繁或更不频繁地智能刷新表征的存储器,以优化性能和/或生产寿命。归因于由于累积的物理缺陷导致的不可纠正故障的存储器性能的退化可以用于触发硬件替换。所描述的各种技术确保表征的存储器的合适的性能(例如,误码率)和/或效率。
82.示范性实施例的详细说明
83.现在详细描述了本公开的示范性实施例。虽然在利用区块链(例如,以太坊挖矿)的先前提及的存储器约束(或存储器困难)、基于工作量证明(pow)的加密货币挖矿的上下文中描述了这些示范性实施例,但是本公开的一般原理和优点可以扩展到涉及序列交易数据库、加密货币、网络、架构和机制的其它类型的系统,所述系统中的任何系统都被配置成提供由节点网络(在一些情况下也称为矿工网络)存取的分布式区块链或交易数据结构。
84.截至本公开的提交日,以太坊(和加密货币以太币)使用工作量证明(pow)算法“ethash”;然而,有兴趣针对权益证明算法修改以太坊(例如,其中网络通过令牌的所有权证明而不是工作量证明来保护)。因此,虽然在存储器困难pow的上下文中描述了本公开的示范性实施例,但本公开考虑利用其它形式的pow以及其它方案的证明(包含权益证明、权
威证明、空间证明等)。
85.本文描述的架构、系统、设备和方法可以用于涉及容错、噪声、概率和/或随机性的任何应用中。例如,本公开可以适用于各种概率性或机器学习领域,如dna测序、零售存货、疾病预测、模式识别和/或任何其它大规模模式识别。更一般地,如下文中更详细地描述的,“效率曲线”(或一组曲线)可以用于将解密度表征为噪声/误差的函数。效率曲线可以用于用其它参数(例如,组件成本、组件质量等)来权衡实现期望性能所需的需求。此类信息可以用于智能选择和/或重复使用各种表征的存储器装置(而不是“通用计算”存储器)。
86.通本领域的普通技术人员将参考附图和以下给出的示范性实施例的详细描述立即认识到本公开的其它特征和优点。
87.示范性以太坊和ethash操作—
88.如先前所述,以太坊是一个示范性的基于区块链的分布式计算平台和操作系统。以太坊网络产生以太币并将以太币作为加密货币进行交易。图1a是利用可用于在以太坊的上下文中证明存储器困难的ethash算法进行工作量证明(pow)挖矿的现有方法的逻辑流程图。
89.在步骤102处,矿工生成短二进制blob(二进制大对象)“随机数”;随机数是只使用一次(例如,以避免回放型攻击)的数据。在ethash的上下文中,随机数充当混合过程和算法的输入。矿工将随机数与源自区块链最新块的独特头部元数据(包含时间戳和软件版本)相结合。使用sha3类(安全哈希算法3)算法将预处理头部和随机数组合以产生初始128字节“混合”(步骤104)。
90.在步骤106处,128字节混合用于基于ethash特定的有向非循环图(dag)标识待从存储器中检索到的128字节页。顺便说一下,dag提供了在计算上很容易生成的伪随机存储器数据集。dag数据集生成为区块链长度的线性函数,并且每30,000个块(所谓的“时刻”)重新生成一次。截至本公开,dag大约为4gb,并且随着区块链的发展,dag的规模将继续增长。从存储在存储器中的dag中检索存储页在物理上受到存储器带宽的限制;因此,周期性变化的以太坊dag为以太坊提供了存储器困难的来源。
91.返回参考图1a,一旦从dag中检索到128字节页,就将其与初始的128字节混合组合,从而产生新的混合(步骤108)。然后利用新的混合来标识要检索的另一个dag页。一旦检索到新的dag页,就将其与新的混合组合以生成又另一个混合。此过程执行64次。在第64次混合之后,所得的128字节混合然后被后处理以生成更短的32字节汇总混合(digested mix)(步骤110)。
92.在混合功能和后处理之后,将32字节汇总混合与预定义的32字节目标阈值进行比较。如果32字节汇总混合小于或等于预定义的32字节目标阈值,则当前随机数被视为有效的,并且可以与头部一起作为pow广播到以太坊网络。如果未达到目标阈值,则当前随机数被视为无效的,并且利用不同的随机数(通过递增当前随机数,或随机选择一个新的随机数)重新运行算法。
93.虽然图1a中没有明确示出,但应强调的是,可能需要多次尝试搜索将产生满足目标阈值的汇总混合的随机数和头部组合;换言之,搜索有效随机数需要以存储器带宽形式的大量物理熵。然而,一旦成功找到随机数,任何对等实体就可以通过检查头部/随机数组合和dag查找以生成汇总混合来直接验证随机数确实产生了满足目标阈值的值。此外,由于
每个头部和随机数组合只能使用一次,因此ethash算法确保只能将新的随机数搜索添加到区块链中。
94.图1b是被配置成利用图1a的前面提到的ethash算法搜索工作量证明(pow)的现有设备的逻辑框图。如图1b所示,所述系统包含通用计算存储器152和处理器154。通用计算存储器152被“指定”用于在标准化条件下的标识性能(例如,ram在特定电压、温度、湿度等条件下以1
×
10

18
ber提供3.6gb/s)。通用计算存储器152存储ethash特定的有向非循环图(dag),并且ethash算法的每次迭代都需要64次的存取以生成汇总混合。由于绝大多数头部/随机数组合将不会满足目标阈值,因此对于每次尝试,设备很可能会消耗大量存储器带宽。
95.图1c展示了可以在基于区块链的共享分类账的上下文中使用由以太坊矿工生成的工作量证明(pow)的过程。
96.每个交易块都包含代表每个交易的数据(例如,pow和记录)。所述记录通常包含源自最新块的独特头部元数据(包含时间戳和软件版本)。
97.将提议的交易(包含生成的pow和记录)广播到网络并由对等方校验;为清楚起见,图1c中仅示出单个p2p对等方。具体地,p2p对等方接收被提议添加到区块链中的块。如果p2p对等节点成功验证了pow,则可以将提议的块添加到区块链中。在一些情况下,矿工还可以接收以数字货币(例如,以太币)形式的奖励。
98.如之前所暗指的,加密货币挖矿被设计成考虑恶意方和假的pow。错误地或恶意地添加的交易不会被网络中的其它矿工验证,并且将不会在区块链中持久存在。此外,以太坊网络会惩罚恶意行为。具体地,与行为不端的矿工相关联的节点或ip地址可能会遭受不期望的后果,如被禁网或被暂时踢出网络。
99.例如,如图1d所示,解(头部/随机数组合)只能被使用一次。如果重复相同的解(例如,在回放型攻击中),则p2p节点将拒绝新的解。由于dag由以太坊矿工中的所有以太坊矿工共享,并且dag在30,000个块处重新生成,因此以太坊挖矿社区的矿工将竞相寻找30,000个独特的解。更直接地,矿工的利润率取决于其生成有效头部/随机数组合的能力以及其在其它矿工之前在输出有效块的过程中投入的计算能力的量。
100.此外,以太坊区块链的共享分类账的性质还确保了以太坊社区的对等挖矿节点中的每个对等挖矿节点都不会伪造记录。如图1e所示,当一个对等节点成功向区块链添加另一个块时,提议的区块链被提供到其它对等节点中的每个对等节点。只有当社区的大多数对等节点就提议的添加是合法的达成共识时,提议的分类账才变成共享分类账。如果对等网络未达成共识,则提议的分类账将被忽略。当共享分类账成功添加另一个块时,则矿工将停止当前块的工作并开始进行下一个块。
101.作为相关推论,区块链累积熵的事实意味着将熵添加到社区的速率是没有任何中心组织者的“合作证明”。具体地,一个计算机仅能够添加一定量的熵,但一百万个计算机一起工作会叠加性地生成熵(泊松过程(poisson process))。换言之,最大的熵池被认为是网络的有效状态(社区的共识),并且所述最大的熵池只可以由网络作为一个整体生成;所述最大的熵池不可以由单个攻击者或甚至池的子集生成。因此,度量共识或合作的能力就像校验系统的熵量一样简单。
102.更一般地,相关领域的普通技术人员将会理解,基于合作以共享公共分类账的不
受信任方的社区的加密货币(如以太坊)必须对恶意活动实施壁垒和/或惩罚恶意行为。攻击的不可行性、攻击的费用和因攻击失败而受到惩罚的可能性的组合结果为加密货币网络中的恶意行为提供了强大的抑制因素;以此方式,加密货币网络能够确保共享分类账是可以信任的,而无需信任任何单一方。
103.针对以太坊解限定效率曲线—
104.如上所述,以太坊挖矿是不容错的,因为网络范式专注于消除不受信任的对等方的社区内的恶意活动。然而,恶意故障与硬件故障之间没有技术区别;更直接地,恶意故障和硬件故障两者都会导致不正确的数据。常规观点建议,找到有效头部/随机数解的难度以及针对无效解评估的惩罚都有助于仔细且彻底的存储器搜索。因此,以太坊挖矿目前在通用计算存储器中实施;所谓的通用计算存储器利用非常高的制造公差(例如,1
×
10

18
ber)。通过使用通用计算存储器,可以确保以太坊矿工不会浪费资源生成假阳性(例如,无效解)和/或错过预定义空间中的有效解(即,假阴性)。
105.考虑一个系统,其中以太坊挖矿由相互信任的节点执行(即,没有恶意活动)。在此类情形下,错误可能归因于硬件故障而不是恶意活动,并且将不会受到惩罚。代替地,可以用各种容错技术处理硬件故障。例如,硬件系统可以使用如自监测、分析和报告技术(smart)等容错技术。另外,可以在超出正常操作参数的条件下使用存储器(例如,超频以加快搜索)和/或可以以低得多的成本使用不可靠的存储器。
106.从概念上讲,使用容错系统执行工作量证明(pow)搜索可能似乎比传统的通用计算存储器替代方案更具优势。然而,可接受的容错量可以被表征以确保益处大于由假阳性和/或错过的解引起的可能的低效率。
107.表示作为纠正的比特误码率(ber)的函数的解误码率(ser)(也称为“假阳性”)的广义数学表达式通过以下给出:
108.等式1:ser=1

(1

ber)
m
109.其中:
110.ber为存储器的比特误码率(在ecc纠正之后);并且
111.m为解的大小(按比特计)。
112.图2a使用针对以太坊为ethash建模的参数(例如,m=64*128b(8kb解))用曲线图表示了作为存储器的纠正的ber的函数的示范性ser。
113.而且,一些有效解由于ber而损失。然而,解损失率(slr)(“假阴性”)仅在找到有效解时发生,但误差会阻止其正确标识。极少数情况下,一些会导致无效解的误差也可能实现“幸运的”结果并且是有效的。换言之,假阴性是以下的组合:(i)无误差条件(1

ber)
m
和(ii)导致解密度函数(sdf)被意外损坏的幸运误差(1

(1

ber)
m
)。因此,表示作为纠正的比特误码率(ber)的函数的解损失率(slr)的广义数学表达式通过上述两种情形(i)和(ii)的组合给出:
114.等式2:slr=1

((1

ber)
m
+sfd*(1

(1

ber)
m
))
115.其中:
116.ber为存储器的比特误码率(在ecc纠正之后);
117.m为解的大小(按比特计);并且
118.sfd为解密度函数。
119.图2b使用针对以太坊为ethash建模的参数(例如,对于m=64*128b(8kb解)和sfd=1/1515456000)用曲线图表示了作为存储器的纠正的ber的函数的示范性slr。此处,sfd表示有效解与用于ethash的总搜索空间的“困难度”比率。
120.系统效率可以被确定为假阳性和假阴性的函数;系统效率提供对现有技术系统(其被假定为具有100%的效率(1))的相对度量。本文提供了基于上述两个等式eqn 1和eqn 2的广义数学表达式:
121.等式3:系统效率=((1

ber)
m
+sfd*(1

(1

ber)
m
))
‑1122.其中:
123.ber为存储器的比特误码率(在ecc纠正之后);
124.m为解的大小(按比特计);并且
125.sfd为解密度函数。
126.图2c用曲线图表示了基于ethash参数的作为存储器的纠正的ber的函数的示范性系统效率。如其中所示,甚至误码率非常高的存储器也可以提供几乎与在非常广泛的ber性能范围内的通用计算存储器一样高效的ethash工作量证明(pow)。更直接地,图2c证明了容错技术可以成功地用于以太坊挖矿。
127.相关领域的普通技术人员将会容易理解,尽管图2c的效率曲线示出了作为纠正的ber性能的函数的示范性以太坊pow系统效率曲线,但以太坊pow挖矿应用在本质上仅是示范性的。可以以相同的方式分析任何应用以生成效率曲线。此外,“纠正的ber”分析是保守的。大多数存储器(如dram)包含内部误差纠正码(ecc)逻辑,所述ecc逻辑提供具有比dram的原始ber明显更好的性能的“纠正的ber”。上述讨论的纠正的ber是ecc之后的ber,但没有考虑可能位于存储器外部的其它误差纠正逻辑的影响。
128.示例操作1号,表征的存储器—
129.鉴于图2c的以太坊pow挖矿的效率曲线可以做出的一个推论是,解密度非常“稀疏”。如本发明上下文中所使用的,术语“稀疏”是指解非常稀疏的解空间。换言之,大量已尝试的头部/随机数组合不是有效解;事实上,ethash算法的稀疏性是工作量证明算法的有意特性。更直接地,如以上具体所述,有效解被误算并由于运气而通过的概率是无关紧要的。然而,在相关推论中,无效解被误算并且据信为有效(即假阳性)的概率可能更常见,但是对于抵消其它考虑因素(如成本或速度)则非常罕见。
130.更直接地,常规观点认为,利用不可靠的存储器进行挖矿是不期望的,因为将很可能导致广播无效的pow解,由此浪费资源(例如,时间和电力)并且可能被禁网。然而,上述分析表明,某一水平的无效pow是可容忍的,并且在一些情况下甚至是优选的。
131.图3展示了根据本公开的第一存储器架构的一个示范性实施例。如图3所示,所述示范性设备被配置成以不拒绝无效解的方式通过前面提到的ethash算法来搜索工作量证明(pow)。所述系统包含“表征的”存储器330和处理器320。与以前相同,表征的存储器330存储ethash特定的有向非循环图(dag)。
132.在本发明上下文中,术语“表征的”用于描述已被验证(经验测试或其它方式)在一系列条件下至少提供特定性能水平的存储器装置。通常,通用计算存储器仅“指定”用于标准化条件下的通过工厂运行的通过/失败存储器测试得到的标识的性能;除了通过/失败测试之外,测试通用计算存储器没有商业价值。相比之下,表征的存储器可以包含来自实验存
储器运行的存储器、翻新的存储器、故障存储器或经历一套更全面的测试以在一系列操作条件下评估性能的其它应用。
133.例如,关于pow解,100个尝试的头部/随机数组合中的99个利用表征的存储器可以是有效。低端存储器(例如,相对于更高级别的装置,标称额定或指定用于较低性能的存储器装置)可以以更高的速度超频以生成足够的pow。可以使用更高的电压使存储器超频,以实现可接受的误码率。此外,由于存储器pow可以容忍比正常计算高得多的误差率,因此所述存储器可以在正常电压下进行超频(从而导致更长的超频寿命)。
134.换言之,使用与本公开一致的表征的存储器进行挖矿将有意地权衡误差以获得其它益处,例如改进的性能、降低的成本、改进的存储器寿命。例如,如果3%的结果无效,但生成结果的速度提高了25%,则系统的整体加速度为约21.25%(例如,速度提高125%乘以97%的准确度)。在如加密货币挖矿等“竞赛”场景中,整体提升甚至可能更大(即,只有定位到解的第一位矿工会被奖励,第二位矿工即使最终定位到相同的解也会失败)。
135.返回参考图3,以其表征的速率使用表征的存储器,来实现对于其操作是可接受的性能。例如,在图2c的ethash pow系统效率曲线的上下文中,1
×
10
‑5ber提供大约90%的系统效率。因此,表征的存储器330可以以实现90%的系统效率的速率(例如,针对1
×
10
‑5ber表征的速率)来进行时钟控制。
136.在一个此类实施例中,典型的通用计算存储器“指定”用于标准化条件下的标识的性能;然而,在随后的测试中可以进一步表征相同的存储器,以提供例如以更高速度降低性能。一旦被充分表征,在以更高的速率运行以实现高得多的带宽时,通用计算存储器可以用作表征的存储器。例如,考虑一个gddr dram,其被表征为以第一gb/s速率提供1
×
10

18
ber,并且另外被表征为以50%超频gb/s速率提供更低的1
×
10
‑5ber。以此方式,可以以其50%的超频速率使用存储器,以实现ethash挖矿的存储器带宽的性能提升。
137.在另一个此类实施例中,表征的存储器可以是例如实验存储器、翻新的存储器、故障存储器和/或二级(或者甚至更低级别的)存储器。可以促使此类存储器装置以比通用计算存储器显著更低的成本进行ethash挖矿。例如,无法销售的实验存储器原型可能已被充分表征为可接收用于ethash挖矿。使用此类表征的存储器将有益于例如由于制造问题而具有大量可用的二级存储器的存储器制造商,否则将对所述存储器制造商的用处有限或没有用处。另一个此类情况可能是不满足商业相关的jedec存储器标准,并且因此可能以大幅折扣出售给消费者的二级存储器。因此,本公开阐述了此类二级存储器的另一种用途。类似地,否则将被丢弃的翻新的存储器可能适于ethash挖矿。
138.另外,如下文中更详细地描述的,纠正的ber与系统效率之间的数学关系可以用于反向推断存储器的纠正的ber。换言之,可以监测未被表征或自表征以来性能退化的存储器,以推断可能纠正的ber。
139.考虑到本公开的内容,相关领域的普通技术人员将容易理解,上述实例纯粹是说明性的;在确定操作的可接受性时可以考虑各种考虑因素。例如,可接受的误码率可以是基于网络施加的惩罚量;更短的临时禁令可能会导致更高的可接受ber,更长的或甚至永久的禁令可能需要远远更低的ber。
140.示例操作2号,校验表征的存储器—
141.如上述所讨论的,表征的存储器可以直接用于以太坊pow挖矿。然而,如先前所暗
指的,从表征的存储器直接向网络广播无效解可能会有不期望的后果或引发对抗措施(例如,提交者被暂时或永久禁网,或者至少浪费资源用于生成和广播不会生成任何奖励的虚假pow解)。因此,如图4所示,本公开还设想了一种用于在广播pow解之前对其进行校验的机制,使得可以使用表征的存储器,而不会有遭受不期望的后果的风险。
142.图4描绘了根据本公开的第二存储器架构的一个示范性实施例。如图4所示,存储器架构包含表征的存储器430和处理器420设备,所述设备包含校验存储器410。在操作期间,第二存储器架构根据前面提到的过程使用表征的存储器430来搜索和生成pow解;此后,校验存储器410用于校验生成的pow解。例如,处理器420可以使用表征的速率(例如,其可以被超频以获得例如1
×
10
‑5ber的可接受的应用性能)利用表征的存储器430执行哈希算法以找到pow解,并且然后以其规定速率(例如,1
×
10

18
ber)利用通用计算存储器执行pow解的一次性查找验证。
143.如先前所暗指的,ethash是不对称的,因为解很难找到,但相对容易验证。在图4的上下文中,校验存储器410可以用于以低处理器利用率和相对少量的存储器验证由表征的存储器430标识的pow。例如,经验实验表明,ethash pow挖矿大约需要12

15秒才能找到合适的头部随机数解,而校验几乎可以立即发生。
144.在一个示范性实施例中,表征的存储器430被操作为使整体搜索速度(即使以牺牲准确度为代价)最大化,而校验存储器410用于准确地验证搜索(其不需要快速完成)。可以使用各种技术使搜索速度最大化和/或使表征的存储器430的成本最小化。例如,一些变体可以使表征的存储器超频,其它变体可以去除内部存储器开销(例如,ecc、efuse、crc等),这会花费时间并且消耗存储器带宽。在另一个此类实例中,可以使非常便宜的存储器超频,以实现与远更昂贵的通用计算替代方案相当的速率。
145.类似地,可以使用多种技术来提高校验存储器410的准确度和/或降低成本。例如,校验存储器410可以使用具有良好ber的非常慢的存储器。在其它变体中,校验存储器410可以使用针对其它应用优化的存储器技术。例如,dram(其是易失性的)可以用于快速且便宜地进行pow挖矿,而闪存(其是非易失性的)可以用作低功率校验存储器。
146.另外,图4的存储器架构提供了例如更简单的存储器架构不可用的另外的协同作用。在本公开的一个示范性实施例中,校验存储器410跟踪表征的存储器430的误码率并且鉴于预期的解密度函数来监测存储器性能。例如,在以太坊pow挖矿的上下文中,校验存储器410可以确定表征的存储器430随着时间的推移的表现良好性。更直接地,如果表征的存储器的速率预期产生90%的解密度(例如,1
×
10
‑5ber),但实际解密度更接近70%,则存储器性能不佳(例如,大致相当于约5
×
10
‑5ber)。
147.在一些变体中,性能不佳的表征的存储器可以针对较低的性能重新表征。例如,通过降低时钟速率,存储器性能可以恢复到可接受的水平。在其它情况下,表征的存储器仍然可以提供足够的解密度以其退化状态下继续操作。在仍其它实施方案中,处理器420可以启动纠正行动(如更频繁的刷新,或dag条目的重写)。
148.顺便说一下,dram存储器技术将信息作为电荷存储在电容单元中;随着时间的推移,dram单元中的电荷会衰减,因此dram单元必须用合适的值周期性进行“刷新”。在一些情况下,单元可能具有“软错误”,因为电荷已经衰减到不合适的值;软错误可能是制造的产物(例如,制造公差可能会产生每个单元的略微更多或更少的电容),随着时间的推移概率性
地发生,和/或甚至可能被有意地允许累积。例如,刷新会消耗存储器带宽(刷新期间无法存取单元),从而可以减少刷新以增加存储器带宽。相比之下,出故障单元被认为是“硬错误”。硬错误的常见实例包含恒“高”或“低”的存储器胞元。类似的功能以存储器的其它形式(例如,sram、闪速等)存在。
149.在一些变体中,可以对表征的存储器430中的可纠正故障和不可纠正故障进行不同地分类。如先前所述,所谓的“可纠正”故障可以通过例如修复和/或误差纠正码(ecc)来纠正。然而,由于例如修复资源的耗尽和/或ecc能力的限制,“不可纠正”故障不能被纠正。更直接地,在正常操作期间可纠正误差的概率性累积可以通过例如存储器重写和/或更频繁的刷新间隔来补救;相比之下,不可纠正误差的累积指示应替换表征的存储器430。
150.在一些变体中,对表征的存储器430进行重写仅需要校验存储器410的逐条目副本(entry

by

entry copy)。换言之,校验存储器410具有以太坊dag的“干净”副本。dag不需要针对表征的存储器430从头开始重新生成。
151.考虑到本公开的内容,相关领域的普通技术人员将容易理解,上述实例纯粹是说明性的;可以修改前述的各种实施方案以调节各种参数,从而更积极地或更不积极地进行pow挖矿,而不会遭受不期望的后果(例如,较高的ber、较高的时钟速率和/或较低的成本组件)的风险。
152.示例操作3号,并行化的表征的存储器—
153.如上述所讨论的,ethash校验是高度不对称的,因为解很难找到,但相对容易验证。另外,ethash的随机数选择被设计成允许任何数量的矿工并行搜索解(例如,每个矿工随机选择随机数)。因此,如图5所示,本公开还设想了可以用于对表征的存储器搜索进行高度并行化的架构。
154.图5a是根据本公开的并行化存储器架构的一个示范性实施例。如图5a所示,并行化存储器架构包含至少一个校验控制器设备520,所述至少一个验证控制器设备与(i)一或多个校验存储器510和(ii)一或多个搜索处理器设备530两者进行数据通信。搜索处理器设备530可以利用多个搜索存储器(表征的存储器540)执行存储器搜索或哈希算法。在一些实施方案中,校验控制器设备520和搜索处理器设备530中的每一个可以是专用集成电路(asic)中央处理单元(cpu)、现场可编程门阵列(fpga)或图形处理单元(gpu)或又其它类型的装置中的任何一个。
155.对于利用图5a的经过校验的存储器设备的示范性操作,搜索处理器设备530中的每个搜索处理器设备都可以执行存储器搜索算法(例如,ethash)以在其对应的搜索存储器540的存储器空间内找到pow解。当找到头部/随机数解时,搜索处理器设备530将pow解转发到校验控制器设备520。校验控制器设备520然后针对校验存储器510校验pow解。如果头部/随机数组合是有效的,则可以将有效解广播到网络以供网络的对等节点进行校验。如果解是无效的,则可以忽略解或以其它方式利用,如下文进一步更详细地讨论。
156.ethash的高度不对称的性质允许高水平的并行化;单个校验控制器设备520可以校验来自大量搜索设备530、540(例如,上千或成千上万的搜索设备)的结果,因为经验校验比生成pow快约1
×
10
10
倍。例如,如图5b所示,示出图5a的示范性实施例和一组现有技术设备(如图1b中所描述)的并排比较以用于比较。如图5b所示,通用计算存储器152必须以其指定速率进行操作以实现通用计算ber(1
×
10

18
);相比之下,可以根据搜索存储器540的表征
的速率使其超频(例如,50%的存储器带宽改进);可以通过校验存储器510使用其指定速率来纠正所得的较高ber(1
×
10
‑5)以实现通用计算ber(1
×
10

18
)。
157.此外,应当注意,本公开的此示范性方面(即,在广播不可靠的搜索结果之前对其进行校验)无法从现有技术中已知。尽管众所周知,网络(如以太坊网络)的对等节点校验由矿工广播的解,但现有的校验机制专注于行动者的不受信任的性质并且假设故障是恶意的。相比之下,本文描述的所公开的校验技术可以假设故障是由可能不可靠(或在正常操作范围之外操作)的表征的存储器的软/硬错误引起的。更直接地,示范性实施例的处理器520和530与信任无关。
158.此外,出于在本文其它地方解释的原因(例如,浪费资源和可能被禁网),其它解阻止使用表征的存储器;事实上,现有的实施方案假设来自通用计算存储器的结果是有效的并且在将结果广播到网络之前不需要对所述结果进行检查。换言之,如果矿工不是恶意的并且假设其存储器具有低误码率(例如,实际上为零),则提交者就没有动力在广播之前检查自己的结果。
159.在一个示范性实施例中,处理器和/或存储器中的每一个都能够在处理系统中没有其它处理器的情况下独立操作。在一个此类变体中,每个搜索处理器530都可以独立地调高或调低其存储器带宽以优化其性能。例如,基于确定一个搜索处理器530的搜索存储器可以具有更高的ber,所述搜索处理器可以调高其时钟速率以提高性能并且(达到可接受的ber)。相比之下,另一个因使用而退化的搜索存储器可能已经具有高ber;因此,其相关联的处理器不会改变其时钟速率(或者甚至可能会调低)。其它独立功能可以包含例如维护(如下文进一步详细描述的)、速度降低和/或功耗降低。
160.在其它实施例中,对于一或多种操作模式,搜索处理器530和校验处理器530可以相互依赖。例如,校验处理器可以跨整个并行化存储器设备集中地跟踪误码率和/或在适当的情况下触发ethash dag的存储器重写。
161.考虑到本公开的内容,相关领域的普通技术人员将容易理解,上述实例纯粹是说明性的;可以修改前述的各种实施方案以调节各种不同的网络拓扑结构。虽然所展示的实施例在单个操作实体的上下文中呈现,但在以其它方式(或完全没有必要)建立信任的情况下,其它分布式实施方案可能是合适的。例如,集体建立信任的用户社区可以进行ethash挖矿。在其它情况下,用户社区可能不关心其矿工是恶意的(并提交许多无效的头部/随机数解)。
162.用于搜索表征的存储器的方法—
163.图6是用于搜索表征的存储器的一种通用方法600的逻辑流程图。在一个示范性实施例中,表征的存储器与具有预期的解密度的应用一起使用。
164.在方法600的步骤602处,表征存储器装置。在一个示范性实施例中,存储器装置表征包含在一系列条件和/或操作参数内确定一或多个实际或预测性能水平。常见的性能指标包含但不限于:比特误码率(ber)、带宽、可纠正/不可纠正故障率、数据速率、等待时间、吞吐量和/或用于表征由存储器生成的数据的任何数量的其它方法。常见条件和/或操作参数包含但不限于:刷新率、时钟速率、周期时间、电压、温度、湿度和/或任何其它可以针对存储器操作进行调节的因素。
165.虽然本文提供的讨论中的许多讨论涉及存储器读取,但是本文公开的技术可以同
样成功地应用于任何存储器带宽、使用或存取操作。例如,大量的存储器读取、写入、熔断、存储器内置处理器操作和/或其任何组合或混合都可以被同样成功地替代或组合。
166.在一个示范性实施例中,表征是通过例如测试流程明确执行的。例如,二级存储器装置可以被表征为通过写入测试模式并且然后以增加的更高时钟速率从存储器装置中读取测试模式在一系列时钟速率内具有比特误码率(ber)性能。
167.在其它实施例中,可以基于例如应用内的性能和/或历史数据来隐含地确定表征。例如,基于ethash算法的预期的解密度,可以推断利用ethash算法生成约90%有效解的存储器具有大约1
×
10
‑5ber。在一些变体中,表征可以从显式或隐式导出的性能数据的子集内插或外推。
168.在一些实施例中,表征可以基于与类似技术和性能的组件的比较来确定。例如,“老化的”存储器的模型通常由存储器制造商用于预测翻新的存储器的行为。在一些情况下,即使可能没有相同的存储器技术,计算机建模也可以预测基本上类似的技术的可能性能(例如,在不同技术节点或相同存储器类型的各代之间)。在存在类似存储器装置的代表性群体的足够的样本大小的情况下,可以使用仍其它统计学预测技术。
169.在一些实施例中,表征可以从初始估计开始并且随着时间的推移随信息动态更新。例如,实验存储器技术可以使用初始性能估计,并且随着在开发期间制作的改善和/或存储器的固件更新的磨炼,随着时间的推移逐步改善表征模型。
170.考虑到本公开的内容,普通技术人员将容易理解用于在一系列操作参数内表征存储器性能的各种其它技术。
171.在一个示范性实施例中,存储器装置可以将其表征数据提供到外部装置(如处理器、可编程逻辑或其它逻辑)。在一个实施例中,存储器装置存储标识一或多个操作参数和相关联性能的数据结构。所述数据结构可以存储在存储器装置本身内(例如,作为dram存储器阵列的一部分)或存储在单独的或非、eprom、熔丝、寄存器或其它可读媒体内。在操作期间,可以查询存储器装置的数据结构。例如,数据结构可以包含操作电压和/或时钟速率以及相关联的比特误码率(ber)性能的表。在其它实施例中,存储器装置可以与远程存储的标识存储器装置的表征的数据结构相关联。例如,所述存储器装置可以包含可以在集中式数据库内查询的独特标识符。在仍其它实施例中,所述存储器装置可以被测试并且用指示多个不同表征的标识符进行标记。在一个此类实施方案中,存储器可以用提供一级性能、二级性能等的一组操作参数来标记。用于存储和/或检索表征数据的仍其它技术可以被同样成功地使用。
172.在方法600的步骤604处,确定应用的解密度函数。
173.在一个示范性实施例中,“解密度函数”限定在解空间内找到应用的有效解的概率。例如,用于pow挖矿的解密度函数可以描述发现作为ber的函数的解的概率。在一些情况下,解密度函数可以用于确定整体系统效率,即表征的存储器性能相对于通用计算存储器性能的相对效率。更一般地,解密度函数和/或系统效率曲线可以用于为存储器约束应用选择期望输出作为一或多个存储器性能参数的函数。此外,虽然上述已经描述了二维数学关系,但实际上更复杂的数学函数可以结合例如多维度、统计学组件、方程组、非线性行为、分段建模、参数化建模、几何建模、微分分析和/或任何其它形式的数学表达式。
174.另外,虽然前面提到的实例已经在加密货币的存储器约束pow算法的上下文中进
行描述,但本文描述的各种技术可以应用于非对称存储器约束的任何应用。如在存储器困难或存储器约束的应用的上下文中所使用的,术语“非对称”通过使用大量存储器带宽(读取/写入)以生成可以用少量存储器带宽验证或使用的解来进行表征。非对称存储器约束应用的常见实例可以包含生物计量搜索(例如,通过指纹数据库进行的指纹搜索、视网膜扫描、dna记录搜索等)、环境或自然群体表征(例如,表征电信的多径衰落效应、气候预测、生物群体模拟等)、人工智能和/或机器学习应用(例如,音频或视觉图像识别、对象识别等)、概率性和/或随机性模式识别和/或任何数量的其它基于存储器的模拟和/或建模。
175.在一些实施例中,容错应用的解密度函数可以标识在容错应用出现故障之前可以容忍的误差的数量。在仍另一个实施例中,概率性或随机性应用的解密度函数可以标识本底噪声(noise floor),其中在所述本地噪声以下,所关注的信号无法与噪声区分。在仍另一个实施例中,机器学习或人工智能系统的解密度函数可以标识信息的最大稀疏性,在所述最大稀疏性以下,处理复杂性不能实现建模。类似地,容错应用的系统效率可以用于选择和/或跟踪性能;动态性能指标可以用于动态调节容错应用参数和/或推断何时需要系统维护。
176.容错应用的常见实例包含但不限于:smart系统(自我监测、分析和报告技术)、基于错误检测的系统(例如,循环冗余校验(crc)等)、纠错方案(例如,汉明和奇偶校验码等)、共识系统(例如,多数投票方案、区块链等)。更一般地,如本文所使用的,术语“容错”和/或“错误恢复”是指在发生错误时进行标识并且纠正或去除错误来源,使得系统保持无错误的系统。
177.在一个示范性实施例中,解密度函数可以包含分析确定或数学确定的组件。例如,在前面提到的加密货币pow挖矿的上下文中,在解空间内找到有效解的可能性可以基于关于例如搜索的均匀性和概率密度的假设数学导出。其它应用可以假设非均匀搜索、变化的概率密度、随有效性/无效性变化的可能性和/或任何数量的其它因素。此外,进一步理解,解密度函数可以随时间而变化。例如,在前面提到的加密货币pow挖矿的上下文中,已发现但已被要求保护的有效解的数量可能会影响成功率。因此,一些变体可以尝试根据经验考虑将成功的结果作为时刻内的解的历史函数(例如,在所述时刻中找到第一个解的可能性可能很高,找到所述时刻的最后一个独特的(第30,000个)解的可能性可能会大大降低)。在一些情况下,此类信息可用于确定表征的存储器使用的积极性/保守性(例如,基于时刻进展调高或调低搜索速度)。
178.在其它实施例中,解密度函数可以包含根据经验确定的组件。例如,在前面提到的加密货币pow挖矿的上下文中,行为可以作为加密货币定价的函数而在历史上变化。活跃矿工的群体会显著影响要求保护独特解的速率。虽然人类行为可能难以进行数学建模,但历史数据可以提供足够充分的预测来生成解密度函数的经验模型。另外,众所周知,许多应用难以进行数学建模和/或无法建模(例如,天气、大型神经网络、大型人口模拟等);在此类应用中,历史数据可以用于确定解密度函数的经验模型,或以其它方式通知或修改基本的解密度函数。
179.在一些实施例中,解密度函数可以结合商业利益或业务模式考虑因素。加密货币投机自其出现以来就非常不稳定;在一些高点处,工作量证明的奖励可能是可观的,例如,在加密货币泡沫期间的挖矿可以假设地完全抵消例如实验存储器技术的研究和开发阶段
的成本。类似地,在价格平静期,加密货币挖矿的回报可能毫无价值或者甚至是净损失(在考虑存储器设备的替代性收入流时)。因此,解密度函数可以考虑商业回报或其它业务考虑因素。此类考虑因素的常见实例可以包含:利润/损失、费用/收入、升值/贬值、合同要求和/或任何数量的其它财务激励和/或惩罚。
180.在方法600的步骤606处,所述表征的存储器用于至少部分地基于解密度函数基于表征的速率来生成解。
181.在一个示范性实施例中,处理器设备执行搜索或哈希算法(例如,上述ethash算法)以从一或多个表征的存储器生成以太坊pow解。在一个此类变体中,所述存储器一或多个表征的存储器是二级存储器,如具有高于一级存储器所允许的ber的存储器(例如,1
×
10

18
ber)。在一个此类变体中,二级存储器最低限度必须超过最低ber阈值(例如,1
×
10
‑5ber)。在一些实施方案中,误码率可能由缺陷(例如,由制造问题、实验技术、翻新的存储器等)引起。在其它实施方案中,误码率是如通过例如使存储器超频以提高性能有意引起的。
182.在先前描述的实施方案中,解生成是基于搜索空间内的存储器读取。在替代性实施例中,解生成可以使用存储器写入。例如,一些应用可以在写入过程中使用大量存储器带宽,其中后续存取仅需要低带宽读取。更一般地,本公开的各个方面可以用于任何类型的存储器存取(读取、写入、融断、存储器内处理等)中。
183.在一个实施例中,选择表征的速率以实现存储器性能。例如,在一个此类实施方案中,选择表征的速率以实现比特误码率(ber)。其它变体可以选择表征的速率以实现期望的例如带宽、可纠正/不可纠正故障率、数据速率、等待时间、吞吐量等。在替代性实施例中,基于一或多个操作考虑因素选择表征的速率。
184.虽然在表征的速率的上下文中呈现了前述实例,但是任何操作参数或条件都可以被同样成功地替代。常见条件和/或操作参数包含但不限于:刷新率、时钟速率、周期时间、电压、温度、湿度和/或任何其它可以针对存储器操作进行调节的因素。例如,存储器搜索可以使用表征的电压来实现特定功耗。在其它实例中,存储器可以在特定的极端温度(例如,高温、寒冷和/或潮湿)下操作。例如,石油钻井应用可以在钻井现场的极端条件下收集大量数据;这些数据可以通过机器学习算法(在正常条件下)进行分析,以标识附近的石油或其它贵重材料的沉积物。其它常见应用包含空间和近空间数据收集。此外,许多所谓的基于云或雾的应用可以以分布式方式(在各种不同的操作条件下)收集数据,以用于利用容错/概率性计算进行后续的后处理或数据挖矿。
185.在一些此类实施方案中,可以动态地调节表征的参数。例如,可以调高或调低存储器搜索速度,以在比特误码率(ber)与功耗之间进行权衡。表征的参数的动态调节可以用于根据各种不同的考虑因素进行调节。在其它此类实施方案中,静态地选择表征的速率。例如,简单的数据挖矿设备可以使所有存储器超频到相同的速率并利用容错计算管理ber的差异。前述的仍其它变体可以在动态参数化与静态参数化之间进行交替,以确定最有效的操作模式。例如,使用实验存储器技术的设备可以针对一次迭代动态地调节电压(保持所有其它参数恒定),并且然后针对后续迭代动态地调节时钟速率(保持电压恒定)以确定电压和时钟速率的理想组合。
186.虽然在说明性实例中装置性能与解密度相关,但可能存在没有关系(或只是轻微关系)的情形。在一个实施例中,基于解考虑因素来选择表征的参数。例如,可以选择表征的
速率来实现特定的系统效率。在一些此类变体中,不同的解考虑因素可能进行不同地加权。例如,假阳性解决方法可以比假阴性更重或更轻地加权。
187.在相关切线中,可以存在不依赖于装置性能的应用。在此类情况下,可以基于应用考虑因素选择表征的参数。例如,当使用表征的存储器时,应用可能具有特定的处理、存储器或应当考虑的其它资源考虑因素。例如,应用可以执行均匀搜索和非均匀搜索两者;均匀搜索可以允许更宽松的刷新率和更高的时钟速率,而非均匀搜索可能需要更严格的刷新和更慢的时钟控制。
188.在一个实施例中,基于商业利益和/或业务考虑因素来选择表征的速率。如先前所述,某些商业和/或业务考虑因素可以保证更积极或更不积极的存储器使用。例如,加密货币的回报可能足够丰厚,从而以高到足以造成破坏的速率和电压来操作存储器。在其它实例中,存储器可以是非常昂贵的并且能尽可能长时间地保持功能。考虑到本公开的内容,相关领域的普通技术人员可以同样成功地替代前述的仍其它变体,前述内容纯粹是说明性的。
189.在一个示范性实施例中,使用表征的存储器群体。在一些变体中,存储器可以进行并行化(例如,使用不同的随机数、加盐(salt)、哈希或其它形式的播种)。在一些情况下,播种可以是随机化的;在一些情况下,播种可以是经过协调的。在其它变体中,可以将存储器分配到应用的不同部分(例如,不同的搜索空间)。在仍其它实施例中,多个存储器执行共同的搜索并使用大多数“投票”来提供输出。
190.在仍其它变体中,存储器可以是“条带化”的(如以raid类型的配置)。在一些条带化变体中,存储器可以包含数据的各个部分、冗余信息(奇偶性)、纠正信息(例如汉明码、crc)和/或其某种组合。
191.在一些情况下,装置群体中的不同装置可以被单独配置成以不同的操作参数和/或期望的性能运行。例如,在一些情况下,可能期望以非常高的速度运行一些装置,而以较低的ber运行其它装置。例如,不同的装置群体可以在应用的不同方面擅长;例如,可以利用许多装置高速完成在大搜索区域内的均匀搜索(例如,存储器搜索的冗余),而可以利用单个装置以较低的ber执行对子扇区的非均匀搜索(其可以更慢但必须是准确的)。
192.当在步骤606中找到解时,可以在不进行进一步检查的情况下直接提供一些实施例。在其它实施例中,应该在使用之前检查解(方法600的步骤608)。在一些变体中,如果解未能通过检查程序(以下更详细地描述),则执行另外的监测和分析过程700。
193.在一个示范性实施例中,可以利用相同的检查设备检查来自多个搜索设备的解,由此提供更分布且高效的方法。在其它实施例中,搜索设备检查其自身的解。在一个变体中,检查解比找到解花费的时间少得多;即,应用是非对称的。
194.在本发明的上下文中,术语“有效”和/或“校验”是指满足存储器装置外部要求的解,例如应用的有效性检查。例如,有效的ethash结果是有向非循环图(dag)的超过预定目标阈值的头部/随机数组合。如本文所使用的,术语“验证(verify)”和/或“验证(verification)”是指在存储器内部检查为真或准确的值(例如,既不是软错误也不是硬错误)。虽然有效性检查和验证检查通常是同义词,但并非所有应用都将有效性和验证同等对待。
195.在一个示范性实施例中,校验设备检查解对外部使用是有效的。在一个此类实施
方案中,校验设备包含一级存储器,如具有通用计算ber的存储器(例如,1
×
10

18
ber或更好的ber)。在一些实施方案中,校验过程包含检查头部/随机数解是否是独特的,并且验证dag转换导致超过目标阈值的汇总混合。如果所标识的pow解是有效的,则将其发布/广播到网络以由所述网络的对等节点进行校验。相反,如果头部/随机数解是无效的(由于缺乏独特性或错误的dag转换),则所述解将被忽略。
196.在一些实施例中,验证设备验证所标识的解是准确的存储器存取。例如,如果在以第一ber(例如,1
×
10
‑5)为特征的第一时钟速率下标识解,则验证设备可以在以更准确的ber(例如,1
×
10

18
)为特征的较低速度下重新读取存储器位置。在一些情况下,重新读取相同的存储器位置可能会适得其反,因为原始读取可能已经刷新了存储器位置(例如,读取dram位置会导致对电容单元重新充电(或放电));因此在一些情况下,可以以较低的时钟速率利用镜像数据对存储器执行重新读取。如果所标识的解被验证,则可以使用所述解。相反,如果解未被验证,则所标识的解可以被忽略或者以其纠正的形式使用。
197.在一些实施例中,检查设备可以确保返回的结果似乎是“合理的”。合理性检查是指不进行校验或验证,但仅过滤基于某种预定期望而明显不正确的值的检查。合理性检查的常见实例包含例如检查一个值在可接受值的范围内、检查所述值符合被接受的格式、检查所述值没有显著偏离历史值、检查所述值没有偏离预期的统计行为、和/或检查任何数量的其它标准。例如,某些类型的机器学习和/或人工智能应用可以包含对数据范围或结果的限制(例如,石油钻机的钻探不能超过最大值或最小值,某些dna序列不产生蛋白质等)。
198.此外,虽然前述讨论是在使用例如校验存储器检查解的上下文中呈现的,但其它检查形式可以是基于计算和/或外部信息。更一般地,用于检查解可接受使用的任何技术都可以被同样成功地替代。检查的常见实例可以包含例如误差检查(crc、汉明、奇偶性)、格式检查、认证、授权、纠错和/或重新格式化。
199.按照步骤610,可以在应用内使用所述解。
200.在一个示范性实施例中,校验设备将经过校验的解传输或广播到以太坊网络中的多个对等方以供对等矿工中的至少一些对等矿工进行校验。将每个数据子集(例如,交易块)存储在系统的节点或与其通信的节点上。一旦网络中的对等矿工努力进行处理以对块进行校验,就会将用于交易的块循环到其它节点以达成共识。当达成共识(例如,所述块有效)时,将所述块附加到数据库(例如,如区块链等分布式分类账系统)。例如,有效块可以按时间戳顺序附加到区块链。在以太坊的上下文中,一旦块被校验并添加到区块链中,提交者就可以收到工作报酬。例如,提交者可以接收数字可赎回令牌以换取对作为区块链的一部分的有效块的整合。数字令牌将是虚拟货币(例如,如以太币等数字硬币)。然而,关于其它考虑的应用,可以接收其它类型的报酬,如法定货币、优惠券、交换服务等。
201.本公开认识到,区块链“块”可以具有广泛的信息,如与金融交易、非货币交易和/或任何其它类型的数据记录相关的数据。在一些情况下,块可以包含参考信息,例如指针等。例如,指针可以包含人类可读指针、文件名、文件句柄、统一资源定位符(url)、统一资源标识符(uri)或其它类型的基于文本的地址。在一些实施方案中,指针可以是指向文档的文档对象标识符(doi),或指示对支持性证据、文档等进行索引的永久性引用的指针。例如,指针可以引用索引系统,所述索引系统可以包含指示此类文档的位置(例如,具体网络位置、虚拟/基于云的存储位置)的指针地址。在其它实施方案中,块可以包含配置文件数据,使得
可以生成配置文件并将其添加到具有经过校验的交易块的数据库中。另外,在一些实施方案中,可以对包含在交易块中的数据进行加密,特别是在数据高度敏感或私密的场景中,如具有医疗记录的场景中等。
202.在一些实施例中,可以将所述解提供到对等实体以供在应用中使用。所述对等实体可以是信任的或可以是不受信任的。在其它实施例中,可以将所述解提供到中心化实体(例如,云服务器)、分布在许多实体之间(例如,基于雾的网络)或在客户端应用中以其它方式使用。仍其它网络拓扑结构可以被同样成功地替代,前述内容纯粹是说明性的。
203.如先前提到的,本文描述的各种原理有许多预想的用途。例如,所述解可以用于例如生物计量搜索、环境或自然群体表征(例如,表征电信的多径衰落效应、气候预测、生物群体模拟等)、人工智能和/或机器学习应用(例如,音频或视觉图像识别、对象识别等)、概率性和/或随机性模式识别和/或任何数量的其它基于存储器的模拟和/或建模。
204.用于监测和分析表征的存储器性能的方法—
205.现在参考图7,呈现了用于监测和分析表征的存储器性能的一种通用方法700的逻辑流程图。表征的存储器和解密度函数的一个协同方面是,装置的剩余可用寿命和/或性能裕量可以从故障密度推断。更直接地,现有的通用计算存储器对于实际使用来说几乎是“理想的”,因此无论存储器的实际可用性如何,错误需要被替换。事实上,通用计算存储器的不切实际的高性能要求为许多现代应用留下充足的裕量。通过在操作期间监测表征的存储器的性能,可以管理硬件性能的逐渐衰减,以使可用存储器寿命最大化。
206.在一个示范性实施例中,响应于(例如,从图6的前面提到的步骤608)故障的检测而启动方法700。在其它实施例中,方法700可以作为监测过程连续运行。在仍其它实施例中,方法700可以按规则的间隔(例如,每分钟、每小时、每天、每周等一次)定期执行或由各种事件触发。例如,事件触发的监测可以基于例如惩罚事件(或惩罚事件的频率)。触发事件的其它常见实例可以包含:超过指定阈值的故障数量、超过指定阈值的故障变化率、超过指定阈值的故障累积率、历史故障累积行为(对于类似的存储器技术)、用户或业务考虑因素(例如,通过矿工查询、自动化财务业绩报告等触发)和/或任何数量的其它利益点。
207.在方法700的步骤702处,将性能与预期的解密度函数进行比较。在其它实施例中,将性能与预期的系统效率进行比较。
208.如本文其它地方所讨论的,pow算法(如ethash)是存储器密集型的,并且因此存储器退化将以概率性速率发生。不同种类的存储器具有不同的退化率。因此,在一个示范性实施例中,可以监测或跟踪存储器退化率中的每个存储器退化率。例如,退化率可以是基于累积存储器错误的速率(其将随着存储器准确度的下降而增加)。一旦存储器出现过多失效(例如,超过某个阈值),系统就可以使退化的存储器刷新。
209.在一个示范性实施例中,将运行的工作量证明(pow)效率与应由以表征的速率操作的当前表征的存储器产生的ber进行比较。例如,纠正的ber为1
×
10
‑5的表征的存储器应生成系统效率不低于90%的以太坊pow(参见上述图2c)。因此,当系统效率下降到90%以下时,表征的存储器在预期的解密度之外执行。
210.更一般地,可以使用各种不同的指标来确定需要补救的操作。例如,降低的数据率可能表明通过纠错消耗的内部带宽更高。类似地,减少的等待时间或吞吐量可能表明更长的纠错间隔和/或更低的纠错产率。考虑到本公开的内容,仍其它变体可以由普通技术人员
同样成功地替代。
211.在本发明的上下文中,术语解密度函数或系统效率“之外”是指超出可接受性能的界限(最小值或最大值)的性能。作为相关用法,术语解密度函数或系统效率“之内”是指处于可接受性能的界限内的解性能。
212.在一些实施方案中,实施了公差裕量。例如,即使表征的存储器和表征的速率的pow效率应当为90%,在85%(例如,5%的裕量)之前才能采取纠正性行动。虽然前述实例是鉴于阈值(例如,最小值或最大值)提供的,但是可以使用其它形式的比较,包含例如绝对范围、相对范围、统计分析、变化率和/或质量保证领域中常用的任何数量的其他此类分析。
213.返回参考图7,如果性能在预期的解密度函数或系统效率之内,所展示的实施例不采取行动(例如,所述过程可以返回到图6的前面提到的步骤606)。然而,在其它实施例(未示出)中,即使性能在预期的解密度函数或系统效率内,也可以执行维护或其它例程活动。例如,当解密度函数内出现故障时,可以刷新存储器和/或可以纠正一或多个条目。
214.当性能在预期的解密度函数或系统效率之外时,则故障可以另外地表征为“可纠正”故障和/或“不可纠正”故障(步骤704)。如之前提到的,“可纠正”故障可以通过例如修复和/或误差纠正码(ecc)来纠正。然而,由于例如修复资源的耗尽和/或ecc能力的限制,“不可纠正”故障不能被纠正。因此,例如一种用于确定故障是可纠正或不可纠正故障的技术是利用对应的dag区段写入存储器的一或多个扇区并返回读取所述内容;如果扇区被正确地写入,则故障是可纠正。相反,如果扇区被不正确地写入,则所述不正确的写入不可纠正故障。在其它变体中,存储器可以从服务中去除并通过传统的存储器测试方法进行测试(例如,返回读取和写入棋盘状图案、全“1”和全“0”、伪随机发生器等)。相关领域的普通技术人员将很容易理解其它用于确定存储器故障是可纠正故障还是不可纠正故障的技术。
215.如图7所示,当存储器具有过多量的故障并且所述故障(或其显著部分)可以被纠正时,则可以刷新和/或重新表征所述存储器(步骤706)。如先前所述,可以通过将存储器内容(例如,当前dag或其部分)重新写入所述存储器来执行刷新存储器。在一个示范性实施例中,存储器内容是从假定的原始副本(例如,从校验存储器)复制的。在其它实施例中,存储器内容(或其部分)可以从头开始生成(例如,在没有校验阶段存储器的情况下)。
216.在一些变体中,刷新的部分可以与其先前的内容相同。在其它变体中,存储器可以用不同的模式写入(例如,磨损级别的存储器使用)。例如,在以太坊dag的上下文中,刷新的存储器扇区可以接收dag的不同部分。在表征的存储器的整个表面之上运行以太坊dag可以进一步允许更长的使用寿命,因为随着时间的推移,每个单元被概率性地分配不同的值。
217.此外,在一些故障无法纠正的情况下或在可以通过调节其它操作参数(例如,时钟速率、电压等)来提高性能的情况下,可以重新表征存储器。例如,只需要以1
×
10
‑5ber操作的存储器可以被重新表征成以更慢的时钟速率、更高的电压等运行。通过使用较不积极的操作参数,可以提高存储器的性能和/或可以延长使用寿命。
218.此外,相关领域的普通技术人员将容易理解,大量的硬错误只会降低软错误的可接受裕量。作为相关推论,因为软错误的裕量随着硬错误的累积而减少,所以可以在存储器的整个使用寿命期间准确地管理存储器退化。换言之,存储器的刷新频率将随着存储器的退化而增加。当刷新和/或重新表征存储器的成本接近(或超过)保持存储器处于服务中的益处时,则可以使存储器永远地解除服务。
219.例如,假设存储器以1
×
10
‑5ber(90%的效率)运行。可以积极地设置存储器的操作参数,直到存储器的效率下降到85%以下(这表明存储器的性能正沿图2c的曲线下滑)。在所述点处,存储器可以针对较不积极的时钟速率和/或电压进行重新表征(返回到90%的效率)。
220.在方法700的步骤708处,当存储器具有过多量的故障并且所述故障(或其很大部分)无法纠正时,则应当替换所述存储器。
221.尽管前述讨论是在dram存储器技术的上下文中呈现的,但是考虑到本公开的内容,相关领域的普通技术人员将容易理解其它存储器技术可以被同样成功地替代。例如,闪存是不进行“刷新”的非易失性存储器,但是闪存指定一组扇区来替换损坏的单元;可以“熔进”替换单元。当熔丝中的所有熔丝都耗尽时,闪存的使用寿命结束。类似的技术可以在如feram和/或3d存储器等其它存储器技术中使用。
222.搜索设备—
223.图8展示了根据本公开配置的示范性设备800。如所示出的,示范性设备800尤其包含一或多个搜索处理器设备或子系统802以及存储被配置成实施搜索的指令的对应的非暂时性计算机可读媒体804。另外,示范性设备800尤其可以包含一或多个校验和/或验证处理器设备或子系统806以及存储被配置成校验和/或验证搜索结果的指令的对应的非暂时性计算机可读媒体808。
224.在一个示范性实施例中,示范性设备800包含一或多个前端网络接口814,以与网络实体(例如,其它矿工)进行通信。在一个此类变体中,网络接口814是有线网络接口。在另一个此类变体中,网络接口814包含尤其具有天线和一或多个rf调谐器的射频(rf)装置。
225.所述一或多个rf天线被配置成在与校验设备相关联的服务区或场所中检测以及发射和接收来自无线接入技术(rat)的信号。例如,lte(包含例如lte、lte

a、lte

u、lte

laa)信号可以用作校验设备(806,808)与各种其它装置(例如,其它矿工)之间通信的基础。所述一或多个天线可以包含以例如mimo类型或miso类型配置的多个空间分集的独立元件,使得可以利用所发射和/或所接收信号的空间分集。
226.在一个此类实施方案中,一或多个无线电接口包含一或多个符合3gpp的基于lte的无线电。还可以在示范性设备800内使用另外的未经许可、经许可或准许可的空中接口,包含例如wi

fi、非cbrs频带lte、5g nr或其它。此外,lte无线电功能可以扩展到初期的基于3gpp的5g nr协议;例如,在lte部署成熟时以及当支持5g nr的听筒出现时,考虑到本公开的内容,本领域的普通技术人员完成此类调整。
227.顺便说一下,ng

ran或“nextgen ran(无线电区域网络)”是3gpp“5g”下一代无线电系统的一部分。3gpp目前指定第15版ng

ran、其组件以及相关节点间的交互,所述相关节点包含所谓的“gnb”(下一代节点b或enb)。ng

ran将提供非常高的带宽、非常低的等待时间(例如,发送通信和接收响应的“往返”时间大约为1毫秒或更少)的无线通信并根据应用在广泛的部署场景中高效利用上述类型的经许可的频谱和未经许可的频谱两者,所述部署场景包含室内“点”使用、城市“宏”(大型小区)覆盖、农村覆盖、车辆上使用以及“智能”电网和结构。ng

ran还将与4g/4.5g系统和基础设施集成在一起,并且此外使用新的lte实体(例如,支持到epc(演进分组核心)和nr“ngc”(下一代核心)两者的连接的“演进型”lte enb或“elte enb”)。
228.顺便说一下,本文描述的存储器约束技术在无线应用的上下文(和其它处理器和/或功率受限环境)中尤其具有协同作用。“处理器困难”和“处理器约束”算法固有地需要充足的处理周期(和能力)。遗憾的是,无线装置通常分时使用通信协议栈和应用的处理能力。此外,大多数无线装置依靠电池电力运行,这对功耗有非常严格的限制。相比之下,存储器困难算法可以以相对小的计算复杂度和可能较低的能力来执行。
229.初期无线技术随着每次迭代(例如,3g、4g和5g)而扩展,以覆盖愈加广泛的装置生态系统;现代无线技术将从商品类型的调制解调器(例如,物联网(iot)中)跨越到高端调制解调器。另外,许多正在讨论的预期用例(例如5g)是基于由许多商品类型的调制解调器通常在嘈杂、不受信任、容易受到恶意攻击的情况下对数据的被动收集。区块链算法恰是为这些不受信任的场景设计的。因此,本文描述的存储器困难区块链解将实现各种初期的和未来的无线应用。
230.在一个示范性实施例中,处理器802和/或806可以包含以下中的一或多个:数字信号处理器、微处理器、现场可编程门阵列或安装在一或多个基板上的多个处理组件。处理器802和/或806还可以包含内部高速缓冲存储器并且与存储器子系统804和/或808通信,所述存储器子系统可以包含例如sram、dram、闪速和/或sdram组件。所述存储器子系统可以实施dma类型的硬件中的一或多种dma类型的硬件,以促进本领域公知的数据存取。
231.在一个实施例中,搜索存储器810被表征为在一系列操作参数内提供一系列性能。在一些实施例中,搜索存储器可以是具有缺陷(归因于制造或翻新)的二级(或甚至更低级别的)存储器。在其它实施例中,搜索存储器可以是针对一系列操作参数表征的一级存储器。在一些变体中,搜索存储器可以超频和/或在更高电压下操作以提高性能。
232.另外,应当注意,尽管图8的示范性设备示出了包含搜索设备(802,804)和校验和/或验证设备(806,808)两者的单个统一结构800,但本公开的其它实施例可以进一步在彼此进行数据通信的多个装置内分离此类实体。
233.在一些实施例中,校验处理器806利用存储器808或其它存储设备来临时保留多个数据报告或文件,以监测和分析搜索设备(802,804)的性能。存储的数据可以涉及例如对分析性能有用的性能指标(例如,误码率、效率等),并且在一个示范性实施例中,向搜索处理器802中的各个搜索处理器发出维护命令以引起例如系统刷新和/或触发替换。
234.在一个示范性实施例中,处理器(802,806)可以与显示器(未示出)进行数据通信。例如,触摸屏显示器可以用于发送和接收用户输入。用户输入的常见实例可以包含例如操作参数变更、替换通知、热插拔通知、解生成参数、解通知、监测和/或其它分析。在此类实施例中,显示器可以包含触摸屏和触摸屏控制器。可以包含,可以通过嵌入式控制器耦接到通信集线器的其它用户接口,如键盘和鼠标。
235.在一些实施方案中,示范性设备800可以配置有专用代理、适配器、打包器、解密器/加密器或被配置成处理块的数据,使得数据适于根据具体格式(如果期望的话)呈现或查看的其它组件。例如,如有需要,则校验设备可以使用本地适配器将块的数据从其格式转换为可由另一个矿工消耗(或可由人类观察员查看)的呈现格式(例如,html5、闪速等)。
236.前述的各个实施方案可以结合于2019年1月8日提交的并且题为“用于基于例程的雾联网的方法和设备”的共同拥有且共同未决的上述并入的美国专利申请序列号16/242,960中描述的方法和设备一起使用。如其中所述,可以为多个装置分配建立雾网络的例程规
则和/或例程触发条件。存储器困难应用可以用于通过基于分类账的控制平面操作来生成、保护和/或记录此类交易;这些变体不需要中心网络管理。因此,表征的存储器操作可以用于极大地加速和/或减少其中描述的此类系统的费用。
237.前述的仍其它实施方案可以结合于2018年12月5日提交的并且题为“用于激励参与雾网络的方法和设备”的共同拥有且共同未决的上述并入的美国专利申请序列号16/211,029号中描述的方法和设备一起使用。如其中所述,雾网络的装置可以提供例如计算、存储和/或网络资源以换取可互换令牌。用户贡献被记录在例如存储器困难区块链数据结构中,从而使用户能够在后来的时间因其对网络的资源贡献而得到报酬。其中描述的一些变体还可以使用由对等装置执行的非对称存储器困难工作验证和/或校验。本文描述的表征的存储器操作可以与其进行协同组合。
238.存储器搜索的替代性应用—
239.如以上所解释的,校验来自用于对加密货币进行基于pow的挖矿(例如,以太坊)的不可靠存储器的结果只是本公开考虑的一种示范性应用。下文描述的各种技术可以适于一系列应用。
240.示范性区块链操作—
241.虽然前述讨论涉及区块链在加密货币中的使用,但是考虑到本公开,相关领域的普通技术人员将容易理解,基于区块链的数据结构在许多不受信任的对等装置信任常见的共享交易分类账的任何场景中都可以是有用的。更直接地,(例如,以低成本或免费)通过提供可以在广泛的表征的存储器装置中实施的存储器困难pow技术,本文描述的各种技术可以实现受信任的装置到装置的交易的全新生态系统。例如,以上描述的区块链技术可以很容易地用于任何基于雾的无线网络(例如,在网络边缘处的许多装置在没有受益于集中式网络实体的情况下直接相互通信的情况下)或其它“网状”类型的网络中。
242.在一个示范性实施例中,雾联网或物联网(iot)可以与本文描述的校验/搜索系统一起使用。例如,本文描述的校验和搜索设备/存储器可以包含基于雾或基于云的装置。受信任的本地化数据交易可以实现与附近装置的通信,实现密集的地理分布(例如,而不是通过中央通信集线器限制通信),并且允许本地资源池化(与基于区块链的交易共享存储器和处理资源)。此外,基于边缘的通信可以减少等待时间和对网络回程带宽的依赖,以实现更好的服务品质(qos)和/或边缘分析/流挖矿。前述特性直接改善了用户体验并且还可以在失效的情况下间接地提供冗余。
243.例如,装置不是从中央内容数据库下载媒体文件(例如,tv节目、流行歌曲等),而是可以从附近已经下载所述媒体文件的对等装置直接获得所述媒体文件。直接交易可以利用非对称密钥加密进行加密,并且整个交易可以在区块链中捕获。所述区块链稍后可以由所述中央内容数据库审查,以适当地对数字版权管理(drm)技术进行收费和/或实施所述技术。
244.考虑到本公开的内容,相关领域的普通技术人员将容易理解,上述实例纯粹是说明性的;本文描述的各种技术可以广泛适用于存储器困难区块链数据结构的任何应用中。
245.示范性社交媒体网络操作—
246.如以上所述,区块链数据结构的潜在应用可能非常广泛。一个此类应用是社交网络,其中本公开的设备/系统的计算能力和/或存储器可以用于将用户的数据存储在可以信
任、加密和广泛散布的区块链存储库中。
247.在一个示范性实施例中,基于区块链数据结构的社交媒体网络可以由多方以开放式分类账类型的格式散布和保留,以换取例如加密货币或其它报酬。与为了盈利而出售用户数据的集中式社交网络平台不同,分布式社交媒体网络可以是以隐私为重点的,使得为用户提供如何对其数据进行使用、挖矿和/或出售的控制。此外,用户可以具有选择加入或选择退出如何收集数据的能力。
248.与广告或数据出售方案相比,本公开考虑用户赚取和消费加密货币或其它金融工具(其对于社交媒体网络而言可能是独特的)。在一些变体中,用户可以通过观看有针对性的广告、光顾商家和/或“品味制造(taste making)”来赚钱。在一些变体中,用户可以购买和/或出售货物和/或支付服务(无论交易是用户对用户、用户对商家、商家对商家或商家对用户还是基于慈善)。此类社交网络可以利用存储器困难数据库并为例如出版商(例如,记者)和内容创造者提供流畅的虚拟化交易。
249.此外,在一些实施例中,使用本公开的系统挖掘的数字货币可以用于运行/资助的社交媒体网络以及用于通过社交媒体网络进行的交易。此类加密货币甚至可以专门为社交媒体网络产生,并且可以是所述社交媒体网络独有的。
250.考虑到本公开的内容,相关领域的普通技术人员将容易理解,上述实例纯粹是说明性的;本文描述的各种技术可以广泛适用于分散用户控制的社交网络的任何应用中。
251.示范性概率性计算或机器学习操作—
252.相关领域的普通技术人员将容易理解,数据结构中的存储器搜索在任何容错或以其它方式解释错误的场景中都可以是有用的。当越来越多的数据被收集以进一步使任务自动化时,此数据中的大部分可能包含噪声。容错技术常用于概率性计算或机器学习应用中。更直接地,概率性计算或机器学习期望并且被设计成容忍噪声数据。
253.考虑基于各种使用考虑因素(例如,汽车、自行车和行人的流量、一天中的时间、一周中的一天等)动态调节交通流量的机器学习交通灯的示范性场景。在此类场景下,所述交通灯可能具有相关联的解密度函数,所述解密度函数根据使用情况(例如,汽车、自行车和/或行人的数量)使效率(例如,等待时间)最大化。所述机器学习交通灯可以从多个传感器收集与前面提到的考虑因素相关的数据(例如,人行横道的使用、压力板传感器等)。由于传感器的便宜的性质以及不定的人类行为,数据捕获还可能会捕获噪声(例如,错误地将自行车标识为汽车或将行人标识为自行车等)。
254.在操作期间,机器学习交通灯可以推断使用模式并动态地调节在很长一段时间内收集的与汽车、骑车者和行人相关联的数据和/或噪声的差异。历史模式可以用于在概率范围内的某一时刻(例如,给定的一天和给定的时间)估计特定十字路口处的骑车者的某一数量。另外,然而可以标识和忽略或以其它方式调节不定或噪声数据。例如,当预期在一个下午有500名骑车者要穿过特定十字路口并且通过第一检测器粗略地测量所述数量的骑车者时。报告有7000名(在同一间隔期间)的第二检测器可以被标记为不准确。更一般地,由于交通使用是通过解密度函数进行优化的,因此显著偏离预期的解密度函数的数据可以被标记以及忽略/补救。
255.考虑到本公开的内容,相关领域的普通技术人员将容易理解,上述实例纯粹是说明性的;本文描述的各种技术可以广泛适用于概率性和/或机器学习计算的任何应用中。
256.无效解的其它示范性用途—
257.在先前的讨论中,有效的pow解被广播到网络中,而无效解被忽略。如以上所述,无效解将会被不受信任的对等矿工理解为例如失败的恶意尝试。然而,在相互信任的矿工的社区中,即使没有找到有效解,无效的pow解也可以用于证明实际工作正在被执行(例如,正在执行挖矿)。更直接地,“相近差错”的价值可能仍显著低于有效解的价值但可以具有某种价值,而不是什么都没有。更直接地,“相近差错”解仍然是已完成的实际工作的证据;但是,因为所述解无法由外部方校验,所以所述解在受信的上下文之外是不可互换的。
258.考虑示范性场景,其中公司a聘请公司b在x时间段(例如,时刻)内挖掘解,并且所述任务的预期结果是应当在所述x时间段内在某个预定义的存储器空间内找到y个(例如,20个)有效解。如先前所述,挖矿是一个概率性过程,并且公司b可能仅找到合同约定的有效解的一半。在此类条件下,公司a可以假定公司b仅完成了一半的合同约定的工作或仅工作了一半的合同约定的时间,除非公司b可以证明其它情况。
259.证明实际工作已被执行的一种方法是公司b向公司a提供“相近差错”。随机生成的随机数字和字母的字符串(代表哈希函数)无法被验证并且很容易被揭穿,然而,相近差错可以被验证(即使其无法被校验)。另外,“相近差错”的密度函数可以用于确定实际完成的工作以及相近差错与有效解的“交换率”。顺便说一下,概率领域的普通技术人员将认识到,当存在很大的方差时,解的密度函数很低(即,很难找到解)。“相近差错”可能具有比有效解的密度函数方差大十倍或一百倍的密度函数方差(更容易找到相近差错),但是大于零(即,好于无信任)。
260.在前面提到的场景中,公司b可以表明其没有违反对公司a的任何合同义务并且秉诚行事。因此,公司a可以针对找到的pow解向公司b提供合同报酬,并且可能是针对其在合同期间表现出诚信工作的努力而提供的按比例分配的报酬。更直接地,使用相近差错作为次要形式的pow的能力降低了概率性活动的合同不确定性,由此改善了条款的协商。
261.考虑到本公开的内容,相关领域的普通技术人员将容易理解,上述实例纯粹是说明性的;本文描述的各种技术可以广泛适用于证明存储器困难工作和/或证明以合同的方式指定存储器困难工作义务的商业模型的任何应用中。
262.应当认识到,虽然按照方法步骤的具体顺序描述了本公开的某些方面,但是这些描述仅说明本公开的更广泛的方法并且可以根据特定应用的要求进行修改。在某些情况下,某些步骤可能变得不必要或是任选的。另外,可以将某些步骤或功能添加到所公开的实施例中,或者对两个或两个以上步骤的性能顺序进行排列。所有此类变化都被认为涵盖在本文所公开的和所要求保护的公开内容内。
263.虽然上文详述的描述已经示出、描述和指出本公开的应用于各个实施例的新颖特征,但是应当理解,在不脱离本公开的情况下,本领域的技术人员可以对所展示的装置或过程的形式和细节进行各种省略、替换和改变。此描述决不旨在是限制性的,而是应当被视为对本公开的一般原理的说明。本公开的范围应参考权利要求进行确定。
264.应进一步理解,虽然本文描述的各种方法和设备的某些步骤和方面可以由人来执行,但是所公开的方面以及单独的方法和设备通常是计算机化的/计算机实施的。出于任何原因,包含但不限于商业上的可行性、实用性并且甚至是可行性(即,人类根本无法以任何可行的方式执行某些步骤/过程),计算机化设备和方法是充分实施这些方面所必需的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1