非易失性存储存储器中的处理器制造技术

技术编号:18428024 阅读:24 留言:0更新日期:2018-07-12 02:23
在一个示例性设备中,包括:被划分为多个可选择的位置的非易失性存储器,其中可选择的位置被分组成多个数据线;耦合到非易失性存储器的一个或多个处理单元(PU),PU中的每一个与多个数据线中的数据线相关联,一个或多个处理单元包括一个或多个可重新配置的PU,一个或多个PU被配置为:基于一个或多个指令集,操纵相关联的数据线中的数据以生成被保留以存储操纵的结果的相关联的数据线的可选择的位置中的结果,确定指令集中的哪些指令集是被一个或多个PU最频繁用来操纵数据;以及将一个或多个可重新配置的PU配置为使用所确定的最频繁使用的指令集来操纵数据。

【技术实现步骤摘要】
非易失性存储存储器中的处理器
技术介绍
在消费者、工业、军事和航空领域中的所有现有设备中使用的存储器设备可以由非易失性存储器或易失性存储器构成。非易失性存储器和易失性存储器之间的主要区别在于非易失性存储器能够在不需要持久性电源的情况下保留数据。典型地,数据可以从非易失性存储器被读取、传递和暂时存储在易失性存储器中,随后使用处理单元进行操作,并将结果存储回非易失性存储器中。通常,可能期望增加上述操作的总体速度。然而,将数据从非易失性存储器传递到易失性存储器用于数据操作可能受到硬件带宽的速度的限制(例如,冯诺依曼瓶颈(VonNeumannbottleneck)),其中例如指令获取和数据操作不能在共享存储器总线上同时发生)。因此,不断需要一个新的处理单元和存储器架构来克服这个限制。
技术实现思路
在一个示例中,计算系统包括设备,该设备包括:被划分为多个可选择的位置的非易失性存储器,非易失性存储器中的每个比特被配置为具有被独立地编程和擦除的对应的数据,其中可选择的位置被分组成多个数据线;一个或多个处理单元,其耦合到非易失性存储器,该处理单元中的每一个与多个数据线中的数据线相关联,一个或多个处理单元包括一个或多个可重新配置的处理单元,该一个或多个可重新配置的处理单元被配置为:基于一个或多个指令集,操纵该多个数据线中的相关联的数据线中的数据以生成结果,该结果被存储在被保留以存储操纵的结果的相关联的数据线的可选择的位置中;确定指令集中的哪些指令集被一个或多个处理单元最频繁用来操纵数据;以及将一个或多个可重新配置的处理单元重新配置为使用所确定的最频繁使用的指令集来操纵数据。在另一示例中,一种方法包括:由耦合到非易失性存储器的一个或多个处理单元并基于一个或多个指令集和多个数据线中的相关联的数据线中的数据来计算对应的结果,其中该非易失性存储器被划分为多个可选择的位置,该可选择的位置被分组成多个数据线,其中非易失性存储器中的每个比特被配置为具有被独立地编程和擦除的对应的数据,其中处理单元中的每一个处理单元与多个数据线中的数据线相关联,并且其中该一个或多个处理单元包括一个或多个可重新配置的处理单元;基于对应的结果,选择性地改变被保留以存储对应的结果的相关联的数据线的选择的位置中的数据;维护队列,该队列包括对于相应的指令集的、指示相应的指令集被用于计算结果的相对频率的相应的使用值;从具有最高的相应的使用值的队列中选择一组指令集作为用于重新配置一个或多个可重新配置的处理单元的最频繁使用的指令集;以及将一个或多个可重新配置的处理单元重新配置为使用所选择的一组指令集来计算结果。在另一示例中,一种设备包括:用于基于一个或多个指令集以及非易失性存储器的多个数据线的相关联的数据线中的数据来计算对应的结果的装置,该非易失性存储器被划分为多个可选择的位置,该可选择的位置被分组成多个数据线,其中非易失性存储器中的每个比特被配置为具有被独立地编程和擦除的对应的数据,并且其中该用于计算的装置包括一个或多个可重新配置的处理单元;用于基于对应的结果、选择性地改变被保留以存储对应的结果的相关联的数据线的选择的位置中的数据的装置;用于维护队列的装置,该队列包括对于相应的指令集的、指示相应的指令集被用于计算结果的相对频率的相应的使用值;用于从具有最高的相应的使用值的队列中选择一组指令集作为用于重新配置一个或多个可重新配置的处理单元的最频繁使用的指令集的装置;以及用于将一个或多个可重新配置的处理单元重新配置为使用所选择的一组指令集来计算结果的装置。本公开中描述的技术的一个或多个示例的细节在附图和下面的描述中阐述。这些技术的其它特征对象和优点将从说明书和附图以及权利要求书中变得显而易见。附图说明图1是示出根据本公开的一个或多个技术的包括多个在非易失性存储存储器中的处理器(PiNVSM)设备的示例性的系统的概念和示意性框图。图2是示出根据本公开的一个或多个技术的示例性的数据处理单元(DataProcessingUnit,DPU)的进一步细节的框图。图3是示出根据本公开的一个或多个技术的示例性的数据处理单元(DPU)的进一步细节的框图。图4是示出根据本公开的一个或多个技术的PiNVSM设备的示例性的存储空间的概念图。图5是示出根据本公开的一个或多个技术的可以被包括在PiNVSM设备中的示例性的数据线的概念图。图6是示出根据本公开的一个或多个技术的可以被包括在PiNVSM设备中的示例性的代码线的概念图。图7是示出根据本公开的一个或多个技术的被包括PiNVSM设备中的数据线的示例性的布置的概念图。图8是示出根据本公开的一个或多个技术的与PiNVSM设备的数据线一起的示例性的代码线的概念图。图9是示出根据本公开的一个或多个技术的与PiNVSM设备的数据线一起的示例性的代码线的概念图。图10是示出根据本公开的一个或多个技术的可以使用命令偏移(shift)方案来执行的示例性的代码线的概念图。图11是示出根据本公开的一个或多个技术的包括跳转(jump)的示例性的代码线的概念图。图12是示出根据本公开的一个或多个技术的非易失性存储装置设备的优化的数据线的概念图。图13是示出根据本公开的一个或多个技术的非易失性存储装置设备的示例存储空间的概念图。图14是示出根据本公开的一个或多个技术的可以由管理单元维护的示例性的队列的概念图。图15是示出根据本公开的一个或多个技术在非易失性存储设备中维护指令集使用频率的队列的示例性的技术的流程图。图16是示出根据本公开的一个或多个技术的DPU中的队列维护的概念图。图17是示出根据本公开的一个或多个技术的非易失性存储设备的数据线的优化的概念图。图18是示出根据本公开的一个或多个技术的由PiNVSM设备存储的数据类型的概念图。图19是示出根据本公开的一个或多个技术的操纵PiNVSM设备中的数据的示例性的技术的流程图。图20是示出根据本公开的一个或多个技术的操纵PiNVSM设备中的数据的示例性的技术的流程图。具体实施方式根据本公开的一个或多个技术,提出了一种计算机架构,其中处理单元包括持久性数据存储装置并且可以就地处理数据。例如,芯片上的在非易失性存储存储器设备中的处理器(processorinnon-volatilestoragememory,PiNVSM)可以能够持久性地存储大量数据,并就地处理该持久性地存储的数据。由于一个或多个处理单元和NVSM都被包括在相同的芯片上,所以可以减小一个或多个处理单元可以访问由NVSM存储的数据的速率(即,延迟)。为了说明的目的,PiNVSM设备可以是单个半导体芯片,并且可以包括连接到非易失性存储器的相关联的存储器子阵列的数据处理单元。PiNVSM系统可以包括经由各种通信总线或信道(有线或无线)以各种配置彼此连接的多个PiNVSM设备。以这种方式,PiNVSM设备可以避免诸如冯诺依曼瓶颈的存储器带宽限制问题。使用数学计算功能和/或逻辑功能的数学计算操作和/或逻辑操作可以由PiNVSM设备使用一个或多个处理单元执行。在一些示例中,PiNVSM设备包括一个或多个运算逻辑单元(ArithmeticLogicUnit,ALU)。如下面更详细地讨论的,ALU可以每一个被配置为执行整数算术和逻辑运算(例如,AND、NAND、本文档来自技高网...

【技术保护点】
1.一种包括设备的计算系统,所述设备包括:非易失性存储器,其被划分为多个可选择的位置,所述非易失性存储器中的每个比特被配置为具有被独立地编程和擦除的对应的数据,其中所述可选择的位置被分组成多个数据线;耦合到所述非易失性存储器的一个或多个处理单元,所述处理单元中的每一个与所述多个数据线中的数据线相关联,所述一个或多个处理单元包括一个或多个可重新配置的处理单元,所述一个或多个处理单元被配置为:基于一个或多个指令集,操纵所述多个数据线中的相关联的数据线中的数据以生成结果,所述结果被存储在被保留以存储所述操纵的结果的所述相关联的数据线的可选择的位置中;确定所述指令集中的哪些指令集被所述一个或多个处理单元最频繁用来操纵数据;以及将所述一个或多个可重新配置的处理单元重新配置为使用所确定的最频繁使用的指令集来操纵数据。

【技术特征摘要】
2016.12.30 US 15/395,4151.一种包括设备的计算系统,所述设备包括:非易失性存储器,其被划分为多个可选择的位置,所述非易失性存储器中的每个比特被配置为具有被独立地编程和擦除的对应的数据,其中所述可选择的位置被分组成多个数据线;耦合到所述非易失性存储器的一个或多个处理单元,所述处理单元中的每一个与所述多个数据线中的数据线相关联,所述一个或多个处理单元包括一个或多个可重新配置的处理单元,所述一个或多个处理单元被配置为:基于一个或多个指令集,操纵所述多个数据线中的相关联的数据线中的数据以生成结果,所述结果被存储在被保留以存储所述操纵的结果的所述相关联的数据线的可选择的位置中;确定所述指令集中的哪些指令集被所述一个或多个处理单元最频繁用来操纵数据;以及将所述一个或多个可重新配置的处理单元重新配置为使用所确定的最频繁使用的指令集来操纵数据。2.根据权利要求1所述的计算系统,其中,为了确定所述指令集中的哪些指令集被所述一个或多个处理单元最频繁用来操纵数据,所述一个或多个处理单元被配置为:维护队列,所述队列包括对于相应的指令集的、指示相应的指令集被用于操纵数据的相对频率的相应的使用值;以及从具有最高的相应的使用值的队列中选择一组指令集作为用于重新配置所述一个或多个可重新配置的处理单元的最频繁使用的指令集。3.根据权利要求2所述的计算系统,其中,所述队列还包括相应的指令集中的一个或多个指令集的相应的标识符。4.根据权利要求3所述的计算系统,其中,所述一个或多个指令集的所述标识符包括所述一个或多个指令集的散列值、或所述一个或多个指令集的全局唯一标识符(GUID)。5.根据权利要求3所述的计算系统,其中,为了维护所述队列,所述一个或多个处理单元被配置为:确定特定指令集已被用于操纵数据;响应于确定所述队列包括与所述特定指令集相对应的标识符:增加所述特定指令集的使用值;以及减少除了所述特定指令集之外的指令集的使用值;以及响应于确定所述队列不包括与所述特定指令集相对应的标识符:在所述队列中插入与所述特定指令集相对应的所述标识符;增加所述特定指令集的使用值;以及减少除所述特定指令集之外的指令集的使用值。6.根据权利要求5所述的计算系统,其中,响应于确定所述队列不包括与所述特定指令集相对应的标识符,所述一个或多个处理单元被配置为:响应于确定被包括在所述队列中的标识符的数量大于使用值的阈值数量,将具有最低使用值的标识符从所述队列中移除。7.根据权利要求2所述的计算系统,其中,为了维护所述队列,所述一个或多个处理单元被配置为:对于所述数据线中的每个相应的数据线维护相应的队列,相应的队列包括对于相应的指令集的、指示相应的指令集被用于操纵相应的数据线中的数据的相对频率的相应的使用值。8.根据权利要求1所述的计算系统,其中,所述一个或多个处理单元被配置为:周期性地确定所述指令集中的哪些指令集被所述一个或多个处理单元最频繁用来操纵数据;以及周期性地将所述一个或多个可重新配置的处理单元重新配置为使用所确定的最频繁使用的指令集来操纵数据。9.根据权利要求1所述的计算系统,其中,所述可编程处理单元包括现场可编程门阵列(FPGA)。10.根据权利要求1所述的计算系统,其中,所述一个或多个处理单元包括一个或多个专用处理单元,其中,所述一个或多个专用处理单元中的专用处理单元基于特定指令集来操纵数据所花费的时间比所述一个或多个可重新配置的处理单元中的可重新配置的处理单元基于相同的特定指令集来操纵数据所花费的时间更长。11.根据权利要求1所述的计算系统,其中,编程所述多个可选择的位置中的特定的可选择的位置处的数据不改变被存储在所述多个可选择的位置中的其它可选择的位置处的数据,并且其中擦除所述多个可选择的位置中的特定的可选择的位置处的数据不改变被存储在所述多个可选择的位置中的其它可选择的位置处的数据。12.一种方法,包括:由耦合到非易失性存储器的一个或多个处理单元、并基于一个或多个指令集和所述多个数据线中的相关联的数据线中的数据来计算对应的结果,其中所述非易失性存储器被划分为多个可选择的位置,所述可选择...

【专利技术属性】
技术研发人员:L卡格尼尼V杜贝科
申请(专利权)人:西部数据技术公司
类型:发明
国别省市:美国,US

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

1