存储设备、操作存储设备的方法以及系统

文档序号:1520725 发布日期:2020-02-11 浏览:13次 >En<

阅读说明:本技术 存储设备、操作存储设备的方法以及系统 (Storage device, method and system for operating storage device ) 是由 K.帕万库马尔 吴成一 柳鹤洙 于 2019-03-18 设计创作,主要内容包括:提供了一种存储设备、一种操作存储设备的方法和一种系统。存储设备包括存储单元阵列和执行内部处理操作的存储器内处理器(PIM)。在内部处理模式下,存储设备基于存储在存储单元阵列中的内部处理信息通过PIM来执行内部处理操作。当内部处理信息是指示内部处理操作的类型的内部处理操作命令时,存储设备将包括内部处理读取命令和内部处理写入命令的内部处理操作命令输出到主机设备。主机设备向存储设备发出从数据事务命令和内部处理操作命令中确定的优先命令。(A storage device, a method of operating a storage device, and a system are provided. The storage device includes an array of storage cells and an in-memory Processor (PIM) that performs internal processing operations. In the internal processing mode, the storage device performs internal processing operations by the PIM based on internal processing information stored in the storage cell array. When the internal processing information is an internal processing operation command indicating a type of the internal processing operation, the storage device outputs an internal processing operation command including an internal processing read command and an internal processing write command to the host device. The host device issues a priority command determined from the data transaction command and the internal processing operation command to the storage device.)

存储设备、操作存储设备的方法以及系统

相关申请的交叉引用

本申请要求于2018年7月30日在韩国知识产权局提交的韩国专利申请No.10-2018-0088682的优先权,其公开内容通过引用整体并入本文。

技术领域

与本发明构思的示例性实施例一致的装置和方法涉及执行内部处理操作的存储设备、操作该存储设备的方法以及包括该存储设备的存储系统。

背景技术

需要高性能和低功耗的诸如计算机图形、服务器、超级计算机和网络的各种系统正处于发展中。这些系统包括存储由包括在系统中的主机使用的数据或指令或者执行计算操作的存储设备。

动态随机存取存储器(DRAM)是具有高响应速度和高运算速度特性的存储设备。系统通常使用DRAM作为系统的工作存储器或主存储器。通用DRAM在主机的控制下写入数据或者读取所写入的数据。当执行计算操作时,主机从DRAM中检索指令和/或数据并使用该数据来执行指令和/或执行计算操作。当存在计算操作的结果时,主机将计算操作的结果写回到DRAM。

因为从DRAM中检索指令和/或数据并写回DRAM的操作相对慢,而主机执行的计算操作相当快,所以系统性能可能变慢。另外,在数据密集型系统的情况下,系统性能可能由于DRAM的存储带宽限制而降低。

为了改善系统性能,开发了包括内部处理器的存储设备,以通过内部处理执行主机的一些计算操作。由于存储设备的内部处理,可以减少主机的计算工作量。

然而,为了防止内部处理与主机的处理之间的冲突,存储设备可能需要执行仲裁功能以确定内部处理与主机的处理的优先级。另外,存储设备可以通过内部处理执行存储设备中的读取和写入操作。在这种情况下,当在存储设备中改变存储在主机的高速缓存中的数据时,由于高速缓存中的数据不是最新的数据,因此在高速缓存数据的一致性方面可能存在限制。因此,存储设备可能需要执行诸如跨主机和存储设备的虚拟存储器地址转换的虚拟存储管理功能。

在执行内部处理的存储设备中执行仲裁功能和虚拟存储管理功能可能因为存储设备的硬件配置和/或实现复杂且困难而具有限制。

该背景技术部分中所公开的信息在实现本申请的公开内容之前已为发明人所知,或者是在实现本公开的过程中获得的技术信息。因此,它可能包含不构成公众已知的现有技术的信息。

发明内容

本发明构思的示例性实施例提供了一种存储设备、操作该存储设备的方法以及包括该存储设备的系统,该存储设备通过将仲裁功能和虚拟存储管理功能委托给主机来执行内部处理操作。

根据本发明构思的一方面,提供了一种存储设备,其包括:存储单元阵列,所述存储单元阵列被配置为存储内部处理信息;以及存储器内处理器(PIM),所述PIM被配置为在内部处理模式下基于所述内部处理信息执行内部处理操作,其中,当所述内部处理信息包括指示所述内部处理操作的类型的内部处理操作命令时,所述PIM将所述内部处理操作命令输出到外部设备。

根据本发明构思的一方面,提供了一种操作存储设备的方法,所述存储设备包括存储单元阵列和被配置为执行内部处理操作的存储器内处理器(PIM),所述方法包括:在外部设备的控制下进入内部处理模式;通过所述PIM在所述内部处理模式下,基于存储在所述存储单元阵列中的内部处理信息执行所述内部处理操作;以及当所述内部处理信息包括指示所述内部处理操作的类型的内部处理操作命令时,将所述内部处理操作命令输出到所述外部设备。

根据本发明构思的一方面,提供了一种主机设备,其包括:主机处理器,所述主机处理器被配置为执行计算操作并且根据所述计算操作发出存储请求命令;以及存储控制器,所述存储控制器被配置为接收所述存储请求命令,根据所述存储请求命令发出用于访问存储设备的数据事务命令,并且控制所述存储设备的内部处理模式,其中,所述存储控制器还被配置为从所述存储设备接收在所述内部处理模式下的内部处理操作期间生成的内部处理操作命令,并向所述存储设备发出从所述数据事务命令和所述内部处理操作命令中确定的优先命令。

根据本发明构思的一方面,提供了一种操作包括主机处理器和存储控制器的主机设备的方法,所述方法包括:所述主机处理器根据计算操作发出存储请求命令;所述存储控制器根据所述存储请求命令发出用于访问存储设备的数据事务命令;所述存储控制器控制所述存储设备进入内部处理模式;所述存储控制器从所述存储设备接收在所述内部处理模式下的内部处理操作期间生成的内部处理操作命令;以及所述存储控制器向所述存储设备发出从所述数据事务命令和所述内部处理操作命令中确定的优先命令。

根据本发明构思的一方面,提供了一种系统,其包括:执行计算操作的主机设备;以及存储设备,所述存储设备在所述主机设备的控制下,根据所述计算操作执行存储请求操作以及基于存储在所述存储设备所包括的存储单元阵列中的内部处理信息执行内部处理操作,其中,所述内部处理信息包括所述存储设备发送到所述主机设备的内部处理操作命令,其中,根据所述内部处理操作命令,所述主机设备控制所述存储设备执行所述内部处理操作。

附图说明

通过以下结合附图的详细描述,将更清楚地理解本发明构思的示例性实施例,其中:

图1是示出了根据本发明构思的实施例的包括执行内部处理操作的存储设备的系统的框图;

图2是示出了图1的系统的操作的示图;

图3是示出了根据本发明构思的实施例的存储设备的框图;

图4是示出了根据本发明构思的实施例的操作存储设备的方法的流程图;

图5是示出了根据本发明构思的实施例的操作主机设备的方法的流程图;

图6是示出了根据本发明构思的另一实施例的包括执行内部处理操作的存储设备的系统的框图;

图7是示出了可以应用根据本发明构思的实施例的包括执行内部处理操作的存储设备的系统的服务器系统的框图;以及

图8是示出了可以应用根据本发明构思的实施例的包括执行内部处理操作的存储设备的系统的数据中心的框图。

具体实施方式

以下描述的实施例都是示例性的,因此,本发明构思不限于下面公开的这些实施例,并且可以以各种其他形式实现。在以下描述中提供的实施例不排除与本文还提供的或者本文未提供的但与本发明构思一致的另一示例或另一实施例的一个或更多个特征相关联。例如,即使在具体示例中描述的内容未在与其不同的示例中进行描述,也可以将这些内容理解为与不同的示例相关或者与不同的示例组合,除非在对不同的示例的描述中另外提及。

图1是示出了根据本发明构思的实施例的包括执行内部处理操作的存储设备的系统的框图。

参照图1,系统100可以包括主机设备110和存储设备120。主机设备110可以通过信道CH1和CH2通信地连接到存储设备120。存储设备120可以以执行数据事务操作的正常模式和执行内部处理操作的内部处理模式中的任何一种模式进行操作。存储设备120的数据事务操作可以包括向存储单元阵列122的写入操作/从存储单元阵列122的读取操作。存储设备120可以是包括执行内部处理操作的存储器内处理器(processor-in-memory,PIM)类型的存储设备。

主机设备110可以例如是计算系统,比如计算机、笔记本计算机、服务器、工作站、便携式通信终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、智能手机或可穿戴设备。或者,主机设备110可以是包括在计算系统中的诸如显卡的一些组件。

主机设备110可以包括主机处理器112、存储控制器114和PIM代理116。主机处理器112、存储控制器114和PIM代理116可以通过包括至少包括一条或更多条信号线的总线118互连。

主机处理器112可以是在系统100中执行一般计算操作的功能块,并且可以对应于中央处理单元(CPU)、图形处理单元(GPU)或应用处理器(AP)。主机处理器112可以发出与用于计算操作的存储请求相关联的存储请求命令MEMREQ CMD。主机处理器112可以包括存储管理单元(MMU)。当MMU向存储设备120发出存储请求命令MEMREQ CMD时,MMU可以执行诸如虚拟存储地址转换的虚拟存储管理功能。

存储控制器114可以根据主机处理器112的存储请求命令MEMREQ CMD来访问存储设备120。存储控制器114可以将存储请求命令MEMREQ CMD优先化并向存储设备120发出根据存储请求命令MEMREQ CMD生成的数据事务命令。

存储控制器114可以控制存储设备120以将数据写入存储设备120或者读取被写入存储设备120中的数据。存储控制器114可以通过向存储设备120提供命令CMD和地址ADDR来控制对存储设备120的写入或读取操作。此外,可以在存储控制器114与存储设备120之间交换写入数据DQ和读取数据DQ。可以通过主机设备110与存储设备120之间的执行预定协议(例如,DDR协议)的第一信道CH1来执行数据事务操作。第一信道CH1可以包括用于发送命令CMD、地址ADDR和数据DQ的总线或信号线。

PIM代理116可以控制存储设备120在内部处理模式下进行操作。PIM代理116可以生成内部处理模式信号IPM并将其发送到存储设备120。存储设备120可以响应于内部处理模式信号IPM而执行内部处理操作。内部处理模式信号IPM可以是特定的专用信号。在这种情况下,内部处理模式信号IPM可以通过主机设备110与存储设备120之间的第二信道CH2的总线和/或信号线发送到存储设备120。

根据一个实施例,PIM代理116可以激活内部处理模式信号IPM并将其发送到存储设备120。内部处理模式信号IPM可以作为若干信号的组合(例如,命令组合、模式寄存器组(MRS)或地址组合)被发送到存储设备120。在这种情况下,内部处理模式信号IPM可以通过主机设备110与存储设备120之间的第一信道CH1的总线和/或信号线发送到存储设备120。

内部处理模式信号IPM可以允许存储设备120在内部处理模式下进行操作。在内部处理模式下,内部处理操作可以包括访问存储单元阵列122以对存储在存储单元阵列122中的数据执行处理操作。

例如,内部处理操作可以是对存储在存储单元阵列122中的数据的处理操作,例如数据反转、数据移位、数据交换、数据比较、逻辑运算(AND、XOR等)或数学运算(加法、减法等)。存储设备120可以向主机设备110发送指示内部处理操作的类型的内部处理操作命令IPCMD。在这种情况下,内部处理操作命令IPCMD可以通过主机设备110与存储设备120之间的第二信道CH2的总线和/或信号线发送到PIM代理116。内部处理操作命令IPCMD可以包括内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE。

PIM代理116可以从存储设备120接收当存储设备120以内部处理模式操作时生成的内部处理操作命令IPCMD。PIM代理116可以通过总线118将接收到的内部处理操作命令IPCMD发送到存储控制器114。存储控制器114可以接收内部处理操作命令IPCMD,并将接收到的内部处理操作命令IPCMD作为命令CMD发送到存储设备120。存储控制器114可以将构成内部处理操作命令IPCMD的内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE作为命令CMD发送到存储设备120。在这种情况下,内部处理操作命令IPCMD可以通过主机设备110与存储设备120之间的第一信道CH1的命令(CMD)总线和/或信号线发送到存储设备120。

当根据存储在存储设备120中的存储单元阵列122中的内部处理信息IPI完成了内部处理操作时,存储设备120可以向主机设备110发送指示完成了内部处理操作的完成信号DONE。当主机设备110的PIM代理116接收到完成信号DONE时,存储设备120可以退出内部处理模式。在这种情况下,完成信号DONE可以通过主机设备110与存储设备120之间的第二信道CH2的总线和/或信号线发送到PIM代理116。

存储控制器114可以接收主机处理器112的存储请求命令MEMREQCMD,并且根据存储请求命令MEMREQ CMD生成数据事务命令以执行数据事务操作。存储控制器114可以根据数据事务操作向存储设备120发出数据事务命令,并且存储设备120可以根据数据事务命令在正常模式下进行操作。存储控制器114可以向存储设备120发出内部处理操作命令IPCMD,并且存储设备120可以在内部处理模式下进行操作。

当向存储设备120发出数据事务命令和内部处理操作命令IPCMD时,存储控制器114可以将这些命令进行优先排序并向存储设备120发出这些命令。存储控制器114可以执行仲裁功能以从数据事务命令和内部处理操作命令IPCMD中确定或选择要优先处理的优先命令,并向存储设备120发出优先命令。存储控制器114可以通过主机设备110与存储设备120之间的第一信道CH1的CMD总线和/或CMD信号线向存储设备120发出优先命令。

存储设备120可以在存储控制器114的控制下写入数据或读取数据。例如,存储设备120可以包括动态随机存取存储器(DRAM)。然而,本发明构思不限于此,并且存储设备120可以包括诸如静态RAM(SRAM)、DRAM、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)、低功率双倍数据速率(LPDDR)SDRAM、宽I/O DRAM、高带宽存储器(HBM)和混合存储立方体(HMC)的易失性存储设备中的任何一种。根据一个实施例,存储设备120可以包括诸如闪速存储设备、相变RAM(PRAM)、磁RAM(MRAM)、电阻RAM(RRAM)和铁电RAM(FRAM)的非易失性存储设备中的任何一种。

存储设备120可以包括存储单元阵列122和PIM 124。存储单元阵列122和PIM 124可通过至少一条或更多条信号线126互连。

存储单元阵列122可以包括多个存储单元。多个存储单元可以分别连接到多条字线和多条位线。存储单元阵列122可以在主机设备110的控制下存储内部处理信息IPI。内部处理信息IPI可以是用于由PIM 124执行的内部处理操作的信息,并且可以包括诸如内部处理操作命令IPCMD和内部处理数据的信息。内部处理数据可以包括根据诸如数据交换的内部处理操作命令IPCMD的特定地址信息。

PIM 124可以在主机设备110的控制下执行内部处理操作。PIM 124可以从主机设备110接收内部处理模式信号IPM并且响应于所接收的内部处理模式信号IPM而进入内部处理模式。PIM 124可以在内部处理模式下基于存储在存储单元阵列122中的内部处理信息IPI执行内部处理操作。例如,内部处理操作可以指对存储在存储单元阵列122中的数据的处理操作,例如数据反转、数据移位、数据交换、数据比较、逻辑运算或数学运算。

在根据存储在存储单元阵列122中的内部处理信息IPI完成了内部处理操作之后,PIM 124可以生成完成信号DONE并将其发送到主机设备110。完成信号DONE可以通过主机设备110与存储设备120之间的第二信道CH2的总线和/或信号线发送到PIM代理116。

与主机处理器112类似,包括在存储设备120中的PIM 124可以是具有处理功能的硬件。当PIM 124被称为内部处理器时,术语“内部”可以表示它在存储设备120中。因此,存储设备120“外部”的处理器可以指例如主机处理器112。

存储设备120可以在主机设备110的控制下在执行数据事务操作的正常模式下进行操作,或者在执行内部处理操作的内部处理模式下进行操作。

在正常模式下,存储设备120可以在主机设备110的控制下通过第一信道CH1执行数据事务操作。数据事务操作可以指根据诸如DDR协议的预定的联合电子设备工程委员会(JEDEC)时序规范来执行写入操作和/或读取操作。在正常模式下,存储设备120的写入操作和/或读取操作可以由主机设备110的存储控制器114执行。在正常模式下,用于存储设备120的写入操作和/或读取操作的命令CMD、地址ADDR和/或数据DQ可以通过主机设备110与存储设备120之间的第一信道CH1的总线和/或信号线发送到存储设备120。

在内部处理模式下,存储设备120可以在主机设备110的控制下通过第一信道CH1或第二信道CH2执行内部处理操作。主机设备110可以激活内部处理模式信号IPM并将其发送到存储设备120,以便存储设备120进入内部处理模式。内部处理模式信号IPM可以通过主机设备110与存储设备120之间的第一信道CH1或第二信道CH2的总线和/或信号线来发送。

存储设备120可以响应于内部处理模式信号IPM而进入内部处理模式。当进入内部处理模式时,可以在主机设备110的控制下将内部处理信息IPI写入或上载到存储单元阵列122中。可以通过存储设备120的写入命令CMD来执行对内部处理信息IPI的写入操作。内部处理信息IPI可以通过主机设备110与存储设备120之间的第一信道CH1的总线和/或信号线来发送。

在内部处理模式下,当内部处理信息IPI先前被写入或上载到存储单元阵列122中时,可以跳过对内部处理信息IPI的写入操作。例如,当系统100通电时,存储在系统100中所包括的单独存储介质(例如,固态硬盘(SSD))中的信息可以被预加载并存储到存储单元阵列122中。在内部处理模式下,存储设备120可以读取写入到存储单元阵列122中的内部处理信息IPI。PIM124可以读取内部处理信息IPI。当所读取的内部处理信息IPI包括或者是指示内部处理操作的类型(例如,数据反转、数据移位、数据交换、数据比较、逻辑操作或数学运算)的内部处理操作命令IPCMD时,PIM 124可以将构成内部处理操作命令IPCMD的内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE发送到主机设备110。内部处理操作命令IPCMD可以通过主机设备110与存储设备120之间的第二信道CH2的总线和/或信号线发送到PIM代理116。

如上所述,主机设备110的存储控制器114可以执行仲裁功能以将数据事务命令和内部处理操作命令IPCMD进行优先排序并将它们发送到存储设备120。因此,存储设备120可以不需要执行额外的仲裁功能。此外,当存储控制器114向存储设备120发出内部处理操作命令IPCMD时,主机处理器112的MMU可以根据内部处理操作命令IPCMD执行诸如虚拟存储地址转换的虚拟存储管理功能。因此,存储设备120可以不需要执行与内部处理操作相关联的虚拟存储管理功能。也就是说,由于仲裁功能和虚拟存储管理功能被委托给主机设备110,所以存储设备120可以简单且容易地执行内部处理操作,而无需复杂的硬件配置和/或实现。

图2是示出了图1的系统100的操作的示图。

结合图1参照图2,在操作S210中,主机设备110可以指示存储设备120进入内部处理模式。主机设备110的PIM代理116可以激活包括各种信号的组合的内部处理模式信号IPM(例如,专用信号或命令组合、MRS或地址组合)并将其发送到存储设备120。内部处理模式信号IPM可以通过主机设备110与存储设备120之间的第一信道CH1或第二信道CH2的总线和/或信号线来发送。

在操作S220中,存储设备120可以响应于内部处理模式信号IPM而进入内部处理模式并执行内部处理操作。

当存储设备120进入内部处理模式时,主机设备110可以控制存储设备120,使得可以将用于要由PIM 124执行的内部处理操作的内部处理信息IPI写入或上载到存储单元阵列122中。可以通过主机设备110与存储设备120之间的第一信道CH1的总线和/或信号线来执行对内部处理信息IPI的写入操作。PIM 124可以检测内部处理信息IPI是否包括内部处理操作命令。

在操作S230中,存储设备120可以向主机设备110发送在内部处理模式下操作时检测到的内部处理操作命令IPCMD。

在内部处理模式下,存储设备120的PIM 124可以基于存储在存储单元阵列122中的内部处理信息IPI来执行内部处理操作。PIM 124可以读取存储在存储单元阵列122中的内部处理信息IPI。当所读取的内部处理信息IPI包括或者是指示内部处理操作的类型(例如,数据反转、数据移位、数据交换、数据比较、逻辑运算或数学运算)的内部处理操作命令IPCMD时,PIM 124可以将构成内部处理操作命令IPCMD的内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE发送到主机设备110。包括内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE的内部处理操作命令IPCMD可以通过主机设备110与存储设备120之间的第二信道CH2的总线和/或信号线发送到PIM代理116。

在操作S240中,主机设备110可以向存储设备120发出从存储设备120接收的内部处理操作命令IPCMD。

主机设备110的PIM代理116可以从PIM 124接收包括内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE的内部处理操作命令IPCMD,并且通过总线118将所接收的内部处理操作命令IPCMD发送到存储控制器114。存储控制器114可以从所接收的内部处理操作命令IPCMD和要发到存储设备120的数据事务命令中确定或选择要优先处理的优先命令。

在本实施例中,当优先命令是内部处理操作命令IPCMD时,存储控制器114可以向存储设备120发出内部处理操作命令IPCMD。存储控制器114可以通过主机设备110与存储设备120之间的第一信道CH1的CMD总线和/或CMD信号线向存储设备120发出内部处理操作命令IPCMD。在另一实施例中,当优先命令是数据事务命令时,存储控制器114可以通过主机设备110与存储设备120之间的第一信道CH1的CMD总线和/或CMD信号线向存储设备120发出数据事务命令。

在操作S250中,存储设备120可以根据从存储控制器114发出的包括内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE的内部处理操作命令IPCMD,通过PIM 124与存储单元阵列122之间的信号线126执行内部处理操作。

一些或大多数内部处理操作可以是通过内部处理操作命令IPCMD执行的数据通信操作。数据通信操作可以包括从存储单元阵列122读取内部处理数据(例如,在内部处理操作中使用的参考数据、源数据、目的地数据或目标数据)的操作以及将内部处理操作的处理结果写入存储单元阵列122的操作。例如,假设PIM 124可以根据包括内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE的内部处理操作命令IPCMD来执行数据搜索、数据传输、数据添加或数据交换。

当包括内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE的内部处理操作命令IPCMD是用于数据搜索的命令时,PIM 124可以根据内部处理读取命令PIM_READ确定内部处理数据是否存储在存储单元阵列122中。PIM 124可以输出命中/未命中或地址信息作为数据搜索操作的处理结果。PIM 124可以根据内部处理写入命令PIM_WRITE将根据数据搜索操作的命中/未命中或地址信息写入存储单元阵列122中。

当包括内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE的内部处理操作命令IPCMD是用于数据传输的命令时,PIM 124可以根据内部处理读取命令PIM_READ和内部处理写入命令PIM_WRITE将与参考地址信息相对应的数据传输到目标区域。PIM 124可以输出关于目标区域的地址信息作为数据传输操作的处理结果。可以在存储单元阵列122中执行通过PIM 124传输数据和写入目标区域的地址信息的操作。

当包括内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE的内部处理操作命令IPCMD是用于数据添加的命令时,PIM 124可以根据内部处理读取命令PIM_READ从存储单元阵列122读取与参考地址信息相对应的数据,并且可以根据内部处理写入命令PIM_WRITE将内部处理数据添加到读取数据并将添加结果存储在存储单元阵列122中。PIM124可以输出关于存储添加结果数据的区域的地址信息作为数据添加操作的处理结果。可以在存储单元阵列122中执行通过PIM 124添加数据和写入关于存储添加结果数据的区域的地址信息的操作。

当包括内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE的内部处理操作命令IPCMD是用于数据交换的命令时,PIM 124可以根据内部处理读取命令PIM_READ从存储单元阵列122读取分别与第一参考地址信息和第二参考地址信息对应的第一数据和第二数据,交换所读取的第一数据和第二数据,并根据内部处理写入命令PIM_WRITE将交换后的第一数据和第二数据分别存储在与关于存储单元阵列122的第一参考地址信息和第二参考地址信息相对应的存储单元中。可以在存储单元阵列122中执行通过PIM 124的数据交换操作。

可以重复执行上述操作S220至S250,直到PIM 124对存储在存储单元阵列122中的所有内部处理信息IPI进行了处理。

在操作S260中,存储设备120可以根据内部处理信息IPI完成内部处理操作,并退出内部处理模式。

在根据存储在存储单元阵列122中的内部处理信息IPI完成了内部处理操作之后,PIM 124可以将完成信号DONE发送到主机设备110。完成信号DONE可以通过主机设备110与存储设备120之间的第二信道CH2的总线和/或信号线发送到PIM代理116。

图3是示出了根据本发明构思的实施例的存储设备的框图。在本实施例中,假设存储设备120是DRAM;然而,本发明构思的范围不限于此。

参照图1和图3,存储设备120可以包括存储单元阵列122、PIM 124、命令/地址缓冲器310、行/列译码器312、读出放大器/写入驱动器(SA/WD)314、开关电路316和数据输入/输出(IO)缓冲器318。

存储单元阵列122可以包括按行和列布置的矩阵形式设置的多个存储单元。存储单元阵列122可以包括连接到存储单元的多条字线和多条位线。多条字线可以连接到存储单元的行,多条位线可以连接到存储单元的列。

命令/地址缓冲器310可以通过第一信道CH1从存储控制器114接收与命令CMD相对应的控制信号。控制信号可以包括例如写入使能信号/WE、行地址选通信号/RAS、列地址选通信号/CAS和/或芯片选择信号/CS,命令CMD可以包括例如激活命令、读取命令、写入命令和/或预充电命令。

命令/地址缓冲器310可以通过第一信道CH1从存储控制器114接收地址ADDR。地址ADDR可以包括用于寻址存储单元阵列122的行的行地址和用于寻址存储单元阵列122的列的列地址。命令/地址缓冲器310可以将行地址和列地址发送到行/列译码器312。

行/列译码器312可以选择连接到存储单元阵列122的多条字线中的任何一条字线。行/列译码器312可以对从命令/地址缓冲器310接收的行地址进行译码,选择对应于行地址的一条字线,并激活所选择的字线。

行/列译码器312可以选择连接到存储单元阵列122的多条位线中的某一条位线。行/列译码器312可以对从命令/地址缓冲器310接收的列地址进行译码,并选择对应于列地址的某些位线。

读出放大器/写入驱动器314可以感测由行/列译码器312选择的位线的电压变化,并且基于读出放大的电压将输出数据提供给开关电路316。另外,读出放大器/写入驱动器314可以从开关电路316接收数据并将所接收的数据写入连接到由行/列译码器312选择的位线的存储单元。

数据输入/输出缓冲器318可以通过第一信道CH1从存储控制器114接收数据,并将所接收的数据提供给开关电路316。此外,数据输入/输出缓冲器318可以通过第一信道CH1的数据DQ总线和/或数据DQ信号线从开关电路316接收数据并将所接收的数据提供给存储控制器114。

可以选择性地控制开关电路316,使得存储设备120根据存储设备120的正常模式执行数据事务操作,以及根据存储设备120的内部处理模式执行内部处理操作。

在正常模式的读取操作中,开关电路316可以将从存储单元阵列122和读出放大器/写入驱动器314接收的数据发送到数据输入/输出缓冲器318。数据输入/输出缓冲器318可以通过第一信道CH1将从开关电路316接收的数据提供给存储控制器114。

在正常模式的写入操作中,开关电路316可以将从数据输入/输出缓冲器318接收的数据发送到读出放大器/写入驱动器314。读出放大器/写入驱动器314可以将从开关电路316接收的数据写入连接到由行/列译码器312选择的字线和位线的存储单元中。

在内部处理模式下,开关电路316可以从数据输入/输出缓冲器318接收内部处理信息IPI,并且通过读出放大器/写入驱动器314将所接收的内部处理信息IPI写入或上载到存储单元阵列122中。此后,可以由PIM 124访问或读取写入存储单元阵列122中的内部处理信息IPI。

在内部处理模式下,开关电路316可以通过读出放大器/写入驱动器314接收从存储单元阵列122读取的内部处理信息IPI,并将所接收的内部处理信息IPI发送到PIM 124。

PIM 124可以被实现为计算密集型核、GPU加速器或现场可编程门阵列(FPGA)。或者,PIM 124可以被实现为执行并行计算、数据重用、数据值的定位(locality)或深度神经网络的神经处理单元(NPU)。PIM 124可以包括内部处理器320、控制电路322、命令队列324和命令检测器326。

内部处理器320可以基于内部处理信息IPI执行内部处理操作。内部处理器320可以从主机设备110接收内部处理模式信号IPM,并且响应于所接收的内部处理模式信号IPM而进入内部处理模式。在内部处理模式下,内部处理器320可以从存储单元阵列122读取内部处理信息IPI,并基于所读取的内部处理信息IPI执行内部处理操作。在根据内部处理信息IPI完成了内部处理操作之后,内部处理器320可以生成完成信号DONE并将其发送到PIM代理116。

根据存储设备120的正常模式或内部处理模式,控制电路322可以控制开关电路316以配置数据路径。

在正常模式下,控制电路322可以控制开关电路316以配置连接第一信道CH1、数据输入/输出缓冲器318、开关电路316、读出放大器/写入驱动器314和存储单元阵列122的正常数据路径。可以通过正常数据路径执行数据事务操作。

在内部处理模式下,控制电路322可以控制开关电路316以将内部处理信息IPI写入或上载到存储单元阵列122中。在这种情况下,控制电路322可以配置连接第一信道CH1、数据输入/输出缓冲器318、开关电路316、读出放大器/写入驱动器314和存储单元阵列122的正常数据路径,并且可以将通过正常数据通路发送的内部处理信息IPI写入存储单元阵列122中。

在内部处理模式下,控制电路322可以控制开关电路316以配置连接PIM124、开关电路316、读出放大器/写入驱动器314和存储单元阵列122的内部操作数据路径。通过内部操作数据路径从存储单元阵列122读取的内部处理信息IPI可以发送到PIM 124的内部处理器320。此外,在内部处理器320中根据内部处理信息IPI执行的内部处理操作的处理结果可以通过内部操作数据路径被写回到存储单元阵列122。

当从存储单元阵列122读取的内部处理信息IPI包括或者是指示内部处理操作的类型的内部处理操作命令IPCMD时,内部处理器320可以将构成内部处理操作命令IPCMD的内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE存储在命令队列324中。命令队列324可以存储包括内部处理读取命令PIM_READ和内部处理写入命令PIM_WRITE中的至少一者的内部处理操作命令IPCMD。

可以通过第二信道CH2将命令队列324的内部处理操作命令IPCMD发送到PIM代理116,并且PIM代理116可以通过主机设备110中的总线118将从命令队列324接收的内部处理操作命令IPCMD发送到存储控制器114。存储控制器114可以通过第一信道CH1将包括所接收的内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE的内部处理操作命令IPCMD作为命令CMD发送到存储设备120的命令/地址缓冲器310。

命令检测器326可以确定由命令/地址缓冲器310接收的命令CMD是否包括或者是内部处理操作命令IPCMD。当确定出所接收的命令CMD包括或者是内部处理操作命令IPCMD时,命令检测器326可以将内部处理操作命令IPCMD发送到内部处理器320。内部处理器320可以根据包括内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE的内部处理操作命令IPCMD来执行内部处理操作。

图4是示出了根据本发明构思的实施例的操作存储设备的方法的流程图。

参照图3和图4,在操作S410中,PIM 124可以接收内部处理模式信号IPM并且响应于内部处理模式信号IPM而进入内部处理模式。

在操作S412中,PIM 124可以基于存储在存储单元阵列122中的内部处理信息IPI来执行内部处理操作。

在操作S414中,PIM 124可以向主机设备110的PIM代理116发送在内部处理模式下的操作期间生成的内部处理操作命令IPCMD。PIM 124可以从存储单元阵列122读取内部处理信息IPI。当所读取的内部处理信息IPI包括或者是内部处理操作命令IPCMD时,PIM 124可以向PIM代理116发送构成内部处理操作命令IPCMD的内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE。

在操作S416中,命令/地址缓冲器310可以从主机设备110的存储控制器114接收命令CMD。

在操作S420中,命令检测器326可以确定从存储控制器114接收的命令CMD是否包括或者是内部处理操作命令IPCMD。作为确定的结果,当从存储控制器114接收的命令CMD包括或者是内部处理操作命令IPCMD时,该方法可以进行到操作S422,而当接收到的命令CMD不包括或不是内部处理时操作命令IPCMD时,该方法可以进行到操作S430。

在操作S422中,PIM 124可以根据内部处理操作命令IPCMD执行与存储单元阵列122的内部处理操作。也就是说,可以从存储单元阵列122读取在根据内部处理操作命令IPCMD的内部处理操作中使用的内部处理数据,或者可以将内部处理操作的处理结果写入存储单元阵列122中。

在操作S424中,PIM 124可以基于存储在存储单元阵列122中的内部处理信息IPI来确定内部处理操作是否完成。例如,PIM 124可以确定在存储单元阵列122中是否仍有任何内部处理信息IPI。作为确定的结果,当内部处理操作完成时,该方法可以进行到操作S426。当基于内部处理信息IPI还有要执行的内部处理操作时,该方法可以进行到操作S412,并且基于剩余的内部处理信息IPI执行内部处理操作。

在操作S426中,PIM 124可以将内部处理操作的完成信号DONE发送到主机设备110的PIM代理116,并退出内部处理操作模式。

作为操作S420中的确定结果,当从存储控制器114接收的命令CMD不包括或不是内部处理操作命令IPCMD时,即,当命令CMD包括或者是数据事务命令时,可以根据数据事务命令在存储控制器114与存储单元阵列122之间执行诸如数据通信操作的数据事务操作(操作S430)。

图5是示出了根据本发明构思的实施例的操作主机设备的方法的流程图。

参照图1和图5,在操作S510中,主机处理器112可以向存储控制器114发出用于计算操作的存储请求命令MEMREQ CMD,存储控制器114根据存储请求命令MEMREQ CMD生成数据事务命令以执行数据事务操作。

在操作S512中,PIM代理116可以将内部处理模式信号IPM发送到存储设备120的PIM 124。PIM 124可以进入内部处理模式并响应于内部处理模式信号IPM而执行内部处理操作。

在操作S514中,PIM代理116可以接收在PIM 124的内部处理操作期间生成的包括内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE的内部处理操作命令IPCMD。PIM代理116可以将所接收的内部处理操作命令IPCMD发送到存储控制器114。

在操作S516中,存储控制器114可以在数据事务命令与内部处理操作命令IPCMD之间执行仲裁功能以确定其优先级。作为确定的结果,当优先命令是内部处理操作命令IPCMD时,该方法可以进行到操作S520,而当优先命令是用于计算操作的数据事务命令时,该方法可以进行到操作S530。

在操作S520中,存储控制器114可以通过第一信道CH1的CMD总线和/或CMD信号线向存储设备120发出内部处理操作命令IPCMD。在这种情况下,存储控制器114可以执行与内部处理操作命令IPCMD相关联的诸如虚拟存储地址转换的虚拟存储管理功能,并且向存储设备120发出内部处理操作命令IPCMD。

在操作S522中,PIM 124可以根据内部处理操作命令IPCMD执行与存储单元阵列122的诸如数据通信操作的内部处理操作。

在操作S524中,当PIM 124根据内部处理信息IPI完成了内部处理操作时,PIM代理116可以从PIM 124接收内部处理操作的完成信号DONE。

在操作S530中,存储控制器114可以通过第一信道CH1的CMD总线和/或CMD信号线向存储设备120发出用于计算操作的数据事务命令。在这种情况下,存储控制器114可以通过执行与数据事务命令相关联的诸如虚拟存储地址转换的虚拟存储管理功能,来向存储设备120发出数据事务命令。

在操作S532中,存储控制器114可以根据与存储请求相关联的数据事务命令来执行与存储单元阵列122的数据通信操作。

图6是示出了根据本发明构思的另一实施例的包括执行内部处理操作的存储设备的系统的框图。

图6的系统600可以包括主机设备110a和存储设备120。与图1中所示的系统100的主机设备110不同,主机设备110a可以包括主机处理器112和存储控制器114a,并且可以不包括PIM代理116,其他组件可以与图1中的那些组件类似。在下文中,将主要描述与图1的不同之处。

参照图6,存储控制器114a可以被配置为包括图1中所示的PIM代理116的功能。存储控制器114a可以控制存储设备120在内部处理模式下操作。存储控制器114a可以激活内部处理模式信号IPM并通过第一信道CH1或第二信道CH2将其发送到存储设备120。存储控制器114a可以通过第二信道CH2从存储设备120接收在存储设备120以内部处理模式操作时生成的包括内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE的内部处理操作命令IPCMD。存储控制器114a可以通过第二信道CH2从存储设备120接收指示完成了内部处理操作的完成信号DONE。

系统600可以包括用于执行计算操作的主机设备110a和存储设备120。在主机设备110a的控制下,存储设备120可以根据计算操作执行存储请求操作以及基于存储在存储单元阵列122中的内部处理信息IPI来执行内部处理操作。当内部处理信息IPI包括或者是指示内部处理操作的类型的内部处理操作命令IPCMD时,存储设备120可以将内部处理操作命令IPCMD发送到主机设备110a。主机设备110a可以向存储设备120发出用于存储请求操作的数据事务命令。主机设备110a可以通过在数据事务命令与从存储设备120接收到的内部处理操作命令IPCMD之间进行仲裁,来向存储设备120发出优先命令。当向存储设备120发出优先命令时,主机设备110a可以执行与优先命令相关联的包括虚拟存储地址转换的虚拟存储管理功能。存储设备120可以生成指示完成了基于内部处理信息IPI所执行的内部处理操作的完成信号,并将完成信号发送到主机设备110a。

图7是示出了可以应用根据本发明构思的实施例的包括执行内部处理操作的存储设备的系统的服务器系统的框图。

参照图7,服务器系统700可以包括多个服务器100_1、100_2、…、100_N。多个服务器100_1、100_2、…、100_N可以包括连接到PCIe总线的存储装置。***组件互连高速(PCIe)是被设计为取代PCI、PCI-X和加速图形端口(AGP)总线标准的高速串行计算机扩展总线标准。PCIe可以包括更高的最大系统总线吞吐量、更少的I/O引脚数、更小的物理占用空间、良好的总线设备性能扩展和更详细的错误检测以及报告机制。多个服务器100_1、100_2、…、100_N可以连接到管理器710。多个服务器100_1、100_2、…、100_N可以包括上面参照图1至图6所描述的系统100或者与上面参照图1至图6所描述的系统100相同或相似。

多个服务器100_1、100_2、…、100_N中的每个服务器可以包括用于执行计算操作的主机设备和存储设备。在主机设备的控制下,存储设备可以根据计算操作执行存储请求操作以及基于存储在存储单元阵列中的内部处理信息IMI来执行内部处理操作。当内部处理信息IMI包括或者是指示内部处理操作的类型的内部处理操作命令IPCMD时,存储设备可以将包括内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE的内部处理操作命令IPCMD发送到主机设备。主机设备可以向存储设备发出用于存储请求操作的数据事务命令。主机设备可以通过在数据事务命令与从存储设备接收的内部处理操作命令IPCMD之间进行仲裁来向存储设备发出优先命令。当向存储设备发出优先命令时,主机设备可以执行与优先命令相关联的包括虚拟存储地址转换的虚拟存储管理功能。存储设备可以生成指示完成了基于内部处理信息IMI所执行的内部处理操作的完成信号,并将完成信号发送到主机设备。

图8是示出了可以应用根据本发明构思的实施例的包括执行内部处理操作的存储设备的系统的数据中心的框图。

参照图8,数据中心800可以包括多个服务器系统700_1、700_2、…、700_N。多个服务器系统700_1、700_2、…、700_N中的每个服务器系统可以与图7中所示的服务器系统700类似或相同。多个服务器系统700_1、700_2、…、700_N可以通过诸如因特网的网络830与各种节点810_1、810_2、…、810_M进行通信。尽管网络830被示为单独的单个网络,但是它也可以是本领域普通技术人员通常可以理解的任何类型的网络。网络830可以是个人或公共网络、有线或无线网络、或整个或部分网络。根据一个实施例,网络830可以是诸如因特网或万维网(简称“Web”)的全球网络、广域网(WAN)或局域网(LAN)。节点810_1、810_2、…、810_M可以包括客户端计算机、其他服务器、远程数据中心和存储系统中的任何一种。

多个服务器系统700_1、700_2、…、700_N和/或节点810_1、810_2、…、810_M中的每一个可以包括用于执行计算操作的主机设备和存储设备。在主机设备的控制下,存储设备可以根据计算操作执行存储请求操作以及基于存储在存储单元阵列中的内部处理信息IMI来执行内部处理操作。当内部处理信息IMI包括或者是指示内部处理操作的类型的内部处理操作命令IPCMD时,存储设备可以将包括内部处理读取命令PIM_READ和/或内部处理写入命令PIM_WRITE的内部处理操作命令IPCMD发送到主机设备。主机设备可以向存储设备发出用于存储请求操作的数据事务命令。主机设备可以通过在数据事务命令与从存储设备接收的内部处理操作命令IPCMD之间进行仲裁来向存储设备发出优先命令。当向存储设备发出优先命令时,主机设备可以执行与优先命令相关联的包括虚拟存储地址转换的虚拟存储管理功能。存储设备可以生成指示完成了基于内部处理信息IMI所执行的内部处理操作的完成信号,并将完成信号发送到主机设备。

尽管已经参考附图中示出的实施例描述了本发明构思,但是这仅仅是示例,并且本领域普通技术人员将理解的是,可以从中得到各种修改和其他等同实施例。因此,本发明构思的精神和范围应由所附权利要求限定。

虽然已经参考本发明构思的实施例具体示出和描述了本发明构思,但是应当理解的是,在不脱离所附权利要求的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种通用闪存存储器主机端芯片装置以及设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!