掌桥专利:专业的专利平台
掌桥专利
首页

存储器件

文献发布时间:2024-01-17 01:18:42


存储器件

相关申请的交叉引用

本申请要求于2022年1月26日在韩国知识产权局递交的韩国专利申请No.10-2022-0011466的优先权,其全部公开内容通过引用合并于此。

技术领域

本公开涉及一种存储器件。具体地,本公开涉及一种包括PIM(存储器中处理器)块的存储器件。

背景技术

用于存储数据的半导体存储器件可以大致分为易失性存储器件和非易失性存储器件。在诸如DRAM(动态随机存取存储器)之类的易失性存储器件中,通过对单元电容器充电或放电来存储数据,存储的数据在通电时被保留,但在断电时存储的数据会丢失。另一方面,非易失性存储器件即使在断电时也可以存储数据。易失性存储器件主要用作计算机等的主存储器,并且非易失性存储器件在诸如计算机和便携式通信设备之类的广泛的应用设备中用作对数据进行存储和编程的大容量存储器。

另一方面,在易失性存储器件中,DRAM可以表现出相对较快的响应速度和较快的操作速度的特性。因此,DRAM倾向于广泛地用作存储系统的操作存储器或主存储器。

另一方面,虽然在主机上执行的计算机操作相对较快,但由于从DRAM检索和写入指令或数据的操作相对较慢,因此整个存储系统的性能可能会变慢。

因此,为了提高存储系统的性能,开发了一种包括内部处理器的存储器件,使得主机的计算操作的一部分由内部处理执行,并且可以通过存储器件的内部处理来减轻主机计算机的操作负担。

然而,需要提高执行内部处理操作所需的读取或写入存储在存储器件的存储单元中的数据的操作性能。

发明内容

本公开的各方面提供了一种改进存储器件内部的内部数据处理操作的性能的存储器件。

本公开的各方面还提供了一种改进在存储器件内部执行的内部数据处理操作的性能的存储系统。

根据本公开的一些方面,提供了一种存储器件,包括:存储单元阵列,被配置为存储数据;命令解码器,被配置为从外部接收命令以生成第一存储单元控制信号;PIM(存储器中处理器)块,被配置为基于内部存储的指令生成第二存储单元控制信号,并基于第二存储单元控制信号执行内部处理操作,该第二存储单元控制信号包括用于执行内部处理操作的命令;以及操作模式多路复用器,被配置为输出第一存储单元控制信号和第二存储单元控制信号中的任何一个,并将其提供给存储单元阵列。

根据本公开的一些方面,提供了一种存储器件,包括:PIM(存储器中处理器)块,被配置为包括指令寄存器,该指令寄存器被配置为存储执行特定的内部处理操作的在预编码状态下的指令;以及命令生成器,被配置为接收来自指令寄存器的指令,并基于该指令生成第一存储单元控制信号,其中,PIM块基于第一存储单元控制信号从存储单元阵列读取用于执行内部处理操作的数据,PIM块执行内部处理操作,并且PIM块写入完成内部处理操作的数据以供存储单元阵列使用。

根据本公开的一些方面,提供了一种存储系统,包括:存储控制器,被配置为提供命令和地址;以及存储器件,被配置为从存储控制器接收命令和地址,并向存储控制器发送数据,以及从存储控制器接收数据,其中,存储器件包括存储数据的存储单元阵列,以及PIM(存储器中处理器)块,该PIM块基于内部存储的指令生成第一存储单元控制信号,并基于第一存储单元控制信号执行内部处理操作,第一存储单元控制信号包括用于执行内部处理操作的命令,其中,PIM块基于第一存储单元控制信号从存储单元阵列读取用于执行内部处理操作的数据,或写入完成内部处理操作的数据以供存储单元阵列使用。

然而,本公开的各方面不限于本文所阐述的内容。通过参照如下所述的本公开的详细描述,本公开的上述和其他方面对于本公开所属领域的普通技术人员将变得更加清楚。

附图说明

图1是用于说明根据一些实施例的存储系统的示例框图。

图2是用于说明根据图1的一些实施例的存储器件的示例框图。

图3是用于说明根据一些实施例的存储器件的示例框图。

图4是用于说明根据一些实施例的PIM块的示例框图。

图5是用于示出根据一些实施例的PIM块的操作的示例图。

图6是用于示出根据一些实施例的存储器件的操作的示例图。

图7是用于说明根据一些其他实施例的PIM块的示例框图。

图8是用于说明根据一些实施例的存储系统的操作的示例流程图。

图9是用于说明根据一些其他实施例的存储系统的示例框图。

图10是示出了根据一些实施例的数据中心的示例框图。

具体实施方式

在下文中,将参照附图描述根据本公开的技术构思的实施例。

图1是用于说明根据一些实施例的存储系统的示例框图。

参照图1,存储系统可以包括主机20和存储器存储设备1。存储器存储设备1可以包括存储器件100和存储控制器10。

存储控制器10通常可以控制存储器件100的操作。例如,存储控制器10可以控制外部主机20和存储器件100之间的数据交换。例如,存储控制器10可以响应于主机20的请求来控制存储器件100,并且可以通过存储器件100写入或读取数据。

存储控制器10和存储器件100可以通过存储器接口(MEM I/F)彼此通信。此外,存储控制器10和外部主机20可以通过主机接口彼此通信。即,存储控制器10可以调解存储器件100和主机20之间的信号。存储控制器10可以通过应用用于控制存储器件100的命令CMD来控制存储器件100的操作。

这里,存储器件100可以包括动态存储单元。例如,存储器件100可以包括DRAM(动态随机存取存储器)、DDR4(双倍数据速率4)SDRAM(同步DRAM)、LPDDR4(低功率DDR4)SDRAM、LPDDR5SDRAM等。

然而,根据本公开的技术构思的实施例不限于此,并且存储器件100可以包括非易失性存储器件。然而,在本实施例中,存储器件100将被描述为易失性存储器件。

存储控制器10可以向存储器件100发送时钟信号CLK、命令CMD、地址ADDR等。存储控制器l0可以向存储器件100提供数据DQ,并且可以从存储器件100接收数据DQ。存储器件100可以包括存储数据DQ的存储单元阵列180、控制逻辑电路115、数据I/O缓冲器195等。

图2是用于说明根据图1的一些实施例的存储器件的示例框图。

参照图2,存储器件100可以包括控制逻辑电路115、地址寄存器125、存储体控制逻辑电路135、行地址多路复用器140、刷新计数器145、列地址锁存器150、行解码器160、列解码器170、存储单元阵列180、读出放大器185、I/O选通电路190、ECC引擎191、数据I/O缓冲器195。

存储单元阵列180可以包括多个存储体阵列。行解码器160可以连接到多个存储体阵列。列解码器170可以连接到多个存储体阵列。读出放大器185可以连接到多个存储体阵列中的每一个存储体阵列。存储单元阵列180可以包括多条字线、多条位线、以及形成在字线和位线相交的点处的多个存储单元。

地址寄存器125可以从存储控制器接收地址ADDR。地址ADDR可以包括存储体地址BANK ADDR、行地址ROW ADDR和列地址COL_ADDR等。地址寄存器125可以向存储体控制逻辑电路135提供存储体地址BANK_ADDR。地址寄存器125可以向行地址多路复用器140提供行地址ROW_ADDR。地址寄存器125可以向列地址锁存器150提供列地址COL_ADDR。

存储体控制逻辑电路135可以响应于存储体地址BANK_ADDR生成存储体控制信号。行解码器160可以响应于存储体控制信号而被激活。此外,列解码器170可以响应于与存储体地址BANK_ADDR相对应的存储体控制信号而被激活。

行地址多路复用器140可以从地址寄存器125接收行地址ROW_ADDR,并从刷新计数器145接收刷新行地址REF_ADDR。行地址多路复用器140可以选择行地址ROW_ADDR或刷新行地址REF_ADDR,并将其作为行地址RA输出。行地址RA可以被发送到行解码器160。

刷新计数器145可以根据控制逻辑电路115的控制顺序地输出刷新行地址REF_ADDR。

由存储体控制逻辑电路135激活的行解码器160可以对从行地址多路复用器140输出的行地址RA进行解码,并激活与行地址RA相对应的字线。例如,行解码器160可以将字线驱动电压施加到与行地址RA相对应的字线。

列地址锁存器150可以从地址寄存器125接收列地址COL_ADDR,并临时存储接收到的列地址COL_ADDR。列地址锁存器150可以逐渐增加以突发模式接收到的列地址COL_ADDR。列地址锁存器150可以向列解码器170提供临时存储的列地址COL_ADDR或逐渐增加的列地址COL_ADDR。

在列解码器170中,由存储体控制逻辑电路135激活的列解码器170可以通过对应的I/O选通电路190激活与存储体地址BANK_ADDR和列地址COL_ADDR相对应的读出放大器185。

I/O选通电路190可以包括用于选通I/O数据的电路、输入数据掩码逻辑、用于存储从存储单元阵列180输出的数据的读数据锁存器、以及用于将数据写入存储单元阵列180的写入驱动器。

从存储单元阵列180的存储体阵列读取的码字CW可以由与存储体阵列相对应的读出放大器185读出。另外,码字CW可以存储在读数据锁存器中。存储在读数据锁存器中的码字CW可以由ECC引擎191进行ECC解码,并且可以通过数据I/O缓冲器195向存储控制器10提供经过ECC解码的数据DQ。

数据I/O缓冲器195可以在写入操作中基于时钟信号CLK向ECC引擎191提供数据DQ。数据I/O缓冲器195可以在读取操作中基于时钟信号CLK向存储控制器10提供从ECC引擎191提供的数据DQ。

图3是用于说明根据一些实施例的存储器件的示例框图。

参照图3,存储器件100可以包括命令解码器110、PIM块120(存储块中处理器)、操作模式多路复用器130和存储单元阵列180。

命令解码器110可以接收命令/地址CA。例如,命令解码器110可以从图1所示的存储控制器10接收命令/地址CA。

命令解码器110可以基于接收到的命令/地址CA输出操作模式信号Sgn_MODE和第一存储单元控制信号Sgn_CONT1。命令解码器110可以向操作模式多路复用器130提供操作模式信号Sgn_MODE和第一存储单元控制信号Sgn_CONT1。

PIM块120可以由计算密集型核心、GPU加速器、FPGA(现场可编程门阵列)等来实现。备选地,尽管PIM块120可以被实现为执行并行计算、数据重用、数据值的局部性或深度神经网络的NPU(神经处理单元),但实施例不限于此。

PIM块120可以从外部接收命令/地址CA。例如,PIM块120可以直接从图1所示的存储控制器10接收命令/地址CA。

PIM块120可以基于接收到的命令/地址CA输出内部生成的第二存储单元控制信号Sgn_CONT2。PIM块120可以向操作模式多路复用器130提供第二存储单元控制信号Sgn_CONT2。

另一方面,虽然图3示出了PIM块120接收命令/地址CA并基于该命令/地址CA输出第二存储单元控制信号Sgn_CONT2,但实施例不限于此。例如,PIM块120可以使用内部存储的指令生成用于执行内部处理操作的命令,而无需从外部接收命令/地址CA。在这种情况下,用于执行内部处理操作的命令可以是第二存储单元控制信号Sgn_CONT2。指令可以存储在PIM块120内部的指令寄存器中。稍后将描述其具体内容。

如上所述,根据本公开的一些实施例的存储器件可以解决现有的从外部接收到的命令和内部指令必须匹配的问题,因为PIM块120由其自身并在内部生成用于执行内部处理操作的命令,而无需从外部接收命令/地址CA。

操作模式多路复用器130可以从命令解码器110接收第一存储单元控制信号Sgn_CONTl,并从PIM块120接收第二存储单元控制信号Sgn_CONT2。

操作模式多路复用器130可以基于从命令解码器110接收到的操作模式信号Sgn_MODE输出存储单元控制信号Sgn_CONT。例如,操作模式多路复用器130可以基于操作模式信号Sgn_MODE输出第一存储单元控制信号Sgn_CONTl和第二存储单元控制信号Sgn_CONT2中的任何一个作为存储单元控制信号Sgn_CONT。操作模式多路复用器130可以向存储单元阵列180提供存储单元控制信号Sgn_CONT。

另一方面,虽然图3示出了操作模式多路复用器130基于从命令解码器110接收到的操作模式信号Sgn_MODE输出存储单元控制信号Sgn_CONT,但是实施例不限于此。例如,命令解码器110可以向存储单元阵列180直接提供用于执行数据事务的第一存储单元控制信号Sgn_CONT1,并且PIM块120也可以向存储单元阵列180直接提供用于执行内部处理操作的第二存储单元控制信号Sgn_CONT2。

存储单元阵列180可以与图1和图2中描述的相同。尽管存储单元阵列180可以包括例如包括电容器和晶体管的DRAM存储单元,但是实施例不限于此。

存储器件100可以在执行数据的读取操作和写入操作的数据事务操作的一般操作模式下操作,或者可以在执行内部处理操作的内部处理操作模式下操作。即,存储器件100可以是包括执行内部处理操作的存储器中处理器的PIM型存储器件100。

例如,存储器件100可以在一般操作模式下将外部提供的数据DQ写入存储单元阵列180,或者读取存储在存储单元阵列180中的数据DQ,并向外部发送该数据DQ。即,图3所示的命令解码器110可以包括用于执行数据的读取操作和写入操作的各种配置,诸如图1和图2中描述的控制逻辑电路115。

另一方面,例如,存储器件100可以在内部处理操作模式下通过PIM块120对存储在存储单元阵列180中的数据执行处理操作。即,在图3中,由命令解码器110和PIM块120接收到的命令/地址CA可以包括不仅指示通过命令解码器110对存储单元阵列180执行数据的读取操作或写入操作而且还指示PIM块120执行内部处理操作的信号。备选地,如上所述,PIM块120不仅可以接收指示执行如上所述的内部处理操作的命令/地址CA,而且还可以使用内部存储的指令生成用于执行内部处理操作的命令。

此外,存储单元阵列180可以存储内部处理信息。例如,存储单元阵列180可以存储用于由PIM块120执行的内部处理操作的内部处理信息。内部处理信息可以包括例如内部处理操作命令和内部处理数据,但实施例不限于此。

此外,为了执行PIM块120的内部处理操作,命令/地址CA可以包括诸如内部处理读取命令或内部处理写入命令之类的命令。备选地,如上所述,PIM块120可以在内部由其自身生成诸如内部处理读取命令或内部处理写入命令之类的命令。

PIM块120可以执行诸如MAC(乘法累加)计算、数据反转、数据移位、数据交换、数据比较、以及各种逻辑运算(AND、XOR等)和数值运算(数学运算、加法、减法等)之类的处理操作。

存储器件100在一般操作模式和内部处理操作模式下执行不同的操作,并且操作模式多路复用器130可以基于操作模式信号Sgn_MODE输出存储单元控制信号Sgn_CONT。

例如,响应于操作模式信号Sgn_MODE是一般操作模式,操作模式多路复用器130可以输出从命令解码器110输出的第一存储单元控制信号Sgn_CONT1作为存储单元控制信号Sgn_CONT。因此,可以将数据DQ写入到存储单元阵列180,或者可以读取存储在存储单元阵列180中的数据DQ。

另一方面,例如,响应于操作模式信号Sgn_MODE是内部处理操作模式,操作模式多路复用器130可以输出从PIM块120输出的第二存储单元控制信号Sgn_CONT2作为存储单元控制信号Sgn_CONT。因此,PIM块120可以从存储单元阵列180读取用于执行内部处理操作的数据DQ,或者可以为存储单元阵列写入完成内部处理操作的数据DQ。

操作模式信号Sgn_MODE可以包括多个信号的组合,诸如命令组合、模式寄存器组(MRS)和地址组合,但本实施例不限于此。尽管在图3中示出了从命令解码器110输出操作模式信号Sgn_MODE,但实施例不限于此,并且操作模式信号Sgn_MODE可以从外部(诸如从图1的存储控制器10)输出,并提供给操作模式多路复用器130。

PIM块120和存储单元阵列180之间的现有数据流由命令解码器110中解码的命令确定。然而,当在PIM块120中执行内部处理操作时,根据本公开的一些实施例的存储器件100可以直接在PIM块120内部生成存储单元控制信号以控制存储单元阵列180。因此,与包括PIM的现有存储器件不同,当执行内部处理操作时,PIM块120可以控制来自存储单元阵列180和外部的数据流,而不管命令解码器110如何。因此,可以使用存储器件100的PIM块120来提高内部处理操作性能。

图4是用于说明根据一些实施例的PIM块的示例框图。

参照图4,PIM块120可以包括指令寄存器121和命令生成器122。

指令寄存器121可以存储预编码的指令。指令寄存器121可以向命令生成器122提供存储的指令。

命令生成器122可以从外部接收命令/地址CA,并基于该命令/地址CA生成第二存储单元控制信号Sgn_CONT2。备选地,命令生成器122可以从指令寄存器121接收指令,并基于该指令生成第二存储单元控制信号Sgn_CONT2。即,命令生成器122可以由其自身并在内部生成用于执行内部处理操作的命令,而无需从外部提供命令/地址CA。

即,当PIM块120执行内部处理操作时,指令寄存器121可以存储与每个内部处理操作相对应的预编码状态下的指令。命令生成器122可以基于指令的顺序或类型输出控制存储单元阵列180的第二存储单元控制信号Sgn_CONT2,使得PIM块120执行特定的内部处理操作。

另一方面,尽管未示出,PIM块120可以包括执行内部处理操作的操作符。操作符可以执行内部处理操作,例如,诸如MAC计算之类的操作。

图5是用于示出根据一些实施例的PIM块的操作的示例图,并且图6是用于示出根据一些实施例的存储器件的操作的示例图。

参照图5和图6,首先,如图5所示,假设在指令寄存器121中存储了三个指令。在这种情况下,假设这三个指令可以分别命名为MAC、广播和RMW。

指令寄存器121存储三个指令,并且这些指令可以具有预定的顺序。例如,在执行与MAC指令相对应的内部处理操作之后,执行与广播指令相对应的内部处理操作,并在执行与广播指令相对应的内部处理操作之后,可以执行与RMW指令相对应的内部处理操作。

例如,一起参照图6,可以在第一时间点T1处执行与MAC指令相对应的第0内部处理操作PIM_0。接下来,在执行与MAC指令相对应的第0内部处理操作PIM_0之后,可以在第二时间点T2处执行与广播指令相对应的第一内部处理操作PIM_1。接下来,在执行与广播指令相对应的第一内部处理操作PIM_1之后,可以在第三时间点T3处执行与RMW指令相对应的第二内部处理操作PIM_2。

另一方面,再次参照图5,MAC指令可以指示包括从存储单元阵列Cell读取数据并将数据DQ从外部写入PIM块的操作的内部处理操作。

广播指令可以指示包括将通过内部处理操作计算的数据写入存储单元阵列Cell并将数据DQ从外部写入PIM块的操作的内部处理操作。

RMW指令可以指示包括从存储单元阵列Cell读取数据并将通过内部处理操作计算的数据再次写入存储单元阵列Cell的操作的内部处理操作。

例如,一起参照图6,可以在第一时间点T1处执行与MAC指令相对应的第0内部处理操作PIM_0。即,第0内部处理操作PIM_0可以表示将数据从存储单元阵列Cell读取到PIM块PIM并将数据DQ从外部写入PIM块PIM的操作。

接下来,在第二时间点T2处,可以执行与广播指令相对应的第一内部处理操作PIM_1。即,第一内部处理操作PIM_1可以表示将通过PIM块PIM内部的内部处理操作计算的数据写入存储单元阵列Cell并将数据DQ从外部写入PIM块PIM的操作。

接下来,可以在第三时间点T3处执行与RMW指令相对应的第二内部处理操作PIM_2。即,第二内部处理操作PIM_2可以表示将数据从存储单元阵列Cell读取到PIM块PIM并将通过PIM块PIM内部的内部处理操作计算的数据再次写入存储单元阵列Cell的操作。

然而,这仅是为了便于说明,并且示例不限于上述描述。例如,PIM块可以包括不同数量的指令,并且可以存在与指令相对应的各种内部处理操作。此外,尽管图5和图6示出了根据预定指令的顺序执行内部处理操作,但显然实施例不限于此。

如上所述,当PIM块PIM执行内部处理操作时,可以使用存储在指令寄存器中的指令生成用于内部处理操作的命令,而无需提供外部命令/地址。这使得可以同时使用从外部传输的数据(这是在PIM块PIM中执行内部处理操作所必需的)和从存储单元阵列读取的数据,从而提高存储器件的整体性能。

图7是用于说明根据一些其他实施例的PIM块的示例框图。结合图4描述的那些重复的内容将因冗余而省略,并且重点将放在不同之处。

参照图7,PIM块120还可以包括数据输出单元123(DQ输出单元)。

数据输出单元123可以通过命令生成器122的控制向外部(ext)或存储单元阵列(cell)发送完成内部处理操作的数据DQ。

例如,当PIM块120执行内部处理操作并发送完成内部处理操作的数据DQ时,数据输出单元123可以包括用于通过命令生成器122的控制向外部(ext)或存储单元阵列(cell)发送数据DQ的多路复用器(MUX)。

图8是用于说明根据一些实施例的存储系统的操作的示例流程图。

参照图8,命令解码器110和PIM块120可以接收从存储控制器10输出的命令/地址CA(S110)。

随后,命令解码器110可以基于接收到的命令/地址CA生成第一存储单元控制信号Sgn_CONT1(S120),并且PIM块120可以基于接收到的命令/地址CA生成第二存储单元控制信号Sgn_CONT2(S130)。

另一方面,虽然图8示出了PIM块120基于接收到的命令/地址CA生成第二存储单元控制信号Sgn_CONT2,但实施例不限于此。如图3至图7所述,PIM块120可以在没有接收到命令/地址CA的情况下生成第二存储单元控制信号Sgn_CONT2,并且因此,对其的描述将因冗余而不再重复。

随后,可以确定存储器件100的操作模式是否是内部处理操作模式(S140)。例如,操作模式多路复用器130可以从命令解码器110接收操作模式信号Sgn_MODE,并基于操作模式信号Sgn_MODE将第一存储单元控制信号Sgn_CONT1和第二存储单元控制信号Sgn_CONT2之一输出到存储单元阵列180。

例如,当存储器件100的操作模式是内部处理操作模式时(S140的“是”),存储器件100可以基于由命令生成器122生成的命令(即,第二存储单元控制信号Sgn_CONT2)执行内部处理操作(S150)。即,PIM模块120可以根据存储在指令寄存器121中的指令,执行与该指令相对应的内部处理操作。由于这与参照图5和图6描述的相同,因此对其的描述将因冗余而不再重复。

另一方面,例如,当存储器件100的操作模式是一般模式时(S140的“否”),存储器件100可以基于由命令解码器110解码的命令来执行数据事务。即,基于由命令解码器110解码的命令,从存储控制器10提供的数据可以被写入存储单元阵列180,或者可以读取存储在存储单元阵列180中的数据,并将其提供给存储控制器10(S160)。

另一方面,PIM块120可以确定在执行内部处理操作之后向外部或存储单元阵列发送生成的数据的位置(S170)。即,数据输出单元123可以通过命令生成器122的控制向存储单元阵列180或外部发送经过内部处理操作的数据。

随后,当完成内部处理操作时,确定是否存在从存储控制器10接收到的另一命令/地址CA(S180)。因此,当存在另一命令/地址CA时,可以确定命令/地址CA是处于一般操作模式还是内部处理操作模式,并执行对应的操作(S180的“是”)。另一方面,当不存在另一命令/地址CA时,存储器件100可以向存储控制器10发送完成信号Sgn_DONE(S190)。

图9是用于说明根据一些其他实施例的存储系统的示例框图。

参照图9,存储系统2000本质上可以是移动系统,诸如手机、智能手机、平板PC(平板个人电脑)、可穿戴设备、医疗保健设备或IOT(物联网)设备。

然而,图9的存储系统2000不一定限于移动系统,也可以是个人计算机、膝上型计算机、服务器、媒体播放器或诸如导航设备之类的汽车设备。

参照图9,存储系统2000可以包括主处理器2100、存储器2200a和2200b、以及存储设备2300a和2300b,并且可以附加地包括图像捕捉设备2410、用户输入设备2420、传感器2430、通信设备2440、显示器2450、扬声器2460、电源设备2470和连接接口2480中的一个或多个。

存储器2200a和2200b可以与图1至图8中描述的存储器件100基本相同。

主处理器2100可以控制存储系统2000的整体操作,更具体地,控制构成存储系统2000的其他组成元件的操作。这样的主处理器2100可以实现为通用处理器、专用处理器、应用处理器等。

主处理器2100可以包括一个或多个CPU核心2110,并且还可以包括用于控制存储器2200a和2200b和/或存储设备2300a和2300b的控制器2120。

控制器2120可以与图1和图2中描述的存储控制器10基本相同。

根据不同的实施例,主处理器2100还可以包括加速器2130,加速器2130是用于诸如AI(人工智能)数据计算之类的高速数据计算的专用电路。这样的加速器2130可以包括GPU(图形处理单元)、NPU(神经处理单元)和/或DPU(数据处理单元)等,并且可以实现为物理上独立于主处理器2100的其他组成元件的单独芯片。

存储器2200a和2200b可以用作存储系统2000的主存储单元,并且可以包括诸如SRAM和/或DRAM之类的易失性存储器,但也可以包括诸如闪存、PRAM和/或RRAM之类的非易失性存储器。存储器2200a和2200b也可以在主处理器2100的封装内部实现。

存储设备2300a和2300b可以用作用于存储数据的非易失性存储设备,而不管是否通电,并且可以具有比存储器2200a和2200b相对更大的容量。存储设备2300a和2300b可以包括存储控制器2310a和2310b、以及在存储控制器2310a和2310b的控制下存储数据的非易失性存储器(NVM)2320a和2320b。非易失性存储器2320a和2320b可以包括2D(2维)结构或3D(3维)V-NAND(竖直NAND)结构的闪存,但也可以包括诸如PRAM和/或RRAM之类的其他类型的非易失性存储器。

存储设备2300a和2300b可以在与主处理器2100物理分离的状态下包括在存储系统2000中,并且可以在与主处理器2100相同的封装中实现。此外,由于存储设备2300a和2300b具有诸如SSD(固态设备)或存储卡之类的形式,存储设备2300a和2300b也可以通过诸如下文描述的连接接口2480之类的接口与存储系统2000的其他组成元件可拆卸地耦合。这样的存储设备2300a和2300b可以是但不一定限于应用诸如UFS(通用闪存)、eMMC(嵌入式多媒体卡)或NVMe(快速非易失性存储器)之类的标准协议的设备。

图像捕捉设备2410可以捕捉静止图像或运动图像,并且可以是相机、便携式摄像机和/或网络摄像头等。

用户输入设备2420可以接收从存储系统2000的用户输入的各种类型的数据,并且可以是触摸板、小键盘、键盘、鼠标和/或麦克风等。

传感器2430可以检测能够从存储系统2000的外部获取的各种类型的物理量,并将检测到的物理量转换为电信号。这样的传感器2430可以是温度传感器、压力传感器、照度传感器、位置传感器、加速度传感器、生物传感器和/或陀螺仪传感器。

通信设备2440可以根据各种通信协议向存储系统2000外部的其他设备发送信号并从其接收信号。这样的通信设备2440可以被实现为包括天线、收发器和/或调制解调器等。

显示器2450和扬声器2460可以分别用作向存储系统2000的用户输出视觉和听觉信息的输出设备。

电源设备2470可以适当地转换从存储系统2000中配备的电池(未示出)和/或外部电源供应的电力,并将电力供应给存储系统2000的每个组成元件。

连接接口2480可以提供存储系统2000和外部设备之间的连接,该外部设备可以连接到存储系统2000以向存储系统2000发送数据并从存储系统2000接收数据。连接接口2480可以由各种接口类型实现,诸如ATA(高级技术附件)、SATA(串行ATA)、e-SATA(外部SATA)、SCSI(小型计算机小型接口)、SAS(串行连接SCSI)、PCI(外围组件互连)、PCIe(快速PCI)、NVMe、IEEE 1394、USB(通用串行总线)、SD(安全数字)卡、MMC(多媒体卡)、eMMC、UFS、eUFS(嵌入式通用闪存)和/或CF(紧凑型闪存)卡接口。

图10是示出了根据一些实施例的数据中心的示例框图。

参照图10,数据中心3000是收集各种类型的数据并提供服务的设施,并且也可以被称为数据存储中心。

数据中心3000可以是用于搜索引擎和数据库操作的系统,并且可以是由诸如银行或政府机构之类的公司使用的计算系统。数据中心3000可以包括应用服务器3100至3100n和存储服务器3200至3200m。应用服务器3100至3100n的数量和存储服务器3200至3200m的数量可以根据具体实施例而不同地选择,并且应用服务器3100至3100n的数量和存储服务器3200至3200m的数量可以彼此不同。

应用服务器3100或存储服务器3200可以包括处理器3110和3210以及存储器3120和3220中的至少一个。将描述存储服务器3200作为示例。处理器3210可以控制存储服务器3200的整体操作,并访问存储器3220以执行存储器3220中加载的命令和/或数据。

存储器3220可以是DDR SDRAM(双数据速率同步DRAM)、HBM(高带宽存储器)、HMC(混合存储立方体)、DIMM(双列直插式存储模块)、敖腾(Optane)DIMM或NVM DIMM(非易失性DIMM)。

存储器3220可以与图1至图8中描述的存储器件100基本相同。

根据多种实施例,可以不同地选择包括在存储服务器3200中的处理器3210的数量和存储器3220的数量。在实施例中,处理器3210和存储器3220可以提供处理器-存储器对。在另一实施例中,处理器3210和存储器3220的数量可以彼此不同。处理器3210可以包括单核处理器或多核处理器。

存储服务器3200的前述说明也可以类似地应用于应用服务器3100。根据实施例,应用服务器3100可以不包括存储设备3150。存储服务器3200可以包括至少一个或多个存储设备3250。包括在存储服务器3200中的存储设备3250的数量可以根据特定实施例而不同地选择。

应用服务器3100至3100n和存储服务器3200至3200m可以通过网络3300彼此通信。网络3300可以使用光纤通道(FC)或以太网来实现。在这种情况下,FC是用于相对高速数据传输的介质,并且可以使用提供高性能/高可用性的光开关。根据网络3300的访问方法,存储服务器3200至3200m可以被提供为文件存储、块存储或对象存储。

在一个示例实施例中,网络3300可以是仅存储网络,诸如存储区域网络(SAN)。例如,SAN可以是使用FC网络并根据FC协议(FCP)实现的FC-SAN。作为另一示例,SAN可以是使用TCP/IP网络并根据基于TCP/IP的SCSI(SCSI over TCP/IP)或互联网SCSI(iSCSI)协议实现的IP-SAN。在另一示例实施例中,网络3300可以是通用网络,诸如TCP/IP网络。例如,网络3300可以根据诸如基于以太网的FC(FC over Ethernet,FCoE)、网络附加存储(NAS)和基于Fabrics的NVME(NVMe over Fabrics,NVMe-oF)之类的协议来实现。

这里,应用服务器3100至3100n可以对应于参照图1描述的主机20。

在下文中,将主要描述应用服务器3100和存储服务器3200。应用服务器3100的描述也可以适用于另一应用服务器3100n,并且存储服务器3200的描述也可以适用于另一存储服务器3200m。

应用服务器3100可以通过网络3300将用户或客户端请求存储的数据存储在存储服务器3200至3200m之一中。另外,应用服务器3100可以通过网络3300从存储服务器3200至3200m之一获取用户或客户端请求读取的数据。例如,应用服务器3100可以实现为web服务器或数据库管理系统(DBMS)。

应用服务器3100可以通过网络3300访问包括在另一应用服务器3100n中的存储器3120n或存储设备3150n,或者可以通过网络3300访问包括在存储服务器3200至3200m中的存储器3220至3220m或存储设备3250至3250m。因此,应用服务器3100可以对存储在应用服务器3100至3100n和/或存储服务器3200至3200m中的数据执行各种操作。例如,应用服务器3100可以执行用于在应用服务器3100至3100n和/或存储服务器3200至3200m之间移动或复制数据的命令。在这种情况下,数据可以从存储服务器3200至3200m的存储设备3250至3250m通过存储服务器3200至3200m的存储器3220至3220m移动到应用服务器3100至3100n的存储器3120至3120n,或者可以直接移动到那里。为了安全或隐私,通过网络3300移动的数据可以是加密数据。

如果存储服务器3200被描述为示例,接口3254可以提供处理器3210和控制器(CTRL)3251之间的物理连接以及网络互连(NIC)3240和控制器3251之间的物理连接。例如,接口3254可以以直接附加存储(DAS)方式实现,以用于通过专用电缆直接连接存储设备3250。另外,例如,接口3254可以以诸如高级技术附件(ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机小型接口(SCSI)、串行连接SCSI(SAS)、外围组件互连(PCI)、快速PCI(PCIe)、快速NVM(NVMe)、电气和电子工程师协会(IEEE)1394、通用串行总线(USB)、安全数字(SD)卡、多媒体卡(MMC)、嵌入式多媒体卡(eMMC)、通用闪存(UFS)、嵌入式UFS(eUFS)、和/或紧凑型闪存(CF)卡接口之类的各种接口方式实现。

存储服务器3200还可以包括开关3230和NIC 3240。开关3230可以在处理器3210的控制下选择性地连接处理器3210和存储设备3250或者选择性地连接NIC 3240和存储设备3250。

在一个示例实施例中,NIC 3240可以包括网络接口卡、网络适配器等。NIC 3240可以通过有线接口、无线接口、蓝牙接口、光学接口等连接到网络3300。NIC 3240可以包括内部存储器、数字信号处理器(DSP)、主机总线接口等,并且可以通过主机总线接口连接到处理器3210和/或开关3230。主机总线接口可以实现为上述接口3254的示例之一。在一个示例实施例中,NIC 3240可以与处理器3210、开关3230和存储设备3250中的至少一个集成。

在存储服务器3200至3200m或应用服务器3100至3100n中,处理器可以通过向存储设备3150至3150n和3250至3250m或存储器3120至3120n和3220至3220m发送命令来编程或读取数据。在这种情况下,数据可以是通过纠错码(ECC)引擎纠错的数据。该数据是经过数据总线反转(DBI)或数据掩码(DM)处理的数据,并且可以包括循环冗余码(CRC)信息。为了安全或隐私,数据可以是加密数据。

存储设备3150至3150n和3250至3250m可以响应于从处理器接收到的读取命令而向NAND闪存器件3252至3252m发送控制信号和命令/地址信号。因此,当从NAND闪存器件3252至3252m读取数据时,可以输入读取使能(RE)信号作为数据输出控制信号并用于将数据输出到DQ总线。可以使用RE信号生成数据选通(DQS)。命令和地址信号可以根据写使能(WE)信号的上升沿或下降沿被锁存在页缓冲器中。

控制器3251可以控制存储设备3250的整体操作。在一个示例实施例中,控制器3251可以包括静态随机存取存储器(SRAM)。控制器3251可以响应于写入命令将数据写入NAND闪存器件3252,或者可以响应于读取命令从NAND闪存器件3252读取数据。例如,可以从存储服务器3200中的处理器3210、另一存储服务器3200m中的处理器3210m或应用服务器3100和3100n中的处理器3110和3110n提供写入命令和/或读取命令。DRAM 3253可以临时存储(缓冲)要写入NAND闪存器件3252的数据或从NAND闪存器件3252读取的数据。另外,DRAM3253可以存储元数据。这里,元数据是用户数据或由控制器3251生成以管理NAND闪存器件3252的数据。存储设备3250可以包括用于安全或隐私的安全元件(SE)。

以上已经参照附图描述了本公开的实施例,但是本公开不限于此,并且可以以各种不同的形式实现。应当理解,本公开可以在不改变本公开的精神和范围的情况下以其他特定形式实现。因此,应当理解,本文所阐述的实施例在所有方面仅是说明性的而不是限制性的。

技术分类

06120116122492