用于支持存储器内处理的方法和存储器模块的制作方法_6

文档序号:9727094阅读:来源:国知局
协 议内容。在各种实施例中,网络可包括局域网(LAN)、广域网(WAN)、有线或无线以太网、电 信网络或其他合适类型的网络。
[0112] 系统10可包括板上电源单元115,以对图10中图示的各种系统组件供电。电源单 元115可接收电池,或者,可以是可连接到AC电源插座的。在一个实施例中,电源单元115 可将太阳能转换为电力。
[0113] 在之前的描述中,出于说明且非限制性的目的,阐述了特定的细节(诸如,特定结 构、接口、技术等),以便提供对所公开的技术的彻底的理解。但是,本领域的技术人员将会 认识到,所公开的技术可以在脱离这些特定的细节的其他实施例中被实践。也就是说,本领 域的技术人员将能够设计实施所公开的技术的原理的各种布置,尽管这里没有明确地描述 或示出。在一些示例中,为了不被不必要的细节模糊所公开的技术的描述,省略了对公知的 装置、电路和方法的详细描述。本文中的记载所公开的技术的原理、方面和实施例以及其特 定示例的所有陈述意图涵盖其结构和功能等同物。另外,这些等同物意图包括当前已知的 等同物以及将来开发的等同物,例如,开发的执行相同功能的任何元件,而不管结构如何。
[0114] 因此,例如,本领域的技术人员将会认识到,这里的框图(诸如,图1A至1B和6至 10),可表示实施本技术的原理的示范性的电路系统或其他功能单元的概念图。类似地,将 会认识到,这里的流程图(诸如,图2至4)可表示可基本上由控制器(诸如,图9中的PM 控制器97)执行的各种处理或创新方面,而无需将处理传输到主机单元14。在具体实施例 中,控制器或主机处理器可包括例如通用处理器、专用处理器、常规处理器、数字信号处理 器(DSP)、多个微处理器、与DSP核相关联的一个或更多个微处理器、微控制器、专用集成电 路(ASIC)、现场可编程门阵列(FPGA)电路、任何其他类型的集成电路(1C)和/或状态机。 上面在图2至4的情景中描述的功能的中的一些或全部可以被设置在硬件中。
[0115] 在某些发明方面需要基于软件的处理时,这种软件或程序代码可驻留在计算机可 读的数据存储介质(未示出)中。在图10的实施例中这种数据存储介质可以是外围存储 装置109的一部分,或者,可以是图9中的P頂控制器97的内部存储器的一部分。主机14 或控制器97可执行在这种介质上存储的相关指令,以实施基于软件的处理。这种相关指令 可包括例如图5中示出的伪代码和前面讨论的不同的API提供的功能,以及实施本文讨论 的PIM功能可能所需的任何辅助程序代码。计算机可读数据存储介质可以是非暂态数据存 储介质,其包含由上述的通用计算机或处理器执行的计算机程序、软件、固件或微代码。计 算机可读存储介质的示例包括只读存储器(R0M)、随机存取存储器(RAM)、数字寄存器、高 速缓冲存储器、半导体存储器装置,磁介质(例如,内部硬盘,磁带和可移动盘),磁-光介质 和光学介质(例如,⑶-ROM盘和数字多功能盘(DVD))。
[0116] 根据本公开的各发明方面的PIM模型的替代实施例可包括负责提供附加功能(包 括任何的上述功能和/或支持根据本公开的教导的方案所需的任何功能)的附加组件。尽 管上面以具体的组合描述了特征和元件,但是,每一个特征或元件可单独地使用,而无需其 他的特征和元件,或者,每一个特征或元件可在有无其他特征的各种组合中被使用。如前所 述,系统10中的元件(例如,PM控制器97和主机单元14)中的一些的功能可通过使用能 够执行以在(上述的)计算机可读存储介质上存储的代码指令或微代码的形式的软件/固 件的硬件(例如,逻辑电路)和/或硬件来提供。因此,这种功能和图示的功能块将被理解 为硬件实现的和/或计算机实现的,并因此是机器实现的。
[0117] 前面描述了 PIM模型(其中,与总数计数操作和逻辑逐位运算有关的计算在存储 器模块内而不是在CPU内实施),由此消除了贯穿整个系统将数据从大的位向量移位的需 要。通过将这些操作的处理卸载到存储器,在存储器-CPU接口之上的冗余数据传输被大大 地减少,从而提高系统性能和能效。例如,所公开的PIM方法可在密码学中和在实时分析中 找到有益的应用。存储器模块可以是任何半导体存储器。存储器模块的逻辑裸片中的控制 器和专用寄存器可操作用来与主机连接并提供由主机请求的总数计数操作和逻辑逐位运 算的内存储器执行。根据本公开的具体实施例的教导的PM模型由此释放CPU用于其他任 务,因为现在可以在PM使能存储器自身内执行许多实时分析任务。
[0118] 如本领域的技术人员将会认识到的,可在广泛的应用范围内修改和改变在本申请 中描述的创新的概念。因此,要求专利保护的主题的范围不应当局限于上面讨论的任何特 定的示例性教导,而应当由下面的权利要求限定。
【主权项】
1. 一种用于支持存储器内处理的方法,包括如下步骤: 在存储器模块处从主机接收用于对在存储器模块中存储的位向量执行总数计数操作 的指令;以及 在存储器模块内执行总数计数操作,而不将位向量传输到主机以执行总数计数操作。2. 根据权利要求1所述的方法,还包括如下步骤: 在存储器模块内存储执行总数计数操作的结果;以及 将所述结果从存储器模块提供给主机。3. 根据权利要求1所述的方法,其中,执行总数计数操作的步骤包括: 将位向量中的位划分成多个非重叠段; 针对所述多个非重叠段中的每一个非重叠段,计算段特定的位计数;以及 将所有的段特定的位计数相加来产生所述结果。4. 根据权利要求3所述的方法,其中,每一个非重叠段包括8位。5. 根据权利要求3所述的方法,其中,计算段特定的位计数的步骤包括如下方式中的 一个: 使用在存储器模块中存储的查找表(LUT)来获得段特定的位计数;以及 对所述多个非重叠段中的每一个非重叠段执行一系列的移位和逻辑逐位运算来产生 段特定的位计数。6. 根据权利要求3所述的方法,其中,将所有的段特定的位计数相加的步骤包括: 使用每一个段特定的位计数作为对于存储器模块内的多个加法器中的对应一个加法 器的输入;以及 累积所述多个加法器中的所有加法器的输出来产生所述结果。7. 根据权利要求1所述的方法,还包括如下步骤: 从主机接收存储器模块中的存储有位向量的相应部分的存储器位置的物理地址; 针对每一个接收到的物理地址,从存储器位置检索位向量的相应部分; 对检索到的位向量的部分执行部分位计数;以及 组合所有的部分位计数的结果,来实现对位向量的总数计数操作的执行。8. 根据权利要求7所述的方法,还包括: 在存储器模块内的预定义的存储位置中存储每一个接收到的物理地址; 访问预定义的存储位置,以获得用于检索位向量的相应部分的每一个接收到的物理地 址;以及 将所有的部分位计数的组合结果存储在预定义的存储位置中以便提交给主机作为执 行总数计数操作的最终结果。9. 根据权利要求1所述的方法,其中,存储器模块是如下中的一个: 三维堆栈存储器模块; 高带宽存储器模块; 混合存储器立方体存储器模块; 固态驱动器; 动态随机存取存储器模块; 静态随机存取存储器; 相变随机存取存储器; 电阻随机存取存储器; 导电桥接随机存取存储器; 磁随机存取存储器;以及 自旋转移力矩磁随机存取存储器。10. 根据权利要求1所述的方法,其中,位向量通过加密算法而被生成。11. 根据权利要求10所述的方法,还包括: 基于执行总数计数操作的结果,确定加密算法的加密质量。12. 根据权利要求10所述的方法,其中,位向量被存储在存储器模块中。13. 根据权利要求10所述的方法,还包括: 在存储器模块内存储执行总数计数操作的结果;以及 将结果从存储器模块提供给主机。14. 一种用于支持存储器内处理的方法,包括如下步骤: 在存储器模块处从主机接收用于对在存储器模块中存储的两个或更多个位向量执行 逻辑逐位运算的指令;以及 在存储器模块内执行逻辑逐位运算,而没有将位向量传输到主机以便执行。15. 根据权利要求14所述的方法,还包括: 在存储器模块内存储执行逻辑逐位运算的结果;以及 将所述结果从存储器模块提供给主机。16. 根据权利要求14所述的方法,其中,逻辑逐位运算是如下运算中的一个: 或运算; 与运算; 非运算; 非与运算; 或非运算;以及 异或运算。17. 根据权利要求14所述的方法,其中,执行逻辑逐位运算的步骤包括: 将每一个位向量划分成多个位向量特定的非重叠段; 将来自所有的位向量的对应的位向量特定的非重叠段对齐成多组对齐的段; 对每一组对齐的段执行逻辑逐位运算,从而产生多个部分结果;以及 组合所有的部分结果,来实现逻辑逐位操作的执行。18. 根据权利要求17所述的方法,其中,每一个位向量特定的非重叠段包括8位。19. 根据权利要求17所述的方法,还包括在将每一个位向量划分成多个位向量特定的 段之前执行如下操作: 从主机接收存储器模块中的存储有相应的位向量的存储器位置的物理地址;以及 从对应的存储器位置检索位向量。20. 根据权利要求19所述的方法,还包括: 在存储器模块内的预定义的存储位置中存储每一个接收到的物理地址; 访问预定义的存储位置,以获得用于检索相应的位向量的每一个接收到的物理地址; 以及 在预定义的存储位置中存储组合所有的部分结果的最终结果,以便将来提交给主机。21. 根据权利要求14所述的方法,其中,存储器模块是如下中的一个: 三维堆栈存储器模块; 高带宽存储器模块; 混合存储器立方体存储器模块; 固态驱动器; 动态随机存取存储器模块; 静态随机存取存储器; 相变随机存取存储器; 电阻随机存取存储器; 导电桥接随机存取存储器; 磁随机存取存储器;以及 自旋转移力矩磁随机存取存储器。22. -种存储器模块,包括: 存储器芯片;以及 逻辑裸片,与存储器芯片连接,并且控制存储器芯片和外部主机之间的数据传输, 其中,逻辑裸片包括控制器,该控制器执行对在存储器芯片中存储的第一位向量的总 数计数操作和对在存储器芯片中存储的两个或更多个第二位向量的逻辑逐位运算中的至 少一个, 其中,控制器响应于从主机接收用于执行总数计数操作的指令而执行总数计数操作, 而没有将第一位向量传输到主机以便执行总数计数操作,以及 其中,控制器响应于从主机接收用于执行逻辑逐位运算的指令而执行逻辑逐位运算, 而没有将第二位向量传输到主机以便执行逻辑逐位运算。23. 根据权利要求22所述的存储器模块,其中,存储器模块是如下中的一个: 三维堆栈存储器模块; 高带宽存储器模块; 混合存储器立方体存储器模块; 固态驱动器; 动态随机存取存储器模块; 静态随机存取存储器; 相变随机存取存储器; 电阻随机存取存储器; 导电桥接随机存取存储器; 磁随机存取存储器;以及 自旋转移力矩磁随机存取存储器。24. 根据权利要求22所述的存储器模块,其中,逻辑裸片还包括: 寄存器,与控制器结合, 其中,在总数计数操作的执行之后,寄存器由控制器操作以存储执行总数计数操作的 第一结果,并且控制器将第一结果发送到存储器模块内的第一存储位置,以便由主机检索 执行总数计数操作的第一结果,以及 其中,在逻辑逐位运算的执行之后,寄存器由控制器操作以存储执行逻辑逐位运算的 第二结果,并且控制器将第二结果发送到存储器模块内的第二存储位置,以便由主机检索。25.根据权利要求24所述的存储器模块,其中,控制器包括: 处理逻辑单元,包括多个加法器,其中处理逻辑单元执行作为执行总数计数操作的部 分的如下操作: 从存储器芯片检索第一位向量; 将第一位向量中的位划分成多个非重叠段; 针对所述多个非重叠段中的每一个非重叠段,计算段特定的位计数; 使用每一个段特定的位计数作为对于所述多个加法器中的对应一个的输入; 在寄存器中累积来自所述多个加法器中的所有加法器的输出; 将所有累积的输出相加来产生第一结果;以及 在寄存器中存储第一结果。
【专利摘要】公开了一种用于支持存储器内处理的方法和存储器模块。一种用于支持存储器内处理的方法,包括如下步骤:在存储器模块处从主机接收用于对在存储器模块中存储的位向量执行总数计数操作的指令;以及,在存储器模块内执行总数计数操作,而不将位向量传输到主机以执行总数计数操作。
【IPC分类】G06F3/06
【公开号】CN105487812
【申请号】CN201510646971
【发明人】古兹·兹维, 尹亮
【申请人】三星电子株式会社
【公开日】2016年4月13日
【申请日】2015年10月8日
【公告号】US20160098200
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1