半导体存储器设备和操作该半导体存储器设备的方法与流程

专利2022-06-29  110


相关申请的交叉引用

本申请要求于2018年12月3日在韩国知识产权局提交的韩国专利申请第10-2018-0153725号的权益,该申请的全部公开内容通过引用全部并入本文中。

本申请涉及采用存储器中处理(pim)的半导体存储器设备和操作该半导体存储器设备的方法。



背景技术:

根据相关技术的半导体存储器设备具有与执行算术运算的处理器完全分离的功能。因此,在实现了必须处理大量数据的诸如神经网络、大数据、以及物联网(iot)之类的应用的系统中,在半导体存储器设备与处理器之间发送和接收大量的数据,且因此会频繁出现瓶颈。为了解决这一问题,作为将用于执行算术运算的处理器的功能与存储器功能加以合并的半导体存储器设备,正在进行对存储器中处理(pim)设备的研究。



技术实现要素:

提供该发明内容是为了以简化的形式介绍对构思的选择,在下文的具体实施方式中进一步描述了这些构思。该发明内容不是旨在指出要求保护的主题的关键特征或实质特征,也不是旨在用于帮助确定要求保护的主题的范围。

在一个总体方面中,半导体存储器设备包括:多个存储体组,被配置为被并行访问;内部存储器总线,被配置为从所述多个存储体组的外部接收外部数据;以及第一计算电路,被配置为:在多个第一周期中的每个第一周期期间从所述多个存储体组中的第一存储体组接收内部数据,在多个第二周期中的每个第二周期期间通过所述内部存储器总线来接收所述外部数据,第二周期短于所述第一周期,并且在每个第二周期期间对所述内部数据和所述外部数据执行存储器中处理(pim)算术运算。

第一周期可以对应于为了连续访问多个存储体组中的相同的存储体组所需要的延迟时间,且第二周期可以对应于为了连续访问多个存储体组中的不同的存储体组所需要的延迟时间。

第一周期可以是第二周期的n倍,其中n是大于或等于2的自然数。

计算电路还可以被配置为:在执行针对内部数据和外部数据的pim算术运算时将内部数据重复使用n次。

半导体存储器设备还可以包括多个存储器通道,该多个存储器通道可以包括第一存储器通道,该第一存储器通道包括第一存储体组,且外部数据可以是以下任意一项或以下任意两项或更多项的任意组合:多个存储器通道中的除了第一存储器通道之外的任意一个存储器通道中存储的数据、该半导体存储器设备的外部的另一个半导体存储器设备中存储的数据、以及由该半导体存储器设备的外部的主机处理器所处理的数据。

第一计算电路可以包括n个缓冲器,每个缓冲器被配置为:存储针对内部数据和外部数据执行的pim算术运算的结果,其中,n是通过将第一周期除以第二周期所获得的商。

第一计算电路还可以被配置为:在n个缓冲器中连续存储针对内部数据和外部数据执行的pim算术运算的结果。

第一计算电路还可以包括:解复用器,被连接至n个缓冲器,以及选择器,被配置为:输出用于控制解复用器选择n个缓冲器中的一个缓冲器用于存储针对内部数据和外部数据执行的pim算术运算的结果的控制信号。

选择器可以包括计数器,该计数器被配置为对第二周期进行计数并输出计数器的计数值作为控制信号。

半导体存储器设备还可以包括第二计算电路,该第二计算电路被连接至多个存储体组中的第二存储体组,其中,第一计算电路与第二计算电路可以被配置为彼此并行操作。

在另一个总体方面中,在包括被配置为被并行访问的多个存储体组和被配置为从多个存储体组的外部接收外部数据的内部存储器总线、以及计算电路在内的半导体存储器设备中,操作半导体存储器设备中的计算电路的方法包括:在多个第一周期中的每个第一周期期间从多个存储体组中的第一存储体组接收内部数据;在多个第二周期中的每个第二周期期间通过内部存储器总线来接收外部数据,第二周期短于第一周期;以及在每个第二周期期间对内部数据和外部数据执行存储器中处理(pim)算术运算。

第一周期可以对应于为了连续访问多个存储体组中的相同的存储体组所需要的延迟时间,且第二周期可以对应于为了连续访问多个存储体组中的不同的存储体组所需要的延迟时间。

第一周期可以是第二周期的n倍,其中n是大于或等于2的自然数。

执行针对内部数据和外部数据的pim算术运算可以包括:在执行针对内部数据和外部数据的pim算术运算时,将内部数据重复使用n次。

半导体存储器设备还可以包括多个存储器通道,该多个存储器通道包括第一存储器通道,该第一存储器通道包括第一存储体组,且外部数据可以是以下任意一项或以下任意两项或更多项的任意组合:多个存储器通道中的除了包括第一存储体组在内的第一存储器通道之外的任意一个存储器通道中存储的数据、该半导体存储器设备的外部的另一个半导体存储器设备中存储的数据、以及由该半导体存储器设备的外部的主机处理器所处理的数据。

计算电路可以包括n个缓冲器,其中,n是通过将第一周期除以第二周期所获得的商,且该方法还可以包括:在n个缓冲器中连续存储针对内部数据和外部数据执行的pim算术运算的结果。

计算电路还可以包括被连接至n个缓冲器的解复用器,且连续存储针对内部数据和外部数据执行的pim算术运算的结果包括:输出用于控制解复用器选择n个缓冲器中的一个缓冲器用于存储针对内部数据和外部数据执行的pim算术运算的结果的控制信号。

在另一个总体方面中,半导体存储器设备包括:多个存储体,被配置为被并行访问;内部存储器总线,被配置为从多个存储体的外部接收外部数据;以及计算电路,被配置为:在多个第一周期中的每个第一周期期间从多个存储体中的第一存储体接收内部数据,在多个第二周期中的每个第二周期期间通过内部存储器总线来接收外部数据,第二周期短于第一周期,并且在每个第二周期期间对内部数据和外部数据执行存储器中处理(pim)算术运算。

半导体存储器设备还可以包括多个存储器通道,该多个存储器通道包括第一存储器通道,该第一存储器通道包括第一存储体,且外部数据可以是以下任意一项或以下任意两项或更多项的任意组合:多个存储器通道中的除了包括第一存储体在内的第一存储器通道之外的任意一个存储器通道中存储的数据、半导体存储器设备的外部的另一个半导体存储器设备中存储的数据、以及由半导体存储器设备的外部的主机处理器所处理的数据。

半导体存储器设备还可以包括第二计算电路,第二计算电路被连接至多个存储体中的第二存储体,其中,计算电路与第二计算电路可以被配置为彼此并行操作。

在另一个总体方面中,半导体存储器设备包括:多个存储体组,被配置为被并行访问;内部存储器总线,被配置为从多个存储体组的外部接收外部数据;以及计算电路,被配置为:从多个存储体组中的第一存储体组接收第一内部数据,通过内部存储器总线来接收第一外部数据,对第一内部数据和第一外部数据执行存储器中处理(pim)算术运算,通过内部存储器总线来接收第二外部数据,并对第一内部数据和第二外部数据执行pim算术运算。

计算电路接收第一外部数据的时间与计算电路接收第二外部数据的时间之间的等待时间可以等于为了连续访问多个存储体组中的不同的存储体组所需要的延迟时间,为了连续访问多个存储体组中的不同的存储体组所需要的延迟时间小于为了连续访问多个存储体组中的相同的存储体组所需要的延迟时间。

计算电路可以包括:第一运算数缓冲器,被配置为在多个第一周期中的每个第一周期期间从第一存储体组接收内部数据,第一周期等于为了连续访问多个存储体组中的相同的存储体组所需要的延迟时间;第二运算数缓冲器,被配置为在多个第二周期中的每个第二周期期间通过内部存储器总线来接收外部数据,第二周期等于为了连续访问多个存储体组中的不同的存储体组所需要的延迟时间,且第二周期短于第一周期;以及算术逻辑单元(alu),被配置为从第一运算数缓冲器接收内部数据,从第二运算数缓冲器接收外部数据,并对内部数据和外部数据执行pim算术运算。

第一运算数缓冲器可以包括被连接至第一存储体组且被配置为接收内部数据的输入、以及被配置为输出内部数据的输出,第二运算数缓冲器可以包括被连接至内部存储器总线且被配置为接收外部数据的输入、以及被配置为输出外部数据的输出,alu可以包括被连接至第一运算数缓冲器的输出且被配置为接收内部数据的第一输入、被连接至第二运算数缓冲器的输出且被配置为接收外部数据的第二输入、以及被配置为输出对内部数据和外部数据执行的pim运算的结果的输出;且计算电路还可以包括:解复用器,包括被连接至alu的输出且被配置为接收对内部数据和外部数据执行的pim运算的结果的第一输入,被配置为接收控制信号的第二输入、第一输出和第二输出,解复用器被配置为响应于控制信号将解复用器的第一输入交替连接至解复用器的第一输出和解复用器的第二输出;第一缓冲器,包括被连接至解复用器的第一输出的输入;第二缓冲器,包括被连接至解复用器的第二输出的输入;以及选择器,包括被连接至解复用器的第二输入的输出,选择器被配置为对第二周期进行计数,基于第二周期的计数值来生成控制信号,并通过选择器的输出来输出控制信号。

计算电路还可以被配置为从第一存储体组接收第二内部数据,通过内部存储器总线来接收第三外部数据,对第二内部数据和第三外部数据执行pim算术运算,通过内部存储器总线来接收第四外部数据,并对第二内部数据和第四外部数据执行pim算术运算。

计算电路接收所述第一内部数据的时间与计算电路接收第二内部数据的时间之间的等待时间可以等于为了连续访问多个存储体组中的相同的存储体组所需要的第一延迟时间,且计算电路接收第一外部数据的时间与计算电路接收第二外部数据的时间之间的等待时间、计算电路接收第二外部数据的时间与计算电路接收第三外部数据的时间之间的等待时间、以及计算电路接收第三外部数据的时间与计算电路接收第四外部数据的时间之间的等待时间可以等于为了连续访问多个存储体组中的不同的存储体组所需要的第二延迟时间,该第二延迟时间短于第一延迟时间。

半导体存储器设备还可以包括:第一缓冲器;以及第二缓冲器,其中,该计算电路还可以被配置为:在第一缓冲器中存储对第一内部数据和第一外部数据执行的pim算术运算的结果,在第二缓冲器中存储对第一内部数据和第二外部数据执行的pim算术运算的结果,将对第二内部数据和第三外部数据执行的pim算术运算的结果与第一缓冲器中存储的对第一内部数据和第一外部数据执行的pim算术运算的结果相加,以获得第一求和结果,在第一缓冲器中存储第一求和结果,将对第二内部数据和第四外部数据执行的pim算术运算的结果与第二缓冲器中存储的对第一内部数据和第二外部数据执行的pim算术运算的结果相加,以获得第二求和结果,以及在第二缓冲器中存储第二求和结果。

根据以下的具体实施方式、附图和权利要求,其它的特征和方面将变得明显。

附图说明

图1是半导体存储器设备的示例的框图。

图2是用于说明第一周期和第二周期的示例的图。

图3和图4是用于比较根据本申请的公开内容的操作半导体存储器设备的方法与根据相关技术的操作半导体存储器设备的方法的图。

图5是用于说明外部数据的示例的图。

图6是计算电路的示例的框图。

图7是用于说明半导体存储器设备执行矩阵乘法运算的过程的示例的图。

图8是示出了比较根据本申请的公开内容的操作半导体存储器设备的方法的性能与根据相关技术的操作半导体存储器设备的方法的性能的仿真结果的图。

图9是半导体存储器设备的示例的框图。

图10是示出了操作半导体存储器设备中包括的计算电路的示例方法的流程图。

图11是包括半导体存储器设备在内的电子系统的示例的框图。

图12是图1、图3、图5、图6和图9的计算电路的示例的框图。

在全部的附图和具体实施方式中,相同的附图标记指代相同的元素。附图可能不是按比例绘制,且为了清楚、说明和方便的目的可能夸张了附图中的元素的相对尺寸、比例和绘制。

具体实施方式

提供以下详细描述以帮助读者获得对本文描述的方法、装置和/或系统的全面理解。然而,在理解了本申请的公开内容之后,本文描述的方法、装置和/或系统的各种变化、修改和等同将是明显的。例如,本文描述的操作的顺序仅是示例,且不限于本文阐述的那些顺序,而是可以改变,这种改变在理解了本申请的公开内容之后将是明显的,但是这不包括需要以特定顺序出现的操作。此外,为了更加清楚和简明,可以省略对现有技术中已知的特征的描述。

本文描述的特征能够以不同的形式体现,且不应被视为被限制在本文描述的示例。相反,提供本文描述的示例仅用于说明实现本文描述的方法、装置和/或系统的许多可能的方式中的一些方式,这些可能的方式在理解了本申请的公开内容之后将是明显的。

在整个说明书中,当将诸如层、区域或衬底之类的元素描述为“在另一个元素之上”、“被连接至”或“被耦接至”另一个元素时,则可以是直接地“在另一个元素之上”、“被连接至”或“被耦接至”另一个元素,或者可以存在介于它们之间的一个或多个其它的元素。相反,当将一个元素描述为“直接在另一个元素之上”、“直接被连接至”或“直接被耦接至”另一个元素时,则可能不存在介于它们之间的其它的元素。

虽然在本文中可以使用诸如“第一”、“第二”和“第三”之类的术语来描述各部件、组件、区域、层或部分,但是这些部件、组件、区域、层或部分不被这些术语所限制。相反,仅仅使用这些术语来区分一个部件、组件、区域、层或部分与另一个部件、组件、区域、层或部分。因此,在本文描述的示例中被称为第一部件、组件、区域、层或部分也可以被称为第二部件、组件、区域、层或部分,而没有脱离示例的教导。

本文使用的术语仅用于描述各示例,而不是用于限制本公开。除非上下文另外清楚地指示,否则冠词“一个”、“一种”和“所述”旨在同时包括复数形式。术语“包括”、“包含”和“具有”指定了存在已说明的特征、编号、操作、部件、元素和/或它们的组合,但是不排除存在或增加一个或多个其它的特征、编号、操作、部件、元素和/或它们的组合。

除非另外定义,否则本文使用的包括技术术语和科技术语的所有术语具有本申请的公开内容所属的领域的普通技术人员基于对本申请的公开内容的理解所通常理解的相同的意义。将诸如在通用字典中定义的那些术语之类的术语解释为具有与其在相关领域和本申请的公开内容的上下文中的意义一致的意义,而不是以理想化或过于正式的意义解释,但是在本文中如此清楚地定义的除外。

本文描述的示例的特征能够以各种方式组合,这在理解了本申请的公开内容之后将是明显的。而且,虽然本文描述的示例具有各种配置,但是其它的配置也是可以的,这在理解了本申请的公开内容之后将是明显的。

图1是半导体存储器设备的示例的框图。

参考图1,半导体存储器设备10包括第一存储体组110、第二存储体组115、内部存储器总线120、第一计算电路130、以及第二计算电路135。仅仅在图1的半导体存储器设备10中示出了与该示例有关的组件。因此,半导体存储器设备10还可以包括图1中示出的组件之外的通用组件。例如,半导体存储器设备10还可以包括存储器控制器(未示出)。存储器控制器可以执行用于控制半导体存储器设备10的整体操作。存储器控制器可以通过逻辑门阵列来实现,或者可以通过微处理器和存储器的组合来实现,该存储器存储由微处理器执行的用于执行存储器控制器的操作的程序。

在图1中,示出了半导体存储器设备10中仅包括一个存储器通道。然而,半导体存储器设备10还可以包括附加的存储器通道。虽然为了方便描述在图1中仅示出了两个存储体组和两个计算电路,但是半导体存储器设备10可以包括更多数目的存储体组和计算电路。

第一存储体组110和第二存储体组115中的每一个存储体组是能够被并行访问的存储区域。第一存储体组110和第二存储体组115共享内部存储器总线120,并且因此在通用的存储器读或写操作中,第一存储体组110和第二存储体组115中只有一个存储体组能够使用内部存储器总线120。由于第一存储体组110和第二存储体组115中的每一个存储体组能够被独立访问,所以在同一时间在第一存储体组110和第二存储体组115上可以执行单独的读操作。例如,当从第一存储体组110读数据时,也可以从第二存储体组115读数据。在这种情况下,半导体存储器设备10可以被描述为具有存储体组单元并行性。第一存储体组110和第二存储体组115中的每一个存储体组包括多个存储体。该多个存储体中的每个存储体是能够被并行访问的存储器区域的最小单元。

内部存储器总线120是半导体存储器设备10中包括的组件之间形成的数据传输路径,使得在组件之间可以发送和接收数据。例如,在第一存储体组110和第二存储体组115之间共享内部存储器总线120。此外,内部存储器总线120在半导体存储器设备10中包括的组件和半导体存储器设备10的外部的组件之间形成连接路径。例如,内部存储器总线120从半导体存储器设备10中包括的多个存储体组的外部接收外部数据。内部存储器总线120向第一计算电路130和第二计算电路135中的一个计算电路或向这二者供应外部数据。该多个存储体组的外部的含义将参考图5在下文中更详细地描述。

第一计算电路130是半导体存储器设备10之内的执行算术运算的硬件。例如,第一计算电路130可以包括算术逻辑单元(alu),而算术运算可以是诸如加、减、积分和累加之类的运算但不限于此。第一计算电路130可以通过逻辑门阵列来实现,或者通过逻辑门阵列和用于临时存储数据的缓冲器的组合来实现。由于半导体存储器设备10包括用于在半导体存储器设备10中执行算术运算的第一计算电路130,所以半导体存储器设备10对应于存储器中处理(pim)架构。

第一计算电路130是类似于主机处理器(例如,半导体存储器设备10的外部的中央处理单元(cpu)、图形处理单元(gpu)或数字信号处理器(dsp))的具有处理功能的硬件,并且可以是与半导体存储器设备10的存储器封装的芯片中的多个存储体组共同封装的处理器。第一计算电路130可以被称作内部处理器,因为第一计算电路130在半导体存储器设备10的内部,而主机处理器可以被称作外部处理器,因为主机处理器在半导体存储器设备10的外部。在pim架构中,内部处理器和存储器在单个芯片上实现,实现了具有低延迟的快速存储器访问。此外,当pim架构以存储体为单位或以存储体组为单位来使用并行性时,pim架构可以具有使用通用存储器访问的架构的数倍至数十倍的存储器带宽。具有pim架构的半导体存储器设备10也可以被称作智能随机存取存储器(ram)、计算ram或智能存储器。

被连接至第一存储体组110的第一计算电路130与被连接至第二存储体组115的第二计算电路135并行操作。第一计算电路130和第二计算电路135彼此独立地执行算术运算。例如,在第一计算电路130使用从第一存储体组110接收的数据来执行算术运算的同时,第二计算电路135使用从第二存储体组115接收的数据来执行算术运算。

第一计算电路130在多个第一周期中的每个第一周期期间从第一存储体组110接收内部数据。内部数据是第一存储体组110中存储的数据,并且对应于被分配给第一存储体组110的多个存储器地址中的至少一些存储器地址中存储的数据。此外,第一计算电路130在多个第二周期中的每个第二周期期间通过内部存储器总线120来接收外部数据,第二周期短于第一周期。外部数据是在多个存储体组的外部存储的或在多个存储体组的外部处理的数据,并且将参考图5在下文中更详细地描述外部数据的含义。第一计算电路130在每个第二周期期间对内部数据和外部数据执行算术运算。在下文中,将参考图2来详细地描述第一周期和第二周期,并且将参考图3和图4来更详细地描述通过上文描述的第一计算电路130的操作所获得的效果。

图2是用于说明第一周期和第二周期的示例的图。

图2示出了根据时钟信号clk来执行针对存储体组的读操作的时序的时序图。当向存储体组发送用于在该存储体组上执行读操作的命令“列命令(columncmd)”时,为了连续访问相同的存储体组所需要的延迟时间tccd_l大于为了连续访问不同的存储体组所需要的延迟时间tccd_s。参考图1描述的第一周期对应于为了连续访问相同的存储体组所需要的延迟时间tccd_l,而参考图1描述的第二周期对应于为了连续访问不同的存储体组所需要的延迟时间tccd_s。tccd表示列到列的延迟,l表示“长”,而s表示“短”。

pim架构可以使用两倍数据速率(ddr)dram或ddrsdram来实现。基于最新的ddrdram或ddrsdram的pim架构通常以存储体为单位来使用并行性或以存储体组为单位来使用并行性。例如,基于ddr4的pim架构以存储体组为单位来使用并行性且具有以下问题:延迟时间始终是tccd_l,因为pim架构始终需要连续地访问相同的存储体组。由于从多个存储体组同时读取数据,一次读取的数据量增加,但是读取数据的速率始终被限制为tccd_l。因此,基于ddr4的pim架构的整体算术运算速度被限制。

根据本申请的公开内容,基于ddr4的pim架构的整体算术运算速度通过在从存储体组读取数据之后直到能够从相同的存储体组再次读取数据为止时的等待周期tccd_l期间以周期tccd_s向第一计算电路130供应外部数据而提高。等待周期tccd_l大于在通用存储器使用期间读取数据的延迟时间tccd_s。

图3和图4是用于比较根据本申请的公开内容的操作半导体存储器设备的方法与根据相关技术的操作半导体存储器设备的方法的图。

图3示出了说明根据相关技术的操作半导体存储器设备的方法的概念图310和说明根据本申请的公开内容的操作半导体存储器设备的方法的概念图320。在图3中,“存储体/存储体组”表示存储体或存储体组,而“总线”表示内部存储器总线。

参考示出了根据相关技术的操作半导体存储器设备的方法的概念图310,在每个第一周期期间从存储体组读取内部数据,因此在每个第一周期期间向计算电路供应内部数据。此外,在每个第一周期期间通过内部存储器总线向计算电路供应外部数据。由于计算电路执行使用内部数据和外部数据的算术运算,在每个第一周期期间执行算术运算。因此,在根据相关技术的操作半导体存储器设备的方法中,计算电路的算术运算速度受限于第一周期。

参考示出了根据本申请的公开内容的操作半导体设备的方法的概念图320,在每个第一周期期间从存储体组读取内部数据(与概念图310中相似),因此在每个第一周期期间向计算电路供应内部数据。然而,与概念图310不同,在根据本申请的公开内容的半导体存储器设备中,在每个第二周期期间通过内部存储器总线向计算电路供应外部数据,因此计算电路在每个第二周期期间对内部数据和外部数据执行算术运算。由于第二周期短于第一周期,所以在根据本申请的公开内容的操作半导体存储器设备的方法中,提高了计算电路的算术运算速度。

在图3中说明的示例中,第一周期是第二周期的n倍(其中,n是大于或等于2的自然数)。然而,n不需要一定是大于或等于2的自然数。即,n可以具有任意值,只要n大于或等于2。例如,n可以是大于或等于2的任意实数。图3中的表330示出了根据本申请的公开内容的半导体存储器设备中的第一周期和第二周期分别是4ns和2ns且n是2时根据时间从存储体组供应的数据和从该存储体组的外部供应的数据。下文中,将参考图5更详细地描述“存储体组的外部”和“外部数据”的含义。

图5是用于说明外部数据的示例的图。

参考图5,示出了半导体存储器设备的配置。半导体存储器设备包括多个存储器通道。在该示例中,除了包括第一存储体组110、内部存储器总线120和第一计算电路130在内的第一存储器通道510之外,半导体存储器设备还包括第二存储器通道520。存储器通道520具有与存储器通道510相同的结构。虽然在图5中只示出了两个存储器通道,但是半导体存储器设备可以包括另外的存储器通道。

对于第一存储体组110,外部数据是除了包括第一存储体组110在内的存储器通道510之外的存储器通道520中存储的数据。在该示例中,“第一存储体组110的外部”指代存储器通道520。然而,这只是示例,且“第一存储体组110的外部”可以指代任意数据源,只要该数据源在存储器通道510的外部即可。例如,外部数据可以是在图5中示出的半导体存储器设备的外部的另一个半导体存储器设备中存储的数据,或者是由在图5中示出的半导体存储器设备的外部的主机处理器所处理的数据。主机处理器可以包括(但不限于)cpu、gpu或dsp。

返回参考图3中的表330,计算电路在0ns从存储体组接收内部数据w0且在0ns通过内部存储器总线从该存储体组的外部接收外部数据a0。计算电路对内部数据w0和外部数据a0执行算术运算。

计算电路在2ns通过内部存储器总线从存储体组的外部接收新的外部数据b0,此时不能从存储体组供应新的内部数据。因此,计算电路在2ns对已有的内部数据w0和新的外部数据b0执行算术运算。以这种方式,即使不能从存储体组供应新的内部数据,计算电路也能够对已有的内部数据和从存储体组的外部供应的新的外部数据执行附加的算术运算。在执行对内部数据和外部数据的算术运算时,将内部数据重复使用n次,因此半导体存储器设备的整体算术运算速度提高了大约n倍。

图4示出了说明根据相关技术的操作半导体存储器设备的方法的时序图410和说明根据本申请的公开内容的操作半导体存储器设备的方法的时序图420。

时序图410和时序图420中的每一行表示根据时间的存储体组的操作,r(读取)表示从存储体组读取内部数据,而c(计算)表示由计算电路执行算术运算。

参考说明根据相关技术的操作半导体存储器设备的方法的时序图410,当计算电路在0ns从所有的存储体组同时读取内部数据时执行算术运算之后,计算电路只能在4ns从所有的存储体组读取新的内部数据时才可以执行新的算术运算。因此,在根据依照相关技术的操作半导体存储器设备的方法中,计算电路的算术运算依赖于从存储体组读取内部数据的速度,且因此计算电路的算术运算速度被限制为4ns。

参考说明根据本申请的公开内容的操作半导体存储器设备的方法的时序图420,当计算电路在0ns从所有的存储体组同时读取内部数据时执行算术运算之后,计算电路在2ns从计算电路的外部供应新的外部数据时执行新的算术运算。因此,在根据本申请的公开内容的操作半导体存储器设备的方法中,计算电路的算术运算速度提高至2ns的周期。随着计算电路的算术运算速度提高,提高了半导体存储器设备的整体算术运算速度。在下文中将参考图6来更详细地描述计算电路。

图6是计算电路的示例的框图。

参考图6,计算电路包括用于在每个第一周期期间存储从存储体组供应的内部数据的第一运算数缓冲器610、以及用于在每个第二周期期间存储从内部存储器总线供应的外部数据的第二运算数缓冲器615。计算电路还包括用于对第一运算数缓冲器610中存储的内部数据和第二运算数缓冲器615中存储的外部数据执行算术运算的alu620。alu620可以是(但不限于)乘法器、加法器或积分器。基于要在pim架构中执行的算术运算的类型,能够以任一合适的方式实现alu620。

计算电路包括用于存储针对内部数据和外部数据执行的算术运算的结果的多个缓冲器。缓冲器的数目等于通过将第一周期除以第二周期所获得的商。例如,当第一周期是第二周期的n倍时,计算电路包括n个缓冲器。由于在参考图3和图4描述的示例中假定n是2,所以图6示出了包括两个缓冲器(第一缓冲器630和第二缓冲器635)在内的计算电路。计算电路中包括的缓冲器的数目会随着第一周期和第二周期之间的关系的变化而变化。

计算电路中包括的第一缓冲器630和第二缓冲器635交替地存储由alu620执行的针对内部数据和外部数据的算术运算的结果。例如,参考图3中的表330,第一缓冲器630存储针对0ns时的内部数据w0和外部数据a0执行的算术运算的结果,而且第二缓冲器635存储针对2ns时内部数据w0和外部数据b0的执行算术运算的结果。随后,第一缓冲器630存储针对4ns时的内部数据w1和外部数据a1执行的算术运算的结果,而且第二缓冲器635存储针对6ns时的内部数据w1和外部数据b1执行的算术运算的结果。

计算电路还包括选择器640、解复用器(demux)645和复用器(mux)650,以从n个缓冲器中选择用于存储算术运算的结果的缓冲器。选择器640输出控制信号,用于选择第一缓冲器630或第二缓冲器635,以存储针对第一运算数缓冲器610中存储的内部数据和第二运算数缓冲器615中存储的外部数据执行的算术运算的结果。

解复用器645是向多个输出线之一输出通过一个输入所接收的数据的组合电路。复用器650是选择多个输入线之一并将所选择的输入线连接至单个输出线的组合电路。解复用器645和复用器650基于由选择器640输出的控制信号来确定第一缓冲器630和第二缓冲器635中的哪一个要被连接至alu620。

选择器640包括对每个第二周期进行计数的计数器,且由选择器640输出的控制信号是计数器的输出信号。例如,选择器640包括在每个第二周期之后改变计数值的计数器。从计数器向解复用器645和复用器650的控制输入输出在每个第二周期之后改变的计数值,且因此连接至alu620的缓冲器在每个第二周期之后在第一缓冲器630和第二缓冲器635之间改变。

图7是用于说明半导体存储器设备执行矩阵乘法运算的过程的示例的图。

参考图7,示出了半导体存储器设备执行矩阵和矩阵之间的矩阵乘法运算以获得的过程的示例。图7的示例对应于第一周期是4ns、第二周期是2ns且n是2的情况。

在0ns时,从存储体组向计算电路供应作为矩阵的(1,1)分量的内部数据b0,以及从存储体组的外部向计算电路供应作为矩阵的(1,1)分量的外部数据a0。计算电路被配置为乘法器,以执行矩阵乘法运算并且执行针对a0和b0的乘法运算。作为该乘法运算的结果的a0*b0被存储在第一缓冲器中。

在2ns时,从存储体组的外部向计算电路供应作为矩阵的(2,1)分量的外部数据a2,且计算电路对新的外部数据a2和已有的内部数据b0执行乘法运算。作为该乘法运算的结果的a2*b0被存储在第二缓冲器中。

在4ns时,从存储体组向计算电路供应作为矩阵的(2,1)分量的新的内部数据b2,且从存储体组的外部向计算电路供应作为矩阵的(1,2)分量的新的外部数据a1。计算电路对新的外部数据a1和新的内部数据b2执行乘法运算。作为该乘法运算的结果的a1*b2被累加并被存储在第一缓冲器中。可以将累加器添加到计算电路中的每个缓冲器的前端和后端中的任一个上或添加到这二者上,以累加乘法运算的结果。在将a1*b2累加在了第一缓冲器之后,第一缓冲器存储a0*b0 a1*b2的值。a0*b0 a1*b2的值是作为通过执行矩阵和矩阵之间的矩阵乘法运算所获得的矩阵的(1,1)分量的c0。

在6ns时,从存储体组的外部向计算电路供应作为矩阵的(2,2)分量的新的外部数据a3,且计算电路对新的外部数据a3和已有的内部数据b2执行乘法运算。将作为该乘法运算的结果的a3*b2累加并存储在第二缓冲器中。在a3*b2被累加在了第二缓冲器中之后,第二缓冲器存储值a2*b0 a3*b2。值a2*b0 a3*b2是作为通过执行矩阵和矩阵之间的矩阵乘法运算所获得的矩阵的(2,1)分量的c2。

半导体存储器设备通过使用新的内部数据b1和b3代替内部数据b0和b2,重复上述过程来完成矩阵和矩阵之间的矩阵乘法运算,以获得分别是的(1,2)分量和(2,2)分量的c1和c3。

由于在短于第一周期(数据在第一周期期间被从存储体组中读取)的第二周期期间从存储体组的外部供应外部数据,所以与根据相关技术的半导体存储器设备相比,根据本申请的公开内容的半导体存储器设备更快地执行矩阵和矩阵之间的矩阵乘法运算。

由半导体存储器设备执行的算术运算不限于矩阵乘法。相反,半导体存储器设备可以执行各种其它的算术运算,并且半导体存储器设备中包括的组件可以由各种pim算术运算指令以各种方式来控制。

图8是示出了用于比较根据本申请的公开内容的操作半导体存储器设备的方法的性能与根据相关技术的操作半导体存储器设备的方法的性能的仿真结果的图。

参考图8,示出了根据本申请的公开内容的半导体存储器设备和根据相关技术的半导体存储器设备中的用于执行32比特浮点数据的乘法运算204,800次所需要的以时钟循环为单位的计算时间。该计算时间是使用本领域已知的存储器仿真器ramulator来获得的。

参考图8中的图形810,根据相关技术的半导体存储器设备用来执行32比特浮点数据的乘法运算204,800次所需要的计算时间是大约730个时钟循环。参考图8中的图形820,根据本申请的公开内容的半导体存储器设备用来执行32比特浮点数据的乘法运算204,800次所需要的计算时间是大约390个时钟循环。

因此,在根据本申请的公开内容的操作半导体存储器设备的方法中,与根据相关技术的操作半导体存储器设备的方法相比,需要远远更少的循环来执行相同数目的乘法运算,并且因此根据本申请的公开内容的半导体存储器设备的算术运算速度要快于根据相关技术的半导体存储器设备的算术运算速度。

图9是半导体存储器设备90的另一个示例的框图。

参考图9,不同于以存储体组为单位来使用并行性的图1的半导体存储器设备10,半导体存储器设备90以存储体为单位来使用并行性。除了向半导体存储器设备90中的存储体组中的每个存储体分配而不是向半导体存储器设备10中的每个存储体组分配计算电路之外,半导体存储器设备90与半导体存储器设备10具有相同的基本结构。

半导体存储器设备90包括第一存储体910、第二存储体915、内部存储器总线920、第一计算电路930和第二计算电路935。第一存储体910被连接至第一计算电路930,而第二存储体915被连接至第二计算电路935。第一计算电路930和第二计算电路935彼此独立地执行算术运算。例如,当第一计算电路930通过使用从第一存储体910接收的数据来执行算术运算时,第二计算电路935也使用从第二存储体915接收的数据来执行算术运算。第一计算电路930和第二计算电路935以与参考图1描述的第一计算电路130实质上相同的方式来操作,并且因此省略了对第一计算电路930和第二计算电路935的详细描述。

图10是示出了操作半导体存储器设备中包括的计算电路的方法的示例的流程图。

参考图10,操作半导体存储器设备中包括的计算电路的方法包括在图1、图3、图5、图6和图9中示出的计算电路中顺序执行的操作。因此,上文提供的图1、图3、图5、图6和图9中的计算电路的描述也适用于操作图10中所示的半导体存储器设备中包括的计算电路的方法。

在操作1010中,计算电路在多个第一周期中的每个第一周期期间从第一存储体组接收内部数据。由于上面结合图2讨论的理由,能够从相同的存储体组读取内部数据的周期受限于第一周期。

在操作1020中,计算电路在多个第二周期中的每个第二周期期间通过内部存储器总线从第一存储体组的外部接收外部数据,该第二周期短于第一周期。半导体存储器设备包括多个存储器通道,且多个存储器通道包括第一存储器通道,该第一存储器通道包括该第一存储体组。外部数据是以下任意一项或以下任意两项或更多项的任意组合:多个存储器通道中的除了包括该第一存储体组在内的第一存储器通道之外的一个存储器通道中存储的数据、在半导体存储器设备的外部的另一个半导体存储器设备中存储的数据、以及由在半导体存储器设备的外部的主机处理器处理的数据。主机处理器可以包括(但不限于)cpu、gpu或dsp。

第一周期对应于为了连续访问相同的存储体组所需要的延迟时间tccd_l,而第二周期对应于为了连续访问不同的存储体组所需要的延迟时间tccd_s。例如,第一周期可以是第二周期的n倍,其中,n是大于或等于2的自然数。然而,n不需要一定是大于或等于2的自然数。即,n可以具有任意值,只要n大于或等于2。

在操作1030中,计算电路在每个第二周期期间对内部数据和外部数据执行pim算术运算。pim算术运算是由半导体存储器设备中的具有处理功能的计算电路来执行的算术运算。在从存储体组读取数据之后直到能够从相同的存储体组再次读取数据为止时的等待周期tccd_l期间的第二周期期间向计算电路供应外部数据。等待周期tccd_l大于在通用存储器使用期间读取数据的延迟时间tccd_s。因此,计算电路在第二周期期间执行算术运算在执行对内部数据和外部数据的算术运算时,计算电路将内部数据重复使用n次。由于第二周期短于第一周期,在根据本申请的公开内容的操作半导体存储器设备的方法中,提高了计算电路的算术运算速度。

计算电路在n个缓冲器中连续地存储针对内部数据和外部数据执行的算术运算的结果,其中,n是通过将第一周期除以第二周期所获得的商。例如,计算电路可以通过输出用于控制解复用器来选择n个缓冲器中的一个缓冲器以存储针对内部数据和外部数据执行的算术运算的结果的控制信号,从n个缓冲器中选择被连接至计算电路的一个缓冲器。

图11是包括半导体存储器设备在内的电子系统的示例的框图。

参考图11,电子系统1100通过使用神经网络实时分析输入数据来提取有效信息,并且确定情况或控制其中安装有电子系统1100的电子设备的组件。例如,电子系统1100可以被应用于诸如无人机或高级驾驶员辅助系统(adas)之类的机器人设备、智能tv、智能电话、医疗设备、移动设备、图像显示设备、测量设备或iot设备。此外,电子系统1100可以是各种其它类型的电子设备。例如,电子系统1100可以是服务器。

电子设备1100包括处理器1110、半导体存储器设备1120、神经网络设备1130、系统存储器1140、传感器模块1150、以及通信模块1160。电子系统1100还可以包括诸如输入/输出模块、安全模块和电源控制装置之类的其它元素。电子系统1100的硬件组件中的至少一些硬件组件可以被安装在至少一个半导体芯片上。

处理器1110控制电子设备1100的整体操作。处理器1110可以是单核处理器或多核处理器。处理器1110处理和执行系统存储器1140中存储的程序。处理器1110通过执行系统存储器1140中存储的程序来控制神经网络设备1130的操作。处理器1110可以使用cpu、gpu或应用处理器(ap)来实现。

半导体存储器1120临时性地存储程序、数据和指令。例如,系统存储器1140中存储的程序、数据和指令根据处理器1110的控制或引导代码被临时性地存储在半导体存储器设备1120中。半导体存储器设备1120可以用诸如dram之类的存储器来实现。半导体存储器设备1120与参考图1至图10描述的半导体存储器设备相对应。由于半导体存储器设备1120具有pim架构,所以半导体存储器设备1120不仅执行用于存储数据的存储器功能,而且执行用于执行算术运算的处理器功能。因此,算术运算不被过度分配给处理器1110,而且提高了电子系统1100的整体性能。

神经网络设备1130基于所接收的输入数据来执行神经网络的算术运算,并且基于算术运算的结果来生成信息信号。神经网络可以是卷积神经网络(cnn)、循环神经网络(rnn)、前馈神经网络(fnn)、深度信念网络(dbn)、受限boltzmann机(rbm)等,但不限于此。

信息信号可以是各种类型的识别信号之一,例如,语音识别信号、对象识别信号、图像识别信号或生物特征信息识别信号。例如,神经网络设备1130可以接收视频流中包括的帧数据作为输入数据,并且根据帧数据来生成针对由帧数据表示的图像中包括的对象的识别信号。然而,神经网络设备1130不限于该示例。相反,神经网络设备1130可以根据其中安装有电子系统1100的电子设备的类型或功能来接收各种类型的输入数据,并且根据输入数据来生成识别信号。

系统存储器1140是被配置为存储数据的存储位置,它可以存储操作系统(os)、各种程序、以及各种数据。在一个示例中,系统存储器1140存储神经网络设备1130的算术运算中生成的中间结果。

系统存储器1140可以包括易失性存储器和非易失性存储器中的任一种或两种。非易失性存储器可以是rom、prom、eprom、闪存、pram、mram、rram、fram、或任何其它的非易失性存储器。易失性存储器可以是dram、sram、sdram、pram、mram、rram、铁电ram(feram)、或任何其它的易失性存储器。在一个示例中,系统存储器1140可以包括以下任意一项或以下任意两项或更多项的任意组合:hdd卡、ssd卡、cf卡、sd卡、微sd卡、迷你sd卡、xd卡、以及记忆棒。

传感器模块1150收集与其中安装有电子系统1100的电子设备有关的信息。传感器模块1150感测或接收来自电子设备的外部的信号(例如,视频信号、语音信号、磁信号、生物特征信号或触摸信号),并且将所感测或接收的信号转换为数据。因此,传感器模块1150可以包括各种类型的传感器设备中的以下任意一项或以下任意两项或更多项的任意组合,例如,麦克风、图像采集设备、图像传感器、光检测和测距(lidar)传感器、超声传感器、红外传感器、生物传感器、以及触摸传感器。

传感器模块1150向神经网络设备1130提供经转换的数据作为输入数据。在一个示例中,传感器模块1150包括图像传感器,通过拍摄电子设备的外部环境来生成视频流,并且向神经网络设备1130顺序提供视频流的连续数据帧作为输入数据,然而,这只是一个示例,且传感器模块1150可以向神经网络设备1130提供各种其它类型的数据。

通信模块1160包括能够与外部设备通信的各种有线或无线接口。例如,通信模块1160可以包括可连接至局域网(lan)、无线局域网(wlan)(例如,wi-fi)、无线个域网(wpan)(例如,蓝牙或zigbee)、无线通用串行总线(usb)、近场通信(nfc)、射频识别(rfid)、电力线通信(plc)、或移动蜂窝网络(例如,第三代(3g)、第四代(4g)、或长期演进(lte))的接口。

图12是图1、图3、图5、图6、图9和图11的计算电路的示例的框图。

参考图12,存储器1210存储了指令,该指令在由处理器1220执行时使处理器1220执行图1、图3、图5、图6和图9的计算电路的功能。

执行本申请中描述的操作的图1、图3、图5、图6和图9的计算电路由被配置为执行本申请中描述的由硬件组件执行的操作的硬件组件实现。可以用于执行本申请中描述的操作的硬件组件的示例在适当的情况下包括控制器、传感器、生成器、驱动器、存储器、缓冲器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器、复用器、解复用器、晶体管、以及被配置为执行本申请中描述的操作的其它的电子组件。在其它示例中,执行本申请中描述的操作的一个或多个硬件组件由计算硬件(例如,由一个或多个处理器或计算机)来实现。处理器或计算机可以由一个或多个处理元件(例如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器、或被配置为以已定义的方式来对指令做出响应且执行指令以获得期望的结果的任意其它的设备或设备的组合)来实现。在一个示例中,处理器或计算机包括、或被连接至存储了由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可以执行指令或软件(例如,操作系统(os)和在os上运行的一个或多个软件应用),以执行本申请中描述的操作。硬件组件也可以响应于对指令或软件的执行来访问、操纵、处理、创建和存储数据。为了简单,在本申请中描述的示例的描述中可以使用单数形式的术语“处理器”或“计算机”,但是在其它示例中可以使用多个处理器或计算机,或者处理器或计算机可以包括多个处理元件或多种类型的处理元件或这二者。例如,单个硬件组件或两个或更多个硬件组件可以由单个处理器、或两个或更多个处理器、或处理器和控制器来实现。一个或多个硬件组件可以由一个或多个处理器、或处理器和控制器来实现,且一个或多个其它的硬件组件可以由一个或多个其它的处理器、或另外的处理器和另外的控制器来实现。一个或多个处理器、或处理器和控制器可以实现单个硬件组件、或两个或更多个硬件组件。硬件组件可以具有任意一个或多个不同的处理配置,这些处理配置的示例包括单个处理器、独立的多个处理器、并行的多个处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理、以及多指令多数据(mimd)多处理。

结合图1至图9描述的执行本申请中描述的操作的图10的方法由硬件组件执行、或由计算硬件(例如,由如上文所述的被实现为执行指令或软件以执行由所述方法执行的本申请中描述的操作的一个或多个处理器或计算机)来执行。例如,可以由单个处理器、或两个或更多个处理器、或处理器和控制器来执行单个操作或两个或更多个操作。可以由一个或多个处理器、或处理器和控制器来执行一个或多个操作,且可以由一个或多个其它的处理器、或另外的处理器和另外的控制器来执行一个或多个其它的操作。一个或多个处理器、或处理器和控制器可以执行单个操作、或两个或更多个操作。

用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上文描述的方法的指令或软件可以写成单独或共同指示或配置一个或多个处理器或计算机以作为机器或专用计算机操作以执行如上文所述的由硬件组件执行的操作和方法的计算机程序、代码段、指令或它们的任意组合的形式。在一个示例中,指令或软件包括由一个或多个处理器或计算机直接执行的机器码(例如,由编译器产生的机器码)。在另一个示例中,指令或软件包括由一个或多个处理器或计算机使用解释器来执行的高级代码。可以基于公开了执行由硬件组件执行的操作和如上文所述的方法的、在附图中示出的框图和流程图以及说明书中的对应描述,使用任意编程语言来编写指令或软件。

可以在一个或多个非暂时性的计算机可读存储介质之中或之上记录、存储或固定用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件和执行如上文描述的方法的指令或软件、以及任何关联的数据、数据文件和数据结构。非暂时性的计算机可读存储介质的示例包括只读存储器(rom)、随机存取存储器(ram)、闪存、cd-rom、cd-r、cd r、cd-rw、cd rw、dvd-rom、dvd-r、dvd r、dvd-rw、dvd rw、dvd-ram、bd-rom、bd-r、bd-rlth、bd-re、磁带、软盘、磁光数据存储设备、光数据存储设备、硬盘、固态盘、以及被配置为以非暂时性的方式存储指令或软件以及任何关联的数据、数据文件和数据结构并向一个或多个处理器或计算机提供指令或软件以及任何关联的数据、数据文件和数据结构以使一个或多个处理器或计算机能够执行指令的任何其它的设备。在一个示例中,指令或软件以及任何关联的数据、数据文件和数据结构分布在网络耦接的计算机系统之中,使得一个或多个处理器或计算机以分布式方式存储、访问和执行指令和软件以及任何关联的数据、数据文件和数据结构。

虽然本公开包括特定的示例,但是在理解了本申请的公开内容之后,可以在这些示例中做出形式和细节上的各种变化而不背离权利要求及其等同物的精神和范围。应仅以描述性意义而不是限制性目的来考虑本文中描述的示例。在每个示例中的特征或方面的描述被视为适用于其它示例中的类似特征或方面。如果以不同的顺序执行所描述的技术,和/或如果以不同的方式组合所描述的系统、架构、设备或电路中的组件、和/或由其它的组件或其等同组件替换或补充所描述的系统、架构、设备或电路中的组件,则可以获得适当的结果。因此,本公开的范围不是由具体实施方式来定义,而是由权利要求及其等同物定义,且权利要求及其等同物的范围之内的所有的变化被视为被包括在本公开之中。


技术特征:

1.一种半导体存储器设备,包括:

多个存储体组,被配置为被并行访问;

内部存储器总线,被配置为从所述多个存储体组的外部接收外部数据;以及

第一计算电路,被配置为:在多个第一周期中的每个第一周期期间从所述多个存储体组中的第一存储体组接收内部数据,在多个第二周期中的每个第二周期期间通过所述内部存储器总线来接收所述外部数据,所述第二周期短于所述第一周期,并且在每个第二周期期间针对所述内部数据和所述外部数据执行存储器中处理“pim”算术运算。

2.根据权利要求1所述的半导体存储器设备,其中,所述第一周期对应于为了连续访问所述多个存储体组中的相同的存储体组所需要的延迟时间,以及

所述第二周期对应于为了连续访问所述多个存储体组中的不同的存储体组所需要的延迟时间。

3.根据权利要求1所述的半导体存储器设备,其中,所述第一周期是所述第二周期的n倍,其中n是大于或等于2的自然数。

4.根据权利要求3所述的半导体存储器设备,其中,第一计算电路还被配置为:在针对所述内部数据和所述外部数据执行pim算术运算时将所述内部数据重复使用n次。

5.根据权利要求1所述的半导体存储器设备,其中,所述半导体存储器设备还包括多个存储器通道,所述多个存储器通道包括第一存储器通道,所述第一存储器通道包括所述第一存储体组,以及

所述外部数据是以下任意一项或以下任意两项或更多项的任意组合:所述多个存储器通道中的除了所述第一存储器通道之外的任意一个存储器通道中存储的数据、所述半导体存储器设备的外部的另一个半导体存储器设备中存储的数据、以及由所述半导体存储器设备的外部的主机处理器所处理的数据。

6.根据权利要求1所述的半导体存储器设备,其中,所述第一计算电路包括n个缓冲器,每个缓冲器被配置为:存储针对所述内部数据和所述外部数据执行的pim算术运算的结果,其中,n是通过将所述第一周期除以所述第二周期所获得的商。

7.根据权利要求6所述的半导体存储器设备,其中,所述第一计算电路还配置为:在所述n个缓冲器中连续存储针对所述内部数据和所述外部数据执行的pim算术运算的结果。

8.根据权利要求6所述的半导体存储器设备,其中,所述第一计算电路还包括:

解复用器,被连接至所述n个缓冲器,以及

选择器,被配置为:输出用于控制所述解复用器选择所述n个缓冲器中的一个缓冲器用于存储针对所述内部数据和所述外部数据执行的pim算术运算的结果的控制信号。

9.根据权利要求8所述的半导体存储器设备,其中,所述选择器包括计数器,所述计数器被配置为对所述第二周期进行计数并输出所述计数器的计数值作为所述控制信号。

10.根据权利要求1所述的半导体存储器设备,还包括第二计算电路,所述第二计算电路被连接至所述多个存储体组中的第二存储体组,

其中,所述第一计算电路和所述第二计算电路被配置为彼此并行操作。

11.一种操作半导体存储器设备中的计算电路的方法,所述半导体存储器设备包括被配置为被并行访问的多个存储体组、被配置为从所述多个存储体组的外部接收外部数据的内部存储器总线、以及计算电路,所述方法包括:

在多个第一周期中的每个第一周期期间从所述多个存储体组中的第一存储体组接收内部数据;

在多个第二周期中的每个第二周期期间通过所述内部存储器总线接收所述外部数据,所述第二周期短于所述第一周期;以及

在每个第二周期期间针对所述内部数据和所述外部数据执行存储器中处理“pim”算术运算。

12.根据权利要求11所述的方法,其中,所述第一周期对应于为了连续访问所述多个存储体组中的相同的存储体组所需要的延迟时间,以及所述第二周期对应于为了连续访问所述多个存储体组中不同的存储体组所需要的延迟时间。

13.根据权利要求11所述的方法,其中,所述第一周期是所述第二周期的n倍,其中n是大于或等于2的自然数。

14.根据权利要求13所述的方法,其中,针对所述内部数据和所述外部数据执行pim算术运算包括:

在针对所述内部数据和所述外部数据执行pim算术运算时,将所述内部数据重复使用n次。

15.根据权利要求11所述的方法,其中,所述半导体存储器设备还包括多个存储器通道,所述多个存储器通道包括第一存储器通道,所述第一存储器通道包括所述第一存储体组,以及

所述外部数据是以下任意一项或以下任意两项或更多项的任意组合:所述多个存储器通道中的除了包括所述第一存储体组在内的所述第一存储器通道之外的任意一个存储器通道中存储的数据、所述半导体存储器设备的外部的另一个半导体存储器设备中存储的数据、以及由所述半导体存储器设备的外部的主机处理器所处理的数据。

16.根据权利要求11所述的方法,其中,所述计算电路包括n个缓冲器,其中,n是通过将所述第一周期除以所述第二周期所获得的商,以及

所述方法还包括:在所述n个缓冲器中连续存储针对所述内部数据和所述外部数据执行的pim算术运算的结果。

17.根据权利要求16所述的方法,其中,所述计算电路还包括被连接至所述n个缓冲器的解复用器,以及

连续存储针对所述内部数据和所述外部数据执行的pim算术运算的结果包括:输出用于控制所述解复用器选择所述n个缓冲器中的一个缓冲器用于存储针对所述内部数据和所述外部数据执行的pim算术运算的结果的控制信号。

18.一种半导体存储器设备,包括:

多个存储体,被配置为被并行访问;

内部存储器总线,被配置为从所述多个存储体的外部接收外部数据;以及

第一计算电路,被配置为:在多个第一周期中的每个第一周期期间从所述多个存储体中的第一存储体接收内部数据,在多个第二周期中的每个第二周期期间通过所述内部存储器总线来接收所述外部数据,所述第二周期短于所述第一周期,并且在每个第二周期期间针对所述内部数据和所述外部数据执行存储器中处理“pim”算术运算。

19.根据权利要求18所述的半导体存储器设备,其中,所述半导体存储器设备还包括多个存储器通道,所述多个存储器通道包括第一存储器通道,所述第一存储器通道包括第一存储体,以及

所述外部数据是以下任意一项或以下任意两项或更多项的任意组合:所述多个存储器通道中的除了包括所述第一存储体在内的第一存储器通道之外的任意一个存储器通道中存储的数据、所述半导体存储器设备的外部的另一个半导体存储器设备中存储的数据、以及由所述半导体存储器设备的外部的主机处理器所处理的数据。

20.根据权利要求18所述的半导体存储器设备,还包括第二计算电路,所述第二计算电路被连接至所述多个存储体中的第二存储体,

其中,所述第一计算电路与所述第二计算电路被配置为彼此并行操作。

21.一种半导体存储器设备,包括:

多个存储体组,被配置为被并行访问;

内部存储器总线,被配置为从所述多个存储体组的外部接收外部数据;以及

计算电路,被配置为:从所述多个存储体组中的第一存储体组接收第一内部数据,通过所述内部存储器总线来接收第一外部数据,针对所述第一内部数据和所述第一外部数据执行存储器中处理“pim”算术运算,通过所述内部存储器总线来接收第二外部数据,以及针对所述第一内部数据和所述第二外部数据执行pim算术运算。

22.根据权利要求21所述的半导体存储器设备,其中,所述计算电路接收所述第一外部数据的时间与所述计算电路接收所述第二外部数据的时间之间的等待时间等于为了连续访问所述多个存储体组中的不同的存储体组所需要的延迟时间,为了连续访问所述多个存储体组中的不同的存储体组所需要的延迟时间小于为了连续访问所述多个存储体组中的相同的存储体组所需要的延迟时间。

23.根据权利要求21所述的半导体存储器设备,其中,所述计算电路包括:

第一运算数缓冲器,被配置为在多个第一周期中的每个第一周期期间从所述第一存储体组接收内部数据,所述第一周期等于为了连续访问所述多个存储体组中的相同的存储体组所需要的延迟时间;

第二运算数缓冲器,被配置为在多个第二周期中的每个第二周期期间通过所述内部存储器总线来接收外部数据,所述第二周期等于为了连续访问所述多个存储体组中的不同的存储体组所需要的延迟时间且所述第二周期短于所述第一周期;以及

算术逻辑单元“alu”,被配置为从所述第一运算数缓冲器接收内部数据,从所述第二运算数缓冲器接收外部数据,以及针对所述内部数据和所述外部数据执行pim算术运算。

24.根据权利要求23所述的半导体存储器设备,其中,所述第一运算数缓冲器包括被连接至所述第一存储体组且被配置为接收内部数据的输入、以及被配置为输出内部数据的输出,

所述第二运算数缓冲器包括被连接至所述内部存储器总线且被配置为接收外部数据的输入、以及被配置为输出外部数据的输出,

所述alu包括被连接至所述第一运算数缓冲器的输出且被配置为接收内部数据的第一输入、被连接至所述第二运算数缓冲器的输出且被配置为接收外部数据的第二输入、以及被配置为输出针对所述内部数据和所述外部数据执行的pim运算的结果的输出;以及

所述计算电路还包括:

解复用器,包括被连接至所述alu的输出且被配置为接收针对所述内部数据和所述外部数据执行的pim运算的结果的第一输入、被配置为接收控制信号的第二输入、第一输出和第二输出,所述解复用器被配置为响应于所述控制信号将所述解复用器的第一输入交替连接至所述解复用器的第一输出和所述解复用器的第二输出;

第一缓冲器,包括被连接至所述解复用器的第一输出的输入;

第二缓冲器,包括被连接至所述解复用器的第二输出的输入;以及

选择器,包括被连接至所述解复用器的第二输入的输出,所述选择器被配置为对所述第二周期进行计数,基于所述第二周期的计数值来生成所述控制信号,以及通过所述选择器的输出来输出所述控制信号。

25.根据权利要求21所述的半导体存储器设备,其中,所述计算电路还被配置为从所述第一存储体组接收第二内部数据,通过所述内部存储器总线来接收第三外部数据,针对所述第二内部数据和所述第三外部数据执行pim算术运算,通过所述内部存储器总线来接收第四外部数据,以及针对所述第二内部数据和所述第四外部数据执行pim算术运算。

26.根据权利要求25所述的半导体存储器设备,其中,所述计算电路接收所述第一内部数据的时间与所述计算电路接收所述第二内部数据的时间之间的等待时间等于为了连续访问所述多个存储体组中的相同的存储体组所需要的第一延迟时间,以及

所述计算电路接收所述第一外部数据的时间与所述计算电路接收所述第二外部数据的时间之间的等待时间、所述计算电路接收所述第二外部数据的时间与所述计算电路接收所述第三外部数据的时间之间的等待时间、以及所述计算电路接收所述第三外部数据的时间与所述计算电路接收所述第四外部数据的时间之间的等待时间等于为了连续访问所述多个存储体组中的不同的存储体组所需要的第二延迟时间,所述第二延迟时间短于所述第一延迟时间。

27.根据权利要求25所述的半导体存储器设备,还包括:

第一缓冲器;以及

第二缓冲器,

其中,所述计算电路还被配置为:

在所述第一缓冲器中存储针对所述第一内部数据和所述第一外部数据执行的pim算术运算的结果,

在所述第二缓冲器中存储针对所述第一内部数据和所述第二外部数据执行的pim算术运算的结果,

将针对所述第二内部数据和所述第三外部数据执行的pim算术运算的结果与所述第一缓冲器中存储的针对所述第一内部数据和所述第一外部数据执行的pim算术运算的结果相加,以获得第一求和结果,

在所述第一缓冲器中存储所述第一求和结果,

将针对所述第二内部数据和所述第四外部数据执行的pim算术运算的结果与所述第二缓冲器中存储的针对所述第一内部数据和所述第二外部数据执行的pim算术运算的结果相加,以获得第二求和结果,以及

在所述第二缓冲器中存储所述第二求和结果。

技术总结
一种半导体存储器设备包括:多个存储体组,被配置为被并行访问;内部存储器总线,被配置为从多个存储体组的外部接收外部数据;以及第一计算电路,被配置为:在多个第一周期中的每个第一周期期间从多个存储体组中的第一存储体组接收内部数据,在多个第二周期中的每个第二周期期间通过内部存储器总线来接收外部数据,第二周期短于第一周期,并且在每个第二周期期间针对内部数据和外部数据执行存储器中处理(PIM)算术运算。

技术研发人员:姜信行;吴成一
受保护的技术使用者:三星电子株式会社
技术研发日:2019.09.05
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-30307.html

最新回复(0)