用于存储器控制的方法和系统
背景技术:1.在存储器技术领域,设计者和生产者的目的是从速度、容量、成本、电源效率、控制效率等方面改进存储器结构,开发和升级存储器接口以促进存储器结构的改进。例如,外设组件互连(pcie或pci-e)是一种高速串行计算机扩展总线标准,它规范个人计算机的显卡、硬盘驱动器、存储器、网络硬件连接等的公共主板接口。又如,计算cxl(compute express link)是一种新的高速的处理器到设备(cpu-to-device)和处理器到存储器(cpu-to-memory)互连的协议,其目的在于加快下一代数据计算性能。然而,传统的动态随机存取存储器(dram)技术具有诸如制造工艺、成本控制等的局限性,这使得dram架构中难以实现高性能接口。
2.基于双数据速率(ddr)的接口在dram架构中是可行的。通常,现有的基于ddr接口的存储模块设计有两个或更多的芯片组(芯片组),并且在给定的时间只能选择一个芯片组(芯片组)。因此,同一芯片组(芯片组)内的所有芯片总是同时被选择,并以相同步调工作。但ddr协议不支持对单个芯片的数据访问,同一芯片组(芯片组)内的不同芯片不能被单独选择。因此,有必要改进基于ddr接口的存储器控制,使得各个芯片可单独被选择、控制和访问(读/写),并具有精确度和灵活性,以适应各种使用场景。
附图说明
3.详细说明参照附图进行阐述。在这些图中,参考数值最左边的数字用于标识该参考数值首次出现的附图。在不同的附图中,使用相同的参考数值表示相似或相同的条目或特征。
4.图1a是一示例性的存储器系统和主机之间通信的示意图。
5.图1b是一示例性的存储器系统和主机之间通信的示意图。
6.图2a是一示例性的存储器系统和主机之间通信的示意图。
7.图2b是一示例性的存储器系统和主机之间通信的示意图。
8.图3a是一示例性的存储器系统和主机之间通信的示意图。
9.图3b是一示例性的存储器系统和主机之间通信的示意图。
10.图4示出了数据掩码信号和单元接口之间的对应关系的示例表。
11.图5a是一示例性的存储器系统和主机之间通信的示意图。
12.图5b是一示例性的存储器系统和主机之间通信的示意图。
13.图6给出了示例选项1、示例选项2和示例选项3的特征的示例表。
14.图7是一示例性的存储器系统和主机之间通信的示意图。
15.图8是一示例性的存储器系统和主机之间通信的示意图。
16.图9是一示例性的存储器系统和主机之间通信的示意图。
17.图10是用于说明一示例性的存储器控制过程的示意图。
18.图11是用于说明一示例性的存储器控制过程的示意图。
具体实施例
19.本文讨论的系统和方法旨在改进存储器控制,更具体地,旨在改进用于存储器控制的方法和系统。
20.通常情况下,存储器的速度赶不上处理器的速度。从内存移动数据在带宽、能量和延迟方面比计算更昂贵。处理器和内存之间日益增长的差距被称为“内存墙(memory wall)”。
21.一些研究旨在使计算接近数据存储区,以解决内存墙危机。pim(processing-in-memory)架构作为一种有吸引力的解决方案正在迅速崛起。基于pim架构,某些算法将由存储器内的数据处理单元(dpu)处理。尽管pim的概念已经研究了几十年,但考虑到实用性,实现pim架构的尝试遇到了困难。例如,pim架构的设计者无法在单个芯片上实现与在多个芯片上相同的高内存容量。基于传统的存储器架构,存储器的芯片之间的通信会成为瓶颈。此外,pim在存储器市场可能处于劣势。例如,来自不同制造商的128mb的具有pim架构的存储器模块不能互换,这会损害互操作性并推高价格。
22.随着近年来新兴存储器技术的进步,实用性问题得到了缓解。例如,一种方法是将数据处理单元(dpu)集成在dram中。dpu与dram中的存储器单元之间的距离短,因此来回移动数据的能量小,延迟时间非常低,这意味着可以在内存中快速执行计算,这也释放了处理器来执行其他类型的复杂工作。换句话说,pim架构可以加速计算,减少数据移动的开销。
23.传统计算机往往受到冯
·
诺依曼瓶颈的影响,因此新出现的数据密集型工作负载/应用不再由传统计算机实际处理。冯
·
诺依曼瓶颈的思想是,由于处理器的相对能力和存储器的最高的数据传输速率相比,计算机系统的吞吐量受到影响。
24.在访问存储器时,处理器在一定时间内处于空闲状态。然而,新一代数据密集型工作负载/应用(如机器学习任务)可以从pim技术中受益。pim加速解决方案将处理核定位在数据旁边,解决了大数据计算的瓶颈。据报道,pim解决方案可以20倍加速数据密集型工作负载/应用,并几乎没有额外的能源附加费用。发展中的pim解决方案在性能和成本效率方面为大数据时代开辟了新的视野。
25.然而,由于pim架构需要非传统的控制技术,因此将pim架构与传统的计算系统无缝集成仍然具有挑战性。当前的许多方法都没有解决如何充分实现pim的各种控制。
26.图1a是一个示例性的存储器系统102和主机104之间通信的示意图100。在实施例中,存储器系统102可以是任何适当类型的存储器架构,例如基于ddr的存储器架构。在实施例中,主机可以包括但不限于中央处理单元(cpu)、专用集成电路(asic)、图形处理单元(gpu)、现场可编程门阵列(fpgas)、数字信号处理器(dsp)或其任何组合。
27.参考图1a中,存储器系统102包括控制器106和n个存储器单元,n个存储器单元包括存储器单元1_108、
…
、存储器单元m_110、存储器单元(m+1)_112、
…
、存储器单元n_114,其中m和n是正整数。作为示例但不限于,存储器系统102中的存储器单元的总数n是2的幂。
28.控制器106用于从主机104接收命令和地址信号。控制器106还用于控制存储器单元1_108、
…
、存储器单元m_110、存储器单元(m+1)_112、
…
、存储器单元n_114的相应存储器单元。控制器106还用于经由命令和地址线116从主机104接收命令和地址信号。
29.存储器单元1_108、
……
、存储器单元m_110、存储器单元(m+1)_112、
……
、存储器单元n_114的相应存储器单元用于经由数据总线118向/从主机104传送数据/信号。在实施
例中,数据总线118可包括用于相应存储器单元与主机104通信以传输数据/信号的独立的双向数据路径/通道,并且数据路径/通道被称为单元接口1_120、单元接口2_122、单元接口3_124、
……
、单元接口n_126。在实施例中,单元接口1_120用于在存储器单元1_108和主机104之间传输数据/信号。单元接口2_122用于在存储器单元m_110和主机104之间传送数据/信号。单元接口3_124用于在存储器单元(m+1)_112和主机104之间传送数据/信号。单元接口n_126用于在存储器单元n_114和主机104之间传送数据/信号。在实施例中,存储器单元1_108、
…
、存储器单元m_110、存储器单元(m+1)_112、
……
、存储器单元n_114中的相应存储器单元可以是
“×
4”(“乘4”)、
“×
8”(“乘8”)、
“×
16”(“乘16”)等的存储器芯片/单元,其中
“×
4”、
“×
8”和
“×
16”是以比特(bits)为单位的芯片/单元的数据宽度。作为示例,存储器单元1_108、
…
、存储器单元m_110、存储器单元(m+1)_112、
……
、存储器单元n_114用于以16比特的数据宽度传送数据/信号。
30.在实施例中,存储器单元1_108、
…
、存储器单元m_110、存储器单元(m+1)_112、
…
、存储器单元n_114中的相应存储器单元可以配置为加速器架构。在实施例中,设计加速器架构以提供强大的计算能力和大存储器容量/带宽。一个示例性的加速器架构可基于dram技术的pim架构,其将存储器和计算资源合并在同一存储器芯片/单元中。
31.当数据停留在dram中时,可以进行许多计算操作。这节省了时间、功率和有效的内存带宽。加速器架构的更多示例可以包括但不限于智能随机存取存储器(iram)架构、基于dram的可重构原位加速器(drisa)架构等。
32.命令和地址线116和数据总线118统称为接口128。换句话说,接口128包括命令和地址线116和数据总线118。接口128耦合在主机104和存储器系统102/各个存储器单元之间。在实施例中,接口128可以是任何合适的存储器接口,例如ddr接口。在实施例中,接口128可进一步包括诸如时钟线、响应信号线、控制信号线等的其它线。
33.主机104包括存储器控制器130。主机104用于使用存储器控制器130经由数据总线118与存储器系统102交换数据/信号。在实施例中,数据总线118的数据宽度可以是任何合适的宽度,例如,64比特。作为示例但不限于,数据总线118的数据宽度是2的幂。主机104还用于使用存储器控制器130经由命令和地址线116向存储器系统102的控制器106发送命令和地址信号。
34.在ddr协议下,基于ddr的存储模块被设计为具有两个或更多的芯片组(芯片组)。芯片组(芯片组)是连接到同一芯片组选择信号的一组存储芯片/单元,在给定时间只能选择一个芯片组(芯片组)。以上述示例性的示意图100为例,存储器单元1_108、
……
、存储器单元m_110可在第一芯片组(芯片组)132中,存储器单元(m+1)_112、
……
、存储器单元n_114可在第二芯片组134中。虽然图1a示出存储器系统102中的两个芯片组(芯片组),但存储器系统102可包括其他数量的芯片组(芯片组)。因此,同一芯片组(芯片组)内的所有存储芯片/单元总是同时被选择并以相同步调工作。例如,第一芯片组132中的存储器单元1_108、
……
、存储器单元m_110总是一起被选择。例如,在第二芯片组134中的存储器单元(m+1)_112、
……
、存储器单元n_114总是一起被选择。但是,同一芯片组内的不同芯片/单元不能被单独选择。例如,第一芯片组132中的存储器单元1_108、
……
、存储器单元m_110不能单独被选择。例如,第二芯片组134中的存储器单元(m+1)_112、
……
、存储器单元n_114不能单独被选择。
35.图1b是示例性的存储器系统102'和主机104'之间的通信的示意图100'。在实施例中,存储器系统102'可以是任何适当类型的存储器架构,例如基于ddr的存储器架构等。在实施例中,主机可以包括但不限于cpu、asic、gpu、fpga、dsp或其任何组合。
36.参考图1b,存储器系统102'包括控制器106'和n个存储器单元,这n个存储器单元包括存储器单元1_108'、
……
、存储器单元m_110'以及存储器单元(m+1)_112'、
…
、存储器单元n_114',其中m和n是正整数。作为示例但不限于,存储器系统102'中的存储器单元的总数n是2的幂。
37.控制器106'用于从主机104'接收命令和地址信号。控制器106'还用于控制存储器单元1_108'、
…
、存储器单元m_110'以及存储器单元(m+1)_112'、
…
、存储器单元n_114'中的相应存储器单元。控制器106'还用于经由命令和地址线116'从主机104'接收命令和地址信号。
38.存储器单元1_108'、
……
、存储器单元m_110'以及存储器单元(m+1)_112'、
……
、存储器单元n_114'中的相应存储器单元用于经由数据总线118'向/从主机104'传送数据/信号。在实施例中,数据总线118'可包括用于相应存储器单元与主机104通信以传输数据/信号的独立的双向数据路径/通道,并且这些数据路径/通道被称为单元接口1_120'、单元接口2_122'、单元接口3_124'、
……
、单元接口n_126'。在实施例中,单元接口1_120'用于在存储器单元1_108'和主机104'之间传输数据/信号。单元接口2_122’用于在存储器单元m_110'和主机104’之间传送数据/信号。单元接口3_124’用于在存储器单元(m+1)_112’和主机104’之间传送数据/信号。单元接口n_126’用于在存储器单元n_114’和主机104’之间传送数据/信号。在实施例中,存储器单元1_108’、
……
、存储器单元m_110’、存储器单元(m+1)_112’、
……
、存储器单元n_114’中的相应存储器单元可以是
“×
4”(“乘4”)、
“×
8”(“乘8”)、
“×
16”(“乘16”)等的存储器芯片/单元,其中
“×
4”、
“×
8”和
“×
16”是以比特(bits)为单位的芯片/单元的数据宽度。作为示例,存储器单元1_108’、
…
、存储器单元m_110’、存储器单元(m+1)_112’、
…
、存储器单元n_114’用于以16比特的数据宽度传送数据/信号。
39.命令+地址线116'和数据总线118'可统称为接口128'。换句话说,接口128'可以包括命令+地址线116'和数据总线118'。接口128'耦合在主机104'和存储器系统102'/各个存储器单元之间。在实施例中,接口128'可以是任何合适的存储器接口,例如ddr接口。在实施例中,接口128'可进一步包括诸如时钟线、响应信号线、控制信号线等的其它线。
40.主机104'包括存储器控制器130'。主机104'用于使用存储器控制器130'经由数据总线118'与存储器系统102'交换数据/信号。在实施例中,数据总线118'的数据宽度可以是任何合适的宽度,例如,64比特。主机104'还用于使用存储器控制器130'经由命令+地址线116向存储器系统102'的控制器106'发送命令和地址信号。
41.在ddr协议下,基于ddr的存储模块被设计为具有两个或更多的芯片组(芯片组)。芯片组(芯片组)是连接到同一芯片组选择信号的一组存储芯片/单元,在给定时间只能选择一个芯片组(芯片组)。以上述示例性的示意图100’为例,存储器单元1_108’、
……
、存储器单元m_110’可在第一芯片组132’中,存储器单元(m+1)_112’、
……
、存储器单元n_114’可在第二芯片组134’中。虽然图1b示出存储器系统102中的两个芯片组,但本公开不限于此,同时存储器系统102可以包括其他数量的芯片组(芯片组)。因此,同一芯片组(芯片组)内的所有存储芯片/单元总是同时被选择并以相同步调工作。例如,第一芯片组132’中的存储器
单元1_108’、
……
、存储器单元m_110’总是一起被选择。例如,在第二芯片组134中的存储器单元(m+1)_112’、
……
、存储器单元n_114’总是一起被选择。但是,同一芯片组(芯片组)内的不同芯片/单元不能被单独选择。例如,第一芯片组132中的存储器单元1_108’、
……
、存储器单元m_110’不能被单独选择。例如,第二芯片组134中的存储器单元(m+1)_112’、
……
、存储器单元n_114’不能被单独选择。
42.在实施例中,存储器单元1_108'、
……
、存储器单元m_110'以及存储器单元(m+1)_112'、
……
、存储器单元n_114'的相应存储器单元可为加速器架构,例如pim架构。在实施例中,存储器单元1_108'包括用于存储数据的的数据区域136'、用于执行计算的计算块(简言之,compt)138'和用于执行计算的计算块140'。数据区域136'还用于与计算块138'和计算块140’进行通信/交互。存储器单元m_110'包括用于存储数据的数据区域142'、用于执行计算的计算块144'和用于执行计算的计算块146'。数据区域142'还用于与计算块144'和计算块146'进行通信/交互。存储器单元(m+1)_112'包括用于存储数据的数据区域148'、用于执行计算的计算块150'和用于执行计算的计算块152'。数据区域148'还用于与计算块150'和计算块152'进行通信/交互。存储器单元n_114'包括用于存储数据的数据区域154'、用于执行计算的计算块156'和用于执行计算的计算块158'。数据区域154'还用于与计算块156'和计算块158'进行通信/交互。虽然图1b示出了相应的存储器单元包括一个数据区域和两个计算块,但本公开不限于此,并且相应的存储器单元可以包括其他数量的数据区域和计算块。附加地或可选地,计算块可以包括数据处理单元(dpu)。利用上述pim架构,特定种类的算法将由存储器单元内的计算块/数据处理单元处理,从而消除了一些代价高昂的数据移动,并大幅提高了计算块的整体效率。
43.如上所述,即使存储器单元处于存储器系统的相同芯片组中,也有必要在单独选择和控制存储器单元的精确性和灵活性方面改进存储器控制。下文将描述更多细节。
44.图2a是示例性的存储器系统202和主机204之间的通信的示意图200。在实施例中,存储器系统202可以是任何适当类型的存储器架构,诸如基于ddr的多通道存储器架构等。在实施例中,存储器系统202可包括易失性存储器,例如ram、dram、高速缓存等,以及非易失性存储器,例如rom、闪存、微型硬盘驱动器等,或其任何组合。在实施例中,主机可以包括但不限于cpu、asic、gpu、fpga、dsp或其任何组合。
45.参考图2a,存储器系统202包括n个存储器单元,包括第一存储器单元206、第二存储器单元208、第三存储器单元210、
……
、第n存储器单元212。作为示例但不限于,存储器系统202中的存储器单元的总数n是2的幂。在实施例中,第一存储器单元206、第二存储器单元208、第三存储器单元210、
……
、第n存储器单元212的相应存储器单元可为加速器架构,例如,pim架构等。加速器架构如上所述,在此不再重复。
46.第一存储器单元206、第二存储器单元208、第三存储器单元210、
……
、第n存储器单元212的相应存储器单元用于通过数据总线214向/从主机204传送数据/信号。
47.在实施例中,数据总线214的数据宽度可以是任何合适的宽度,例如,64比特。在实施例中,数据总线214可包括用于相应存储器单元与主机204通信以传输数据/信号的独立的双向数据路径/通道,并且数据路径/通道被称为单元接口1_216、单元接口2_218、单元接口3_220、
……
、单元接口n_222。在实施例中,单元接口1_216用于在第一存储器单元206和主机204之间传输数据/信号。单元接口2_218用于在存储器单元208和主机204之间传输数
据/信号。单元接口3_220用于在第三存储器单元210和主机204之间传输数据/信号。单元接口n_222用于在存储器单元n_212和主机204之间传输数据/信号。
48.第一存储器单元206、第二存储器单元208、第三存储器单元210、
……
、第n存储器单元212的相应存储器单元还用于经由命令/地址信号线216从主机204接收命令/地址信号。
49.第一存储器单元206、第二存储器单元208、第三存储器单元210、
……
、第n存储器单元212还用于从主机204接收芯片组选择信号。例如,第一存储器单元206还用于经由第一芯片组选择线226从主机204接收第一芯片组选择信号。第二存储器单元208还用于经由第二芯片组选择线228从主机204接收第二芯片组选择信号。第三存储器单元210还用于经由第三芯片组选择线230从主机204接收第三芯片组选择信号。第n存储器单元212还用于经由第n芯片组选择线232从主机204接收第n芯片组选择信号。
50.主机204用于经由数据总线214/相应的单元接口216、218、220或222向/从第一存储器单元206、第二存储器单元208、第三存储器单元210、
……
、第n存储器单元212中的相应存储器单元传送数据/信号。
51.主机204还用于经由命令/地址线224将命令/地址信号发送到第一存储器单元206、第二存储器单元208、第三存储器单元210、
……
、第n存储器单元212中的相应存储器单元。
52.主机204还用于向第一存储器单元206、第二存储器单元208、第三存储器单元210、
……
、第n存储器单元212中的相应存储器单元发送芯片组选择信号,以选择/不选择相应存储器单元。例如,主机204还用于经由第一芯片组选择线226向第一存储器单元206发送第一芯片组选择信号,以选择/不选择第一存储器单元206。主机204还用于经由第二芯片组选择线228向第二存储器单元208发送第二芯片组选择信号以选择/不选择第二存储器单元208。主机204还用于经由第三芯片组选择线230向第三存储器单元210发送第三芯片组选择信号以选择/不选择第三存储器单元210。主机204还用于经由第n芯片组选择线232向第n存储器单元212发送第n芯片组选择信号以选择/不选择第n存储器单元212。
53.总之,数据总线214、命令/地址线224、第一芯片组选择线226、第二芯片组选择线228、第三芯片组选择线230、
……
、第n芯片组选择线232可统称为接口234。换句话说,接口234可包括数据总线214、命令/地址线224、第一芯片组选择线226、第二芯片组选择线228、第三芯片组选择线230、
……
、第n芯片组选择线232。接口234耦合在主机204和存储器系统202/各个存储器单元之间。在实施例中,接口234可以是任何合适的存储器接口,例如ddr接口。在实施例中,接口234可进一步包括诸如时钟线、响应信号线、控制信号线等的其它线。
54.如上文所述,传统的基于ddr接口的存储器模块被设计为具有两个或更多的芯片组,并且在给定时间只能选择一个芯片组。因此,同一芯片组内的所有存储芯片/单元总是同时被选择并以相同步调工作。但是,同一芯片组内的不同芯片/单元不能被单独选择、控制或访问(读/写)。
55.但在示例性的示意图200中,第一存储器单元206、第二存储器单元208、第三存储器单元210、
……
、第n存储器单元212中的各个存储器单元被视为一个芯片组,并且由主机204使用芯片组选择信号218、220、222、
……
、224单独选择。在实施例中,在给定时间只能选择一个存储器单元。
56.主机204还用于经由数据总线214/单元接口216、218、220和222单独访问第一存储器单元206、第二存储器单元208、第三存储器单元210、
……
、第n存储器单元212中的相应存储器单元。数据总线214和单元接口216、218、220和222的功能如上所述,在此不再重复。
57.例如,主机204还用于当选择第一存储器单元206以执行读和/或写操作时,经由数据总线214/单元接口1_216访问第一存储器单元206。在实施例中,尽管数据总线214在n个存储器单元之间共享,但因为在给定时间只有第一存储器单元206被选择,因此数据总线214的整个数据宽度在主机204和第一存储器单元206的读和/或写操作期间期间是可用的。
58.例如,主机204还用于当选择第二存储器单元208以执行读和/或写操作时,经由数据总线214/单元接口2_218访问第二存储器单元208。在实施例中,尽管数据总线214在n个存储器单元之间共享,但因为在给定时间仅选择了第二存储器单元208,因此数据总线214的整个数据宽度在主机204和第二存储器单元208的读和/或写操作期间是可用的。
59.例如,主机204还用于当选择第三存储器单元210以执行读和/或写操作时,经由数据总线214/单元接口3_220访问第三存储器单元210。在实施例中,尽管数据总线214在n个存储器单元之间共享,但因为在给定时间仅选择了第三存储器单元210,因此数据总线214的整个数据宽度在主机204和第三存储器单元210的读和/或写操作期间是可用的。
60.例如,主机204还用于当选择第n个存储器单元212以执行读和/或写操作时,经由数据总线214/单元接口n_222访问第n个存储器单元212。在实施例中,尽管数据总线214在n个存储器单元之间共享,因为在给定时间仅选择了第n个存储器单元212,但是数据总线214的整个数据宽度在主机204和第n个存储器单元212的读和/或写操作期间是可用的。
61.利用上述示例性的示意图200,存储器系统202中的各个存储器单元可由主机204单独地选择、控制和访问(读/写)。因此,克服了传统的基于ddr的存储器中芯片/单元必须以相同步调工作的问题。因此,改进了存储器控制。
62.虽然图2a示出了存储器系统202中的n个存储器单元,但本公开不限于此。在实施例中,存储器系统202可包括其他组件。例如,其他组件可以包括但不限于计算单元、存储器单元、加速器单元、控制单元或其任何组合。在实施例中,示例性的示意图200可扩展以控制存储器系统202中的其他组件。
63.图2b是示例性的存储器系统202'和主机204'之间的通信的示意图200'。在实施例中,存储器系统202'可以是任何适当类型的存储器架构,诸如基于ddr的多通道存储器架构等。在实施例中,存储器系统202'可以包括易失性存储器,例如ram、dram、高速缓存等,以及非易失性存储器,例如rom、闪存、微型硬盘驱动器等,或其任何组合。在实施例中,主机可以包括但不限于cpu、asic、gpu、fpga、dsp或其任何组合。
64.参考图2b,存储器系统202'包括n个存储器单元,n个存储器单元包括第一存储器单元206'、第二存储器单元208'、第三存储器单元210'、
……
、第n存储器单元212'。作为示例但不限于,存储器系统202'中的存储器单元的总数n是2的幂。
65.第一存储器单元206'、第二存储器单元208'、第三存储器单元210'、
……
、第n存储器单元212'中的相应存储器单元用于通过数据总线214'向/从主机204'传输数据/信号。
66.在实施例中,数据总线214'的数据宽度可以是任何合适的宽度,例如,64比特。在实施例中,数据总线214'可包括用于相应存储器单元与主机104通信以传输数据/信号的双向数据路径/通道,并且数据路径/通道被称为单元接口1_216’、单元接口2_218’、单元接口
3_220’、
……
、单元接口n_222’。在实施例中,单元接口1_216'用于在第一存储器单元206'和主机204'之间传输数据/信号。单元接口2_218'用于在第二存储器单元208'和主机204'之间传输数据/信号。单元接口3_220'用于在第三存储器单元210'和主机204之间传送数据/信号。单元接口n_222'用于在存储器单元n_212'和主机204'之间传送数据/信号。
67.第一存储器单元206'、第二存储器单元208'、第三存储器单元210'、
……
、第n存储器单元212'中的相应存储器单元还用于经由命令/地址信号线216'从主机204'接收命令/地址信号。
68.第一存储器单元206'、第二存储器单元208'、第三存储器单元210'、
……
、第n存储器单元212'还用于从主机204'接收芯片组选择信号。例如,第一存储器单元206'还用于经由第一芯片组选择线226'从主机204'接收第一芯片组选择信号。第二存储器单元208'还用于经由第二芯片组选择线228'从主机204'接收第二芯片组选择信号。第三存储器单元210'还用于经由第三芯片组选择线230'从主机204'接收第三芯片组选择信号。第n存储器单元212'还用于经由第n芯片组选择线232'从主机204'接收第n芯片组选择信号。
69.主机204'用于经由数据总线214'向/从第一存储器单元206'、第二存储器单元208'、第三存储器单元210'、
……
、第n存储器单元212'中的相应存储器单元传送数据/信号。
70.主机204'还用于经由命令/地址线224'将命令/地址信号发送到第一存储器单元206'、第二存储器单元208'、第三存储器单元210'、
……
、第n存储器单元212'中的相应存储器单元。
71.主机204'还用于发送芯片组选择信号到第一存储器单元206'、第二存储器单元208'、第三存储器单元210'、
……
、第n存储器单元212'中的相应存储器单元,以选择/不选择相应的16存储器单元。例如,主机204'还用于经由第一芯片组选择线226'向第一存储器单元206'发送第一芯片组选择信号,以选择/不选择第一存储器单元206'。主机204'还用于向第二存储器单元208'发送第二芯片组选择信号220',以选择/不选择第二存储器单元208'。主机204'还用于经由第三芯片组选择线230'发送第三芯片组选择信号到第三存储器单元210',以选择/不选择第三存储器单元210'。主机204'还用于经由第n芯片组选择线232'向第n存储器单元212'发送第n芯片组选择信号,以选择/不选择第n存储器单元212'。
72.在实施例中,第一存储器单元206'、第二存储器单元208'、第三存储器单元210'、
……
、第n存储器单元212'中的相应存储器单元可用于加速器架构,例如,pim架构,下文将对其进行更详细的描述。在实施例中,首先,存储器单元206'包括用于存储数据的数据区域234'、用于执行计算的计算块236'和用于执行计算的计算块238'。数据区域234'还用于与计算块236'和计算块238'进行通信/交互。第二存储器单元208'包括用于存储数据的数据区域240'、用于执行计算的计算块242'和用于执行计算的计算块244'。数据区域240'还用于与计算块242'和计算块244'进行通信/交互。第三存储器单元210'包括用于存储数据的数据区域246'、用于执行计算的计算块248'和用于执行计算的计算块250'。数据区域246'还用于与计算块248'和计算块250'进行通信/交互。第n存储器单元212'包括用于存储数据的数据区域252'、用于执行计算的计算块254'和用于执行计算的计算块256'。数据区域252'还用于与计算块254'和计算块256'进行通信/交互。虽然图2b示出了相应的存储器单元包括一个数据区和两个计算块,本公开不限于此,并且相应的存储器单元可包括其他
数量的数据区域和计算块。附加地或可选地,计算块包括数据处理单元(dpus)。利用pim结构,某些算法将由存储器单元内的计算块/dpus处理,从而消除了一些代价高昂的数据移动,并极大地提高了计算块的整体效率。
73.总的来说,数据总线214'、命令/地址线224'、第一芯片组选择线226'、第二芯片组选择线228'、第三芯片组选择线230'、
……
、第n芯片组选择线232'可统称为接口258'。换句话说,接口258'包括数据总线214'、命令/地址线224'、第一芯片组选择线226'、第二芯片组选择线228'、第三芯片组选择线230'、
……
、第n芯片组选择线232'。接口258'耦合在主机204'和存储器系统202'/各个存储器单元之间。在实施例中,接口258'可以是任何合适的存储器接口,例如ddr接口。在实施例中,接口258'可进一步包括诸如时钟线、响应信号线、控制信号线等的其它线。
74.如上文所述,传统的基于ddr接口的存储器模块被设计为具有两个或更多的芯片组,并且在给定时间只能选择一个芯片组。因此,同一芯片组内的所有存储芯片/单元总是同时被选择并以相同步调工作。但是,不能单独选择、控制或访问(读/写)同一芯片组内的不同芯片/单元。在上述的示例性的示意图200'中,第一存储器单元206'、第二存储器单元208'、第三存储器单元210'、
……
、第n存储器单元212'中的每个存储器单元是一个芯片组,并可由主机204'使用芯片组选择信号218'、220'、222'和224'单独选择。在实施例中,在给定时间只能选择一个存储器单元。
75.主机204'还用于经由数据总线214和单元接口216'、单元接口218'、单元接口220'、
……
、单元接口222'来单独访问第一存储器单元206'、第二存储器单元208'、第三存储器单元210'、
……
、第n存储器单元212'中的相应存储器单元。数据总线214'和单元接口216'、单元接口218'、单元接口220'和单元接口222'的功能如上所述,在此不再重复。
76.例如,主机204'还用于当第一存储器单元206'被选择执行读和/或写操作时,经由数据总线214'/单元接口1_216'访问第一存储器单元206'。在实施例中,尽管数据总线214'在n个存储器单元之间共享,但由于在给定时间仅选择第一存储器单元206',因此数据总线214'的整个数据宽度在主机204'和第一存储器单元206'的读和/或写操作期间是可用的。
77.例如,主机204'还用于当第二存储器单元208'被选择执行读和/或写操作时,经由数据总线214'/单元接口2_218'访问第二存储器单元208'。在实施例中,尽管数据总线214'在n个存储器单元之间共享,但由于在给定时间仅选择第二存储器单元208',数据总线214'的整个数据宽度在主机204'和第二存储器单元208'的读和/或写操作期间是可用的。
78.例如,主机204'还用于当第三存储器单元210'被选择执行读和/或写操作时,经由数据总线214'/单元接口3_220'访问第三存储器单元210'。在实施例中,尽管数据总线214'在n个存储器单元之间共享,因为由于在给定时间仅选择第三存储器单元210',因此数据总线214'的整个数据宽度主机204'和第三存储器单元210'的读和/或写操作期间是可用的。
79.例如,主机204'还用于当第n个存储器单元212'被选择执行读和/或写操作时,经由数据总线214'/单元接口n_222'访问第n个存储器单元212'。在实施例中,尽管数据总线214'在n个存储器单元之间共享,但由于在给定时间仅选择第n个存储器单元212',因此数据总线214'的整个数据宽度在主机204'和第n个存储器单元212'的读和/或写操作期间是可用的。
80.利用上面的示例性的示意图200',存储器系统202'中的各个存储器单元可以由主
机204'单独地选择、控制和访问(读/写)。因此,克服了传统ddr存储器中芯片/单元总是以相同步调工作的问题。因此,改进了存储器控制。
81.虽然图2b示出了存储器系统202'中的n个存储器单元,本公开不限于此。在实施例中,存储器系统202'可以包括其他组件。例如,其他组件可以包括但不限于计算单元、存储器单元、加速器单元、控制单元或其任何组合。在实施例中,示例性的示意图200'可以扩展到控制存储器系统202'中的其他组件。
82.示例性的示意图200/200'的一些特征可以包括以下内容。在实施例中,存储器系统202和202'的每个存储器系统n中的单元数小于或等于存储器系统202/202'中的芯片组数。芯片组选择信号的数目与存储器系统202/202'中的芯片组的数目相同。如果存储器系统有m个芯片组,其中m是正整数,则有m个芯片组选择信号。利用m个芯片组选择信号,主机204/204'至多可以单独选择m个存储器单元。因此,每个存储器系统n中的单元数n小于或等于芯片组数m。
83.在实施例中,存储器系统202/202'的最大系统带宽是x gb/s,其中x是正值。例如,对于ddr4-2400的存储器系统,x可能是19.2。
84.在实施例中,存储器系统202/202'中的相应存储器单元的最大单元bw带宽(bw)为x gb/s。例如,在给定时间仅选择一个存储器单元,因此在给定时间期间内,存储器系统204/204'的整个带宽可用于所选择的存储器单元。因此,最大单元bw带宽是x gb/s,这与最大系统带宽相同。
85.在实施例中,示例性的示意图200/200'中,控制单个单元的方式基于芯片组选择信号。
86.在实施例中,示例性的示意图200/200'可适用于各个存储器单元需要高峰值带宽(high peak bandwidth)的情况。
87.示例性的示意图200/200'的上述特征是为了描述的目的而不是为了限制本公开的范围。
88.图3a是示例性的存储器系统302和主机304之间的通信的示意图300。在实施例中,存储器系统302可以是任何适当类型的存储器架构,诸如基于ddr的多通道存储器架构等。在实施例中,存储器系统302可包括易失性存储器,例如ram、dram、高速缓存等,以及非易失性存储器,例如rom、闪存、微型硬盘驱动器等,或其任何组合。在实施例中,主机可以包括但不限于cpu、asic、gpu、fpga、dsp或其任何组合。
89.参考图3a中,存储器系统302包括n个存储器单元,n个存储器单元包括第一存储器单元306、第二存储器单元308、第三存储器单元310、
……
、第n存储器单元312。作为示例,但不是限制,总数存储系统302中的存储器单元的n是2的幂。在实施例中,第一存储器单元306、第二存储器单元308、第三存储器单元310、
……
、第n存储器单元312中的相应存储器单元可以配置为加速器架构,例如,pim架构等。加速器架构如上所述,在此不再重复。
90.数据总线314包括用于各个存储器单元与主机304通信以传送数据/信号的双向数据通道,并且数据通道/通道被称为单元接口1_316、单元接口2_318、单元接口3_320、
……
、单元接口n_322。在实施例中,数据总线314的数据宽度可以是任何合适的宽度,例如,64比特。在实施例中,单元接口1_316、单元接口2_318、单元接口3_320、
……
、单元接口n_322中的相应单元接口的数据宽度可以是任何合适的宽度,例如,16位或类似。在实施例中,单元
接口1_316用于在第一存储器单元306和主机304之间传输数据/信号。单元接口2_318用于在第二存储器单元308和主机304之间传输数据/信号。单元接口3_320用于在第三存储器单元310和主机304之间传输数据/信号。单元接口n_322用于在存储器单元n_312和主机304之间传输数据/信号。
91.第一存储器单元306、第二存储器单元308、第三存储器单元310、
……
、第n存储器单元312的相应存储器单元用于经由数据总线314和各个单元接口316、318、320或322向/从主机304传送数据/信号。例如,第一存储器单元306用于经由单元接口1_316向/从主机304传送数据/信号。第二存储器单元308用于经由单元接口2_318向/从主机304传送数据/信号。第三存储器单元310用于经由单元接口3_320向/从主机304传送数据/信号。第n个存储器单元312用于经由单元接口n_322向/从主机304传送数据/信号。
92.第一存储器单元306、第二存储器单元308、第三存储器单元310、
……
、第n存储器单元312中的相应存储器单元还用于经由命令/地址线324从主机304接收命令和地址信号。
93.第一存储器单元306、第二存储器单元308、第三存储器单元310、
……
、第n存储器单元312还用于经由数据掩码信号线326从主机304接收数据掩码(dm)信号。数据掩码线326包括n条线,分别为dm_1 320、dm_2 322、dm_3 324、
……
、dm_n 326。例如,第一存储器单元306还用于经由dm_1 328从主机304接收第一数据掩码信号。第二存储器单元308还用于经由dm_2 330从主机304接收第二数据掩码信号。第三存储器单元310还用于经由dm_3 332从主机304接收第三数据掩码信号。第n存储器单元312还用于经由dm_n 334从主机304接收第n数据掩码信号。
94.主机304用于向/从第一存储器单元306、第二存储器单元308、第三存储器单元310、
……
、第n存储器单元312中的相应存储器单元传送数据/信号。例如,主机304还用于经由单元接口1_316向/从第一存储器单元306传送数据/信号。主机还用于经由单元接口2_318向/从第二存储器单元308传送数据/信号。主机还用于经由单元接口3_320向/从第三存储器单元310传送数据/信号。主机还用于经由单元接口n_322向/从第n个存储器单元312传送数据/信号。
95.主机304还用于经由命令/地址线324将命令/地址信号发送到第一存储器单元306、第二存储器单元308、第三存储器单元310、
……
、第n存储器单元312中的相应存储器单元。
96.主机304还用于经由数据掩码线326将数据掩码信号发送到第一存储器单元306、第二存储器单元308、第三存储器单元310、
……
、第n存储器单元312,以选择/不选择相应的存储器单元。在实施例中,主机304被设计/定制为经由多条数据掩码线发送多个数据掩码信号。
97.例如,主机304还用于经由dm_1 328向第一存储器单元306发送第一数据掩码信号,以选择/不选择第一存储器单元306。第一数据掩码信号用于掩码/解除掩码在单元接口1_316上传输的数据比特。当通过单元接口1_316传送的数据比特被掩码时,通过单元接口1_316传送并由第一存储器单元306接收的数据比特将被忽略。换言之,第一存储器单元306未被选择。当通过单元接口1_316传送的数据比特被解除掩码时,通过单元接口1_316传送数据比特将由第一存储器单元306接收。换言之,第一存储器单元306被选择。
98.例如,主机304还用于经由dm_2 330向第二存储器单元308发送第二数据掩码信
号,以选择/不选择第二存储器单元308。第二数据掩码信号用于掩码/解除掩码在单元接口2_318上传输的数据比特。当通过单元接口2_318传送的数据比特被掩码时,由第二存储器单元308接收的通过单元接口2_318传送的数据比特将被忽略。换言之,未选择第二存储器单元308。当通过单元接口2_318传送的数据比特被解除掩码时,通过单元接口2_318传送的数据比特将由第二存储器单元308接收。换言之,第二存储器单元308被选择。
99.例如,主机304还用于经由dm_3 332向第三存储器单元310发送第三数据掩码信号,以选择/不选择第三存储器单元310。第三数据掩码信号用于掩码/解除掩码通过单元接口3_320传输的数据比特。当通过单元接口3_320传送的数据比特被掩码时,由第三存储器单元310接收的通过单元接口3_320传送的数据比特将被忽略。换言之,未选择第三存储器单元310。当通过单元接口3_320传送的数据比特被解除掩码时,通过单元接口3_320传送且由第三存储器单元310接收的数据比特将被忽略。换言之,第三存储器单元310未被选择。
100.例如,主机304还用于经由dm_n 334将第n个数据掩码信号发送到第n个存储器单元312,以选择/不选择第n个存储器单元312。第n个数据掩码信号用于掩码/解除掩码通过单元接口n_322上传输的数据比特。当通过单元接口n_322传送的数据比特被掩码时,通过单元接口n_322传送且由第n个存储器单元312接收的数据比特将被忽略。换言之,第n存储器单元312未被选择。当通过单元接口n_322上传送的数据比特被解除掩码时,通过单元接口n_322传送的数据比特将由第n个存储器单元312接收。换言之,第n存储器单元312被选择。
101.关于数据掩码信号和单元接口之间的对应关系的更多细节参考图4。
102.主机304还用于访问第一存储器单元306、第二存储器单元308、第三存储器单元310、
……
、第n存储器单元312中的相应存储器单元以执行读和/或写操作。在实施例中,数据掩码信号仅在写入操作期间从主机304发送到存储器单元以选择/不选择一个或多个存储器单元。在读取操作期间,主机304不需要发送数据掩码信号来选择/不选择相应的存储器单元,因为主机304丢弃来自于存储器单元的数据中的不期望的部分但保留期望的部分。
103.总体而言,数据总线314、命令/地址线324和数据掩码线326可称为接口336。换句话说,接口336包括命令/地址线324和数据掩码线326。接口336耦合在主机304和存储器系统302/各个存储器单元之间。在实施例中,接口336可以是任何合适的存储器接口,例如ddr接口。在实施例中,接口336可进一步包括诸如时钟线、响应信号线、控制信号线等的其它线。
104.如上文所述,在传统的基于ddr接口的存储器模块中,总是同时选择相同芯片组内的所有存储器芯片/单元,并且以相同步调工作。然而,不同的芯片/单元不能被单独地选择、控制或访问(读/写)。
105.利用上述的示例性的示意图300,存储器系统302中的各个存储器单元可以由主机304单独地选择、控制和访问(读/写)。此外,可以同时选择、控制和访问(读/写)存储器系统302中的一个以上的存储器单元。因此,克服了传统ddr存储器中芯片/单元总是需要以相同步调工作的问题。因此,改进了存储器控制。
106.虽然图3a示出了存储器系统302中的n个存储器单元,本公开不限于此。在实施例中,存储器系统302可以包括其他组件。例如,其他组件可以包括但不限于计算单元、存储器单元、加速器单元、控制单元或其任何组合。在实施例中,示例性的示意图300可扩展为控制
存储器系统302中的其他组件。
107.图3b示出了示例性的存储器系统302'和主机304'之间的通信的示意图300'。在实施例中,存储器系统302'可以是任何适当类型的存储器架构,诸如基于ddr的多通道存储器架构等。在实施例中,存储器系统302'可以包括易失性存储器,例如ram、dram、高速缓存等,以及非易失性存储器,例如rom、闪存、微型硬盘驱动器等,或其任何组合。在实施例中,主机可以包括但不限于cpu、asic、gpu、fpga、dsp或其任何组合。
108.参考图3b,存储器系统302'包括n个存储器单元,分别为第一存储器单元306'、第二存储器单元308'、第三存储器单元310'、
……
、第n存储器单元312'。作为示例但不限于,存储器系统302'中的存储器单元的总数n是2的幂。
109.数据总线314'可以包括用于相应存储器单元与主机304'通信以传输数据/信号的双向数据路径/通道,并且数据路径/通道是指单元接口1_316'、单元接口2_318'、单元接口3_320'、
……
、单元接口n_322'。在实施例中,数据总线314'的数据宽度可以是任何合适的宽度,例如,64'位。在实施例中,单元接口1_316'、单元接口2'_318'、单元接口3'_320'、
……
、单元接口n_322'的相应单元接口的数据宽度可以是任何合适的宽度,例如16'位。在实施例中,单元接口1'_316'用于在第一存储器单元306'和主机304'之间传输数据/信号。单元接口2'_318'用于在第二存储器单元308'和主机304'之间传输数据/信号。单元接口3'_320'用于在第三存储器单元310'和主机304'之间传输数据/信号。单元接口n_322'用于在存储器单元312'和主机304'之间传输数据/信号。
110.第一存储器单元306'、第二存储器单元308'、第三存储器单元310'、
……
、第n存储器单元312'的相应存储器单元用于经由数据总线314'和单元接口316、318、320或322向/从主机304'传送数据/信号。例如,第一存储器单元306'用于经由单元接口1_316'向/从主机304'传送数据/信号。第二存储器单元308'用于经由单元接口2_318'向/从主机304'传送数据/信号。第三存储器单元310'用于经由单元接口3_320'向/从主机304'传送数据/信号。第n个存储器单元312'用于经由单元接口n_322'向/从主机304'传送数据/信号。
111.第一存储器单元306'、第二存储器单元308'、第三存储器单元310'、
……
、第n存储器单元312'中的相应存储器单元还用于经由命令/地址线324'从主机304'接收命令/地址信号。
112.第一存储器单元306'、第二存储器单元308'、第三存储器单元310'、
……
、第n存储器单元312'还用于经由数据掩码信号线326'从主机304'接收数据掩码信号。数据掩码线326'可以包括n条线,分别为dm_1 320'、dm_2 322'、dm_3 324'、
……
、dm_n 326'。例如,第一存储器单元306'还用于经由dm_1 328'从主机304'接收第一数据掩码信号。第二存储器单元308'还用于经由dm_2 330'从主机304'接收第二数据掩码信号。第三存储器单元310'还用于经由dm_3 332'从主机304'接收第三数据掩码信号。第n个存储器单元312'还用于经由dm_n 334'从主机304'接收第n个数据掩码信号。
113.主机304'用于向/从第一存储器单元306'、第二存储器单元308'、第三存储器单元310'、
……
、第n存储器单元312'中的相应存储器单元传送数据/信号。例如,主机304'还用于经由单元接口1_316'向/从第一存储器单元306'传送数据/信号。主机还用于经由单元接口2_318'向/从第二存储器单元308'传送数据/信号。主机还用于经由单元接口3_320'向/从第三存储器单元310'传送数据/信号。主机还用于经由单元接口n_322'向/从第n个存储
器单元312'传送数据/信号。
114.主机304'还用于通过命令/地址线324'将命令/地址信号发送到第一存储器单元306'、第二存储器单元308'、第三存储器单元310'、
……
、第n存储器单元312'中的相应存储器单元。
115.主机304'还用于经由数据掩码线326'将数据掩码信号发送到第一存储器单元306'、第二存储器单元308'、第三存储器单元310'、
……
、第n存储器单元312',以选择/不选择相应的存储器单元。在实施例中,主机304'可以被设计/定制为经由多条数据掩码线发送多个数据掩码信号。
116.例如,主机304'还用于经由dm_1 328'向第一存储器单元306'发送第一数据掩码信号,以选择/不选择第一存储器单元306'。第一数据掩码信号用于掩码/解除掩码在单元接口1_316'上传输的数据比特。当通过单元接口1_316'传输的数据比特被掩码时,通过单元接口1_316'传输且由第一存储器单元306'接收的数据比特将被忽略。换句话说,第一存储器单元306'未被选择。当通过单元接口1_316'传送的数据比特被解除掩码时,通过单元接口1_316'传送的数据比特可由第一存储器单元306'接收。换句话说,第一存储器单元306'被选择。
117.例如,主机304'还用于经由dm_2 330'向第二存储器单元308'发送第二数据掩码信号,以选择/不选择第二存储器单元308'。第二数据掩码信号用于掩码/解除掩码通过单元接口2_318'传输的数据比特。当通过单元接口2_318'传输的数据比特被掩码时,通过单元接口2_318'传输且由第二存储器单元308'接收的数据比特将被忽略。换句话说,第二存储器单元308'未被选择。当通过单元接口2_318'传输的数据比特未被掩码时,通过单元接口2_318'传输的数据比特由第二存储器单元308'接收。换句话说,第二存储器单元308'被选择。
118.例如,主机304'还用于经由dm_3 332'向第三存储器单元310'发送第三数据掩码信号,以选择/不选择第三存储器单元310'。第三数据掩码信号用于掩码/解除掩码通过单元接口3_320'传输的数据比特。当通过单元接口3_320'传输的数据比特被掩码时,通过单元接口3_320'传输且由第三存储器单元310'接收的数据比特将被忽略。换句话说,第三存储器单元310'未被选择。当通过单元接口3_320'传送的数据比特被解除掩码时,通过单元接口3_320'传送的数据比特可由第三存储器单元310'接收。换句话说,第三存储器单元310'被选择。
119.例如,主机304'还用于经由dm_n 334'向第n个存储器单元312'发送第n个数据掩码信号,以选择/不选择第n个存储器单元312'。当通过单元接口n_322'传送的数据比特被掩码时,通过单元接口n_322'传送且由第n个存储器单元312'接收的数据比特将被忽略。换言之,未选择第n个存储器单元312'。当通过单元接口n_322'上传送的数据比特被解除掩码时,通过单元接口n_322'传送的数据比特可以由第n个单元存储器单元312'接收。换句话说,第n个存储器单元312'被选择。
120.关于数据掩码信号和单元接口之间的对应关系的更多细节参考图4所示。
121.主机304'还用于访问第一存储器单元306'、第二存储器单元308'、第三存储器单元310'、
……
、第n存储器单元312'中的相应存储器单元以执行读和/或写操作。在实施例中,数据掩码信号仅在写入操作期间从主机304'发送到存储器单元以选择/不选择一个或
多个存储器单元。在读取操作期间,主机304'不需要发送数据掩码信号来选择/不选择相应的存储器单元,因为主机304'可以丢弃从存储器单元读取的数据的不期望的部分并保存期望的部分。另外或可选地,主机304'可以发送数据掩码信号以在读和写操作期间选择/不选择一个或多个存储器单元。
122.在实施例中,第一存储器单元306'、第二存储器单元308'、第三存储器单元310'、
……
、第n存储器单元312'中的相应存储器单元可以配置为加速器架构,例如,pim架构。在实施例中,第一存储器单元306'包括用于存储数据的数据区域328',用于执行计算的计算块330',以及用于执行计算的计算块332'。数据区域328'可以与计算块330'和计算块332'进行通信/交互。第二存储器单元308'包括用于存储数据的数据区域334'、用于执行计算的计算块336',以及用于执行计算的计算块338'。数据区域334'可以与计算块336'和计算块338'进行通信/交互。第三存储器单元310'包括用于存储数据的数据区域340'、用于执行计算的计算块342'和用于执行计算的计算块344'。数据区域340'可以与计算块342'和计算块344'进行通信/交互。第n存储器单元312'包括用于存储数据的数据区域346',用于执行计算的计算块348',以及用于执行计算的计算块350'。数据区域346'可以与计算块348'和计算块350'进行通信/交互。虽然图3b示出了相应的存储器单元包括一个数据区和两个计算块,但本公开不限于此,并且相应的存储器单元可以包括其他数量的数据区域和计算块。附加地或可选地,计算块可以包括数据处理单元。利用pim架构,某些类型的算法将由存储器单元内的计算块/dpu来处理,而不是在cpu内处理,从而消除了一些代价高昂的数据移动,并极大地提高了计算的总体效率。
123.总的来说,数据总线314'、命令/地址线324'、数据掩码线326'可以被称为接口352'。换句话说,接口352'可包括数据总线314'、命令/地址线324'、数据掩码线326'。接口352'耦合在主机304'和存储器系统302'/各个存储器单元之间。在实施例中,接口352'可以是任何合适的存储器接口,例如ddr接口。在实施例中,接口352'可以进一步包括其它线,例如时钟线、响应信号线、控制信号线等。
124.如上文所述,在传统的基于ddr接口的存储器模块中,总是同时选择相同芯片组内的所有存储器芯片/单元,并且以相同步调工作。然而,不同的芯片/单元不能被单独地选择、控制或访问(读/写)。
125.利用上面的示例性的示意图300',存储器系统302'中的各个存储器单元可以被主机304'单独地选择、控制和访问(读/写)。此外,存储器系统302'中的一个以上的存储器单元可以同时被选择、控制和访问(读/写)。因此,克服了传统的基于ddr的存储器中,芯片/单元总是以相同步调工作的问题。因此,改进了存储器控制。
126.虽然图3b示出了存储器系统302'中的n个存储器单元,但本公开不限于此。在实施例中,存储器系统302'可以包括其他组件。例如,其他组件可以包括但不限于计算单元、存储器单元、加速器单元、控制单元或其任何组合。在实施例中,示例性的示意图300'可以被扩展以控制存储器系统302'中的其他组件。
127.示例性的示意图300/300'的一些特征可以包括以下内容。在实施例中,存储器系统304/304'的每个存储器系统n的单元数小于或等于数据掩码信号的数。例如,数据掩码信号的数目为k,其中k为正整数。因为主机304/304'发送相应的数据掩码信号以选择/不选择相应的存储器单元,所以主机304/304'最多可以控制k个存储器单元。可以基于数据掩码信
号的最小粒度计算出数据掩码信号的数目。
128.在实施例中,存储器系统302/302'的最大系统带宽是x gb/s,其中x是正值。例如,对于ddr4-2400的存储器系统,x是19.2。
129.在实施例中,存储器系统302/302'中的相应存储器单元的最大单元bwbw是x/n gb/s。因为整个数据总线314被分成n个通道,所以各个存储器单元的最大单元bw是x/n gb/s。
130.在实施例中,对示例性的示意图300/300'的单个单元的控制方式基于数据掩码信号。
131.在实施例中,示例性的示意图300/300'可以适用于要选择和访问的一个或多个存储器单元频繁改变的情况,因为数据掩码信号可以动态和灵活地生成。
132.示例性的示意图300/300'的上述特征是为了描述的目的,而不是为了限制本公开的范围。
133.图4示出了数据掩码信号和单元接口之间的对应关系的示例表。
134.参考图4,行402示出了数据掩码信号,行404示出了单元接口。
135.参考图4,行406示出了用于掩码/解除掩码通过单元接口_1传输的数据比特的第一数据掩码信号,行408示出了用于掩码/解除掩码通过单元接口_2传输的数据比特的第二数据掩码信号。列410示出了用于掩码/解除掩码通过单元接口_3传输的数据比特的第三数据掩码信号。列412示出了用于掩码/解除掩码通过单元接口_n上传输的数据比特的第n个数据掩码信号。
136.图5a示出了示例性的存储器系统502和主机504之间的通信的示意图500。在实施例中,存储器系统502可以是任何适当类型的存储器架构,诸如基于ddr的多通道存储器架构等。在实施例中,存储器系统502可包括易失性存储器,例如ram、dram、高速缓存等,以及非易失性存储器,例如rom、闪存、微型硬盘驱动器等,或其任何组合。在实施例中,主机可以包括但不限于cpu、asic、gpu、fpga、dsp或其任何组合。
137.参考图5a中,存储器系统502包括n个存储器单元,分别为第一存储器单元506、第二存储器单元508、第三存储器单元510、
……
、第n存储器单元512。作为示例但不限于,存储器系统502中的存储器单元的总数n是2的幂。在实施例中,第一存储器单元506、第二存储器单元508、第三存储器单元510、
……
、第n存储器单元512中的相应存储器单元可以配置为加速器架构,例如,pim架构等。加速器架构如上文所述,在此不再重复。
138.数据总线522可以包括用于相应存储器单元与主机504通信以传输数据/信号的双向数据路径/通道,这些数据路径/通道被称为单元接口1_524、单元接口2_526、单元接口3_528、
……
、单元接口n_530。在实施例中,数据总线522的数据宽度可以是任何合适的宽度,例如,64比特。在实施例中,单元接口1_524、单元接口2_526、单元接口3_528、
……
、单元接口n_530中的相应单元接口的数据宽度可以是任何合适的宽度,例如,16比特。在实施例中,单元接口1_524用于在第一存储器单元506和主机504之间传输数据/信号。单元接口2_526用于在第二存储器单元508和主机504之间传输数据/信号。单元接口3_528用于在第三存储器单元510和主机504之间传送数据/信号。单元接口n_530用于在存储器单元n_512和主机504之间传输数据/信号。
139.第一存储器单元506、第二存储器单元508、第三存储器单元510、
……
、第n存储器
单元512中的相应存储器单元可包括独立的单元i/o使能寄存器。例如,第一存储器单元506包括第一单元i/o使能寄存器514。第二存储器单元508包括第二单元i/o使能寄存器516。第三存储器单元510包括第三单元i/o使能寄存器518。第n个存储器单元512包括第n个单元i/o使能寄存器520。
140.第一存储器单元506、第二存储器单元508、第三存储器单元510、
……
、第n存储器单元512中的相应存储器单元用于经由数据总线522/各个单元接口524、526、528或530向/从主机504传送数据/信号。例如,第一存储器单元506用于经由单元接口1_524向主机504传送数据/信号。第二存储器单元508用于经由单元接口2_526向/从主机504传送数据/信号。第三存储器单元510用于经由单元接口3_528向/从主机504传送数据/信号。第n个存储器单元512用于经由单元接口n_530向/从主机504传送数据/信号。
141.第一存储器单元506、第二存储器单元508、第三存储器单元510、
……
、第n存储器单元512中的相应存储器单元还用于经由命令/地址线532从主机504接收命令/地址信号。
142.第一存储单元506、第二存储单元508、第三存储单元510、
…
、和第n存储单元512的各自存储单元还被配置为经由命令/地址线532从主机504接收命令/地址信号。
143.主机504用于向/从第一存储器单元506、第二存储器单元508、第三存储器单元510、
……
、第n存储器单元512的相应存储器单元传送数据/信号。例如,主机504还用于经由单元接口1_524向/从第一存储器单元506传送数据/信号。主机还用于经由单元接口2_526向/从第二存储器单元508传送数据/信号。主机还用于经由单元接口3_528向/从第三存储器单元510传送数据/信号。主机还用于经由单元接口n_530向/从第n个存储器单元512传送数据/信号。
144.主机504还用于经由命令/地址线532将命令/地址信号发送到第一存储器单元506、第二存储器单元508、第三存储器单元510、
……
、第n存储器单元512中的相应存储器单元。
145.主机504还用于经由数据总线522/各个单元接口524、526、528和530向第一存储器单元506、第二存储器单元508、第三存储器单元510、
……
、第n存储器单元512中的相应存储器单元发送单元i/o使能信号,以分别通过设置相应的单元i/o使能寄存器来选择/不选择相应存储器单元。例如,主机504还用于经由单元接口1_524向第一存储器单元506发送第一单元i/o使能信号,以通过设置第一单元i/o使能寄存器514来选择/不选择第一存储器单元506。主机504还用于经由单元接口2_526向第二存储器单元508发送第二单元i/o使能信号,以通过设置第二单元i/o使能寄存器516来选择/不选择第二存储器单元508。主机504还用于经由单元接口2_528向第三存储器单元510发送第三单元i/o使能信号,以通过设置第二单元i/o使能寄存器518来选择/不选择第二存储器单元510。主机504还用于经由单元接口n_530向第n个存储器单元512发送第n单元i/o使能信号,以通过设置第n单元i/o使能寄存器520来选择/不选择第n存储器单元512。
146.主机504还用于访问第一存储器单元506、第二存储器单元508、第三存储器单元510、
……
、第n存储器单元512中的相应存储器单元,以在选择相应存储器单元时执行读和/或写操作。
147.第一单元i/o使能寄存器514、第二单元i/o使能寄存器516、第三单元i/o使能寄存器518、
……
、第n单元i/o使能寄存器520中的每个单元i/o使能寄存器用于响应于接收到相
应的单元i/o使能信号,临时使能/禁止第一存储器单元506、第二存储器单元508、第三存储器单元510、
……
、第n存储器单元512中的相应存储器单元的i/o功能。例如,第一单元i/o使能寄存器514用于响应于接收到第一单元i/o使能信号而临时使能/禁止第一存储器单元506的i/o功能。第二单元i/o使能寄存器516用于响应于接收到第二单元i/o使能信号而临时使能/禁止第二存储器单元508的i/o功能。第三单元i/o使能寄存器518用于响应于接收到第三单元i/o使能信号而临时使能/禁止第三存储器单元510的i/o功能。第n个单元i/o使能寄存器520用于响应于接收到第n个单元i/o使能信号而临时使能/禁止第n个存储器单元512的i/o功能。
148.在实施例中,如果存储器系统502中的一个存储器单元空闲一段时间,则主机504可发送相应的单元i/o使能信号来设置相应的单元i/o使能寄存器以在该段时间内禁用该存储器单元。在实施例中,与不设置相应的单元i/o使能寄存器相比,设置单元i/o使能寄存器可能导致额外的开销,因为设置单元i/o使能寄存器可能导致延迟、功耗等。
149.总的来说,数据总线522和命令/地址线532统称为接口534。换言之,接口534包括数据总线522以及命令/地址线532。接口534耦合在主机504和存储器系统502/各个存储器单元之间。在实施例中,接口534可以是任何合适的存储器接口,例如ddr接口。在实施例中,接口534可进一步包括诸如时钟线、响应信号线、控制信号线等的其它线。
150.如上文所述,在传统的基于ddr接口的存储器模块中,相同芯片组内的所有存储器芯片/单元总是同时被选择,并以相同步调工作。然而,不同的芯片/单元不能单独地被选择、控制或访问(读/写)。
151.利用上述的示例性的示意图500,存储器系统504中的各个存储器单元可以单独地被主机504选择、控制和访问(读/写)。此外,存储器系统502中的一个以上的存储器单元可以同时被选择、控制和访问(读/写)。因此,克服了传统ddr存储器中芯片/单元总是以相同步调工作的问题。因此,改进了存储器控制。
152.虽然图5a示出了存储器系统502中的n个存储器单元,本公开不限于此。在实施例中,存储器系统502可以包括其他组件。例如,其他组件可以包括但不限于计算单元、存储器单元、加速器单元、控制单元或其任何组合。在实施例中,示例性的示意图500可扩展以控制存储器系统502中的其他组件。
153.图5b是示例性的存储器系统502'和主机504'之间的通信的示意图500'。在实施例中,存储器系统502'可以是任何适当类型的存储器架构,诸如基于ddr的多通道存储器架构等。在实施例中,存储器系统502'可以包括易失性存储器,例如ram、dram、高速缓存等,以及非易失性存储器,例如rom、闪存、微型硬盘驱动器等,或其任何组合。在实施例中,主机可以包括但不限于cpu、asic、gpu、fpga、dsp或其任何组合。
154.参考图5b,存储器系统502'包括n个存储器单元,分别第一存储器单元506'、第二存储器单元508'、第三存储器单元510'、
……
、第n存储器单元512'。作为示例但不限于,存储器系统502'中的存储器单元的总数n是2的幂。
155.数据总线522'可以包括用于相应存储器单元与主机504'通信以传输数据/信号的双向数据路径/通道,并且这些数据路径/通道被称为单元接口1_524'、单元接口2_526'、单元接口3_528'、
……
、单元接口n_530'。在实施例中,数据总线522'的数据宽度可以是任何合适的宽度,例如,64比特。在实施例中,单元接口1_524'、单元接口2_526'、单元接口3_
528'、
……
、单元接口n_530'中的相应单元接口的数据宽度可以是任何合适的宽度,例如,16比特。在实施例中,单元接口1_524'用于在第一存储器单元506'和主机504'之间传输数据/信号。单元接口2_526'用于在第二存储器单元508'和主机504'之间传输数据/信号。单元接口3_528'用于在第三存储器单元510'和主机504'之间传输数据/信号。单元接口n_530'用于在存储器单元n_512'和主机504'之间传输数据/信号。
156.第一存储器单元506'、第二存储器单元508'、第三存储器单元510'、
……
、第n存储器单元512'中的相应存储器单元可包括相应的单元i/o使能寄存器。例如,第一存储器单元506'包括第一单元i/o使能寄存器514'。第二存储器单元508'包括第二单元i/o使能寄存器516'。第三存储器单元510'包括第三单元i/o使能寄存器518'。第n个存储器单元512'包括第n个单元i/o使能寄存器520'。
157.第一存储器单元506'、第二存储器单元508'、第三存储器单元510'、
……
、第n存储器单元512'中的相应存储器单元用于经由数据总线522'/相应的单元接口524'、526'、528'或530'向/从主机504'传送数据/信号。例如,第一存储器单元506'用于经由单元接口1_524'向/从主机504'传送数据/信号。第二存储器单元508'用于经由单元接口2_526'向/从主机504'传送数据/信号。第三存储器单元510'用于经由单元接口3_528'向/从主机504'传送数据/信号。第n个存储器单元512'用于经由单元接口n_530'向/从主机504'传送数据/信号。
158.第一存储器单元506'、第二存储器单元508'、第三存储器单元510'、
……
、第n存储器单元512'中的相应存储器单元还用于经由命令/地址线532'从主机504'接收命令/地址信号。
159.主机504'用于向/从第一存储器单元506'、第二存储器单元508'、第三存储器单元510'、
……
、第n存储器单元512'中的相应存储器单元传送数据/信号。例如,主机504'还用于经由单元接口1_524'向/从第一存储器单元506'传送数据/信号。主机504'还用于经由单元接口2_526'向/从第二存储器单元508'传送数据/信号。主机504'还用于经由单元接口3_528'向/从第三存储器单元510'传送数据/信号。主机504'还用于经由单元接口n_530'向/从第n个存储器单元512'传送数据/信号。
160.主机504'还用于通过命令/地址线532'将命令/地址信号发送到第一存储器单元506'、第二存储器单元508'、第三存储器单元510'、
……
、第n存储器单元512'中的相应存储器单元。
161.主机504'还用于通过数据总线522'/各个单元接口524'、526'、528'和530'向第一存储器单元506'、第二存储器单元508'、第三存储器单元510'、
……
、第n存储器单元512'中的各个存储器单元发送单元i/o使能信号,以通过设置各个单元i/o使能寄存器来分别选择/不选择各个存储器单元。例如,主机504'还用于经由单元接口1_524'向第一存储器单元506'发送第一单元i/o使能信号,以通过设置第一单元i/o使能寄存器514'来选择/不选择第一存储器单元506'。主机504'还用于经由单元接口2_526'向第二存储器单元508'发送第二单元i/o使能信号,以通过设置第二单元i/o使能寄存器516'来选择/不选择第二存储器单元508'。主机504'还用于经由单元接口3_528'向第三存储器单元510'发送第三单元i/o使能信号,以通过设置第三单元i/o使能寄存器518'来选择/不选择第三存储器单元510'。主机504'还用于经由单元接口n_530'向第n个存储器单元512'发送第n单元i/o使能信号,
以通过设置第n单元i/o使能寄存器520'来选择/不选择第n存储器单元512'。
162.主机504'还用于访问第一存储器单元506'、第二存储器单元508'、第三存储器单元510'、
……
、第n存储器单元512'中的相应存储器单元,以在选择相应存储器单元时执行读和/或写操作。
163.第一单元i/o使能寄存器514'、第二单元i/o使能寄存器516'、第三单元i/o使能寄存器518'、
……
、第n单元i/o使能寄存器520'的各个单元i/o使能寄存器用于响应于接收到各个单元i/o使能信号,临时使能/禁用第一存储器单元506'、第二存储器单元508'、第三存储器单元510'、
……
、第n存储器单元512'。
164.例如,第一单元i/o使能寄存器514'用于响应于接收到第一单元i/o使能信号而临时使能/禁止第一存储器单元506'的i/o功能。第二单元i/o使能寄存器516'用于响应于接收到第二单元i/o使能信号而临时使能/禁止第二存储器单元508'的i/o功能。第三单元i/o使能寄存器518'用于响应于接收到第三单元i/o使能信号而临时使能/禁用第三存储器单元510'的i/o功能。第n单元i/o使能寄存器520'用于响应于接收到第n单元i/o使能信号而临时使能/禁止第n存储器单元512'的i/o功能。
165.在实施例中,如果存储器系统502'中的一个存储器单元空闲了一段时间,则主机504'可发送相应的单元i/o使能信号来设置相应的单元i/o使能寄存器以在该段时间内禁用该存储器单元。在实施例中,与不设置单元i/o使能寄存器相比,设置单元i/o使能寄存器可能导致额外的开销,因为设置单元i/o使能寄存器可能导致延迟、功耗等。
166.数据总线522'和命令/地址线532'可统称为接口558'。换言之,接口558'可以包括数据总线522'和命令/地址线532'。接口558'耦合在主机504和存储器系统502/各个存储器单元之间。在实施例中,接口558'可以是任何合适的存储器接口,例如ddr接口。在实施方式中,接口558'可进一步包括诸如时钟线、响应信号线、控制信号线等的其它线。
167.如上文所述,在传统的基于ddr接口的存储器模块中,相同芯片组内的所有存储器芯片/单元总是同时被选择,并以相同步调工作。然而,不同的芯片/单元不能单独地被选择、控制或访问(读/写)。
168.利用上述的示例性的示意图500',存储器系统502'中的各个存储器单元可以单独地被主机504'选择、控制和访问(读/写)。此外,存储器系统502'中的一个以上的存储器单元可以同时被选择、控制和访问(读/写)。因此,克服了传统ddr存储器中芯片/单元总是以相同步调工作的问题。因此,改进了存储器控制。
169.虽然图5b示出了存储器系统502'中的n个存储器单元,本公开不限于此。在实施例中,存储器系统502'可以包括其他组件。例如,其他组件可以包括但不限于计算单元、存储器单元、加速器单元、控制单元或其任何组合。在实施例中,示例示意图500'可以被扩展以控制存储器系统502'中的其他组件。
170.示例性的示意图500/500'的一些特征可包括以下内容。
171.在实施例中,存储器系统502/502'的每个存储器系统n的单元数小于或等于数据总线522/522'的数据宽度的值。例如,如果数据总线522/522'的数据宽度为64比特,则数据总线522/522'最多可包括64个通道。在这种情况下,主机504/504'至多可分别经由64个通道向64个存储器单元发送64个单元使能信号。因此,每个存储器系统n中的单元数小于或等于数据总线522/522'的数据宽度的值。
172.在实施例中,存储器系统502/502'的最大系统带宽为x gb/s。例如,对于ddr4-2400的存储器系统,x是19.2。
173.在实施例中,存储器系统502/502'中的相应存储器单元的最大单元bw是x/n gb/s。因为整个数据总线522/522'被分成n个通道,所以各个存储器单元的最大单元bw是x/n gb/s。
174.在实施例中,在示例性的示意图500/500'中,基于单元i/o使能信号和单元i/o使能寄存器控制单个单元。
175.在实施例中,示例性的示意图500/500'可以适用于其中一个或多个存储器单元可以空闲一段时间的情况。
176.示例性的示意图500/500'的上述特征是为了说明的目的,而不是为了限制本公开的范围。
177.图6给出了示例选项1、示例选项2和示例选项3的特征的示例表600。在实施例中,示例选项1可包括上文参考图2a和图2b所描述的系统200/200',示例选项2可包括上文参考图3a和图3b所描述的系统300/300',示例选项3可包括上文参考图5a和图5b所描述的系统500/500'。
178.行602示出了示例选项1、示例选项2和示例选项3中的每个存储器系统的单元数。
179.行604示出了示例选项1、示例选项2和示例选项3的最大系统带宽。
180.行606示出了示例选项1、示例选项2和示例选项3的最大单元bw。
181.行608示出了控制示例选项1、示例选项2和示例选项3中的单个单元的方式。
182.行610示出了示例选项1、示例选项2和示例选项3的pcb布线/信号完整性。
183.行612示出了示例选项1、示例选项2和示例选项3的额外开销。
184.行614说明了示例选项1、示例选项2和示例选项3的考虑因素。
185.行616示出了示例选项1、示例选项2和示例选项3的应用。
186.列618示出了示例选项1的特征。例如,示例选项1的每个存储器系统n的单元数小于或等于芯片组的数目。示例选项1的最大系统带宽为x gb/s,其中x为正值。示例选项1的最大单元bw为x gb/s。控制示例选项1的单个单元的方式基于芯片组选择信号。在实施例中,控制示例选项1的单个单元的方式包括单元选择和行地址。以选项1为例,pcb布线/信号完整性相对难以设计,但选项1没有额外的开销。实现示例选项1的考虑因素包括可路由性。关于应用,示例选项1可以适用于各个存储器单元要求高峰值带宽的情况。
187.列620示出了示例选项2的特征。例如,示例选项2的每个存储器系统n的单元数小于或等于数据掩码信号的数目。数据掩码信号的数目的计算可以如上文所述,在此不再重复。示例选项2的最大系统带宽为x gb/s。示例选项2的最大单元bw为x/n gb/s。基于数据掩码信号控制示例选项2的单个单元。对于示例选项2,pcb布线/信号完整性相对容易。示例选项2没有额外的开销。实现示例选项2的考虑包括仅在写操作期间应用数据掩码信号,并且数据掩码的最小粒度由ddr协议进行调节。关于应用,示例选项2可以适用于要选择和访问的一个或多个存储器单元频繁改变的情况。
188.列622示出了示例选项3的特征。例如,示例选项3的每个存储器系统n的单元数小于或等于数据总线的数据宽度的值。示例选项3的最大系统带宽为x gb/s。示例选项3的最大单元bw为x/n gb/s。基于单元i/o使能信号和单元i/o使能电阻控制示例选项3的单个单
元。对于示例选项3,pcb布线/信号完整性相对容易。上面描述的示例选项3有额外的开销。实现示例选项3的考虑因素包括额外的开销。关于应用,示例选项3可以适用于其中一个或多个存储器单元空闲一段时间的情况。
189.示例性选项1、示例性选项2和示例性选项3的上述特征是为了描述的目的,而不是为了限制本公开的范围。
190.在实施例中,不同类型的信号可以组合使用以控制包括多个存储器单元的存储器系统,以实现更复杂的控制来适应不同的使用场景。例如,芯片组选择信号和数据掩码信号可以组合使用以形成混合控制方式。芯片组选择信号和单元i/o使能寄存器信号可以组合使用,以形成另一种混合控制方式。数据掩码信号和单元i/o使能寄存器信号可以组合使用,以形成另一种混合控制方式。这里描述的混合控制方式是为了说明而不是限制的目的。此外,芯片组选择信号、数据掩码信号和单元i/o使能寄存器信号可以组合使用以形成其他混合控制方式。下面将参考图5、图7、图8和图9描述更多细节。
191.图7是一示例性的存储器系统702和主机704之间通信的示意图700。在图中,不同类型的信号,即芯片组选择信号和数据掩码信号,组合使用以形成混合控制方式。在实施例中,存储器系统702可以是任何适当类型的存储器架构,诸如基于ddr的多通道存储器架构等。在实施例中,存储器系统702可包括易失性存储器,例如ram、dram、高速缓存等,以及非易失性存储器,例如rom、闪存、微型硬盘驱动器等,或其任何组合。在实施例中,主机704可以包括但不限于cpu、asic、gpu、fpga、dsp或其任何组合。
192.参考图7,存储器系统702包括第一存储器单元组706和第二存储器单元组708。第一存储器单元组706包括n个存储器单元,分别为第一存储器单元710、第二存储器单元712、第三存储器单元714、
……
、第n个存储器单元716。第二存储器单元组708包括m个存储器单元,分别为第(n+1)存储器单元718、第(n+2)存储器单元720、
……
、第(n+m)存储器单元724。作为示例而非限制,n和m是2的幂。虽然图7示出了两存储器单元组,但本公开不限于此。存储器系统702可以包括多于两组的存储器单元。
193.在实施例中,第一存储器单元710、第二存储器单元712、第三存储器单元714、
……
、第n存储器单元716、第(n+1)存储器单元718、第(n+2)存储器单元720、
……
、第(n+m)存储器单元724的相应存储器单元可配置为加速器架构,例如,pim架构等。加速器架构和pim架构如上文所述,在此不再重复。
194.第一存储器单元710、第二存储器单元712、第三存储器单元714、
……
、第n存储器单元716、第(n+1)存储器单元718、第(n+2)存储器单元720、
……
、第(n+m)存储器单元724中的相应存储器单元用于经由命令/地址信号线726从主机704接收命令/地址信号。
195.第一存储器单元710、第二存储器单元712、第三存储器单元714、
……
、第n存储器单元716、第(n+1)存储器单元718、第(n+2)存储器单元720、
……
、第(n+m)存储器单元724中的相应存储器单元还用于通过数据总线728向/从主机704传送数据/信号。
196.在实施例中,数据总线714的数据宽度可以是任何合适的宽度,例如,64比特。在实施例中,数据总线714可以包括用于各个存储器单元与主机704通信以传输数据/信号的双向数据路径/通道,并且这些路径/通道被称为单元接口1_730、单元接口2_732、单元接口3_734、
……
、单元接口n_736、单元接口(n+1)_738、单元接口(n+2)_740、单元接口(n+3)_742、
……
、单元接口(n+m)_744。各个单元接口的数据宽度可以是任何合适的宽度,例如,16
比特。
197.在实施例中,单元接口1_730用于在第一存储器单元710和主机704之间传输数据/信号10。单元接口2_712用于在第一存储器单元714和主机704之间传输数据/信号。单元接口3_734用于在第一存储器单元714和主机704之间传送数据/信号。单元接口n_736用于在第一存储器单元716和主机704之间传输数据/信号。单元接口(n+1)_738用于在第一存储器单元718和主机704之间传输数据/信号。单元接口(n+2)_740用于在第一存储器单元720和主机704之间传输数据/信号。单元接口(n+3)_742用于在第一存储器单元722和主机704之间传输数据/信号。单元接口(n+m)_744用于在第一存储器单元724和主机704之间传输数据/信号。
198.在第一存储器单元组706中,第一存储器单元710、第二存储器单元712、第三存储器单元714、
……
、第n存储器单元716的相应存储器单元还用于经由第一芯片组选择线746从主机704接收第一芯片组选择信号。在实施例中,第一存储器单元组通过第一芯片组选择信号一起被选择/未被选择。
199.在第二存储器单元组708中,第(n+1)存储器单元718、第(n+2)存储器单元720、
……
、第(n+m)存储器单元724的各个存储器单元还用于经由第二芯片组选择线748从主机704接收第二芯片组选择信号。在实施例中,第二存储器单元组通过第二芯片组选择信号一起被选择/未选择。
200.在第一存储器单元组706中,第一存储器单元710、第二存储器单元712、第三存储器单元714、
…
和第n存储器单元716的各个存储器单元还用于经由第一组数据掩码线750从主机704接收数据掩码信号。第一组数据掩码线750包括n条线,分别为dm_1752、dm_2 754、dm_3 756、
……
、dm_n 758。例如,第一存储器单元710还用于经由dm_1 752从主机704接收第一数据掩码信号。第二存储器单元712还用于经由dm_2754从主机704接收第二数据掩码信号。第三存储器单元714还用于经由dm_3 756从主机704接收第三数据掩码信号。第n存储器单元716还用于经由dm_n 758从主机704接收第n数据掩码信号。
201.在第二组708中,第(n+1)存储器单元718、第(n+2)存储器单元720、
……
、第(n+m)存储器单元724的各个存储器单元还用于经由第二组数据掩码线750从主机704接收数据掩码信号。第二组数据掩码线752包括n条线,分别为dm_(n+1)762、dm_(n+2)764、dm_(n+3)766、
……
、dm_(n+m)768。例如,第(n+1)存储器单元718还用于经由dm_(n+1)762从主机704接收第(n+1)数据掩码信号。第(n+2)存储器单元720还用于经由dm_(n+2)764从主机704接收第(n+2)数据掩码信号。第(n+3)存储器单元722还用于经由dm_(n+3)766从主机704接收第(n+3)数据掩码信号。第(n+m)存储器单元724还用于经由dm_(n+m)768从主机704接收第(n+m)数据掩码信号。
202.主机704用于经由数据总线728/相应的单元接口730、732、734、736、738、740、742或744向/从相应存储器单元传送数据/信号。数据总线728和单元接口730、732、734、736、738、740、742和744的功能如上文所述,在此不再重复。
203.主机704还用于经由命令/地址线726将命令/地址信号发送到第一存储器单元710、第二存储器单元712、第三存储器单元714、
……
、第n存储器单元716、(n+1)存储器单元718、(n+2)存储器单元720、
……
和(n+m)存储器单元724中的相应存储器单元。
204.主机704还用于经由第一芯片组选择线746向第一存储器单元组706中的各个存储
器单元发送第一芯片组选择信号。主机704还用于经由第二芯片组选择线748向第二存储器单元组708中的各个存储器单元发送第二芯片组选择信号。因此,通过第一芯片组选择信号一起选择第一存储器单元组706中的n个存储器单元,并且通过第二芯片组选择信号一起选择第二组708存储器单元中的m个存储器单元。
205.主机704还用于经由第一组数据掩码线750向第一存储器单元组706发送数据掩码信号,并经由第二组数据掩码线760向第二存储器单元组708发送数据掩码信号。在实施例中,主机704可以被设计/定制为经由多条数据掩码线发送多个数据掩码信号。
206.例如,主机704还用于经由dm_1 752向第一存储器单元710发送第一数据掩码信号。第一数据掩码信号用于选择/不选择第一存储器单元710。第一数据掩码信号用于对通过单元接口1_730上传输的数据比特掩码/解除掩码。当通过单元接口1_730传送的数据比特被掩码时,由第一存储器单元710接收且通过单元接口1_730传送的数据比特将被忽略。换句话说,第一存储器单元710未被选择。当通过单元接口1_730传送的数据比特被解除掩码时,通过单元接口1_730传送的数据比特由第一存储器单元710接收。换言之,第一存储器单元710被选择。
207.例如,主机704还用于经由dm_2 754向第二存储器单元712发送第二数据掩码信号,以选择/不选择第二存储器单元712。第二数据掩码信号用于对通过单元接口2_732传输的数据比特掩码/解除掩码。当通过单元接口2_732传送的数据比特被掩码时,由第二存储器单元712接收且通过单元接口2_732传送的数据比特将被忽略。换句话说,第二存储器单元712未被选择。当通过单元接口2_732传送的数据比特被解除掩码时,通过单元接口2_732传送的数据比特由第二存储器单元712接收。换言之,第二存储器单元712被选择。
208.例如,主机704还用于经由dm_3 756向第三存储器单元714发送第三数据掩码信号,以选择/不选择第三存储器单元714。第三数据掩码信号用于对通过单元接口3_734传输的数据比特掩码/解除掩码。当通过单元接口3_734传送的数据比特被掩码时,通过单元接口3_734传送且由第三存储器单元714接收的数据比特将被忽略。换言之,第三存储器单元714未被选择。当通过单元接口3_734传送的数据比特被解除掩码时,通过单元接口3_734传送的数据比特由第三存储器单元714接收。换言之,第三存储器单元714被选择。
209.例如,主机704还用于经由dm_n 758将第n数据掩码信号发送到第n存储器单元716,以选择/不选择第n个存储器单元716。第n数据掩码信号用于对单元接口n_736上传输的数据比特掩码/解除掩码。当通过单元接口n_736传送的数据比特被掩码时,通过单元接口n_736传送且由第n个存储器单元716接收的数据比特将被忽略。换言之,第n存储器单元716未被选择。当通过单元接口n_736上传送的数据比特被解除掩码时,通过单元接口n_736传送的数据比特由第n个存储器单元716接收。换言之,第n存储器单元716被选择。
210.例如,主机704还用于经由dm_(n+1)762将第(n+1)数据掩码信号发送到第(n+1)存储器单元718,以选择/不选择第(n+1)存储器单元。第(n+1)数据掩码信号用于对通过单元接口(n+1)_738传输的数据比特掩码/解除掩码。当通过单元接口(n+1)_738传送的数据比特被掩码时,通过单元接口(n+1)_738传送且由第(n+1)存储器单元718接收的数据比特将被忽略。换言之,第(n+1)存储器单元718未被选择。当通过单元接口(n+1)_738传送的数据比特被解除掩码时,通过单元接口(n+1)_738传送的数据比特由第(n+1)存储器单元718接收。换言之,第(n+1)个存储器单元718被选择。
211.例如,主机704还用于经由dm_(n+2)764将第(n+2)数据掩码信号发送到第(n+2)存储器单元720,以选择/不选择第(n+2)存储器单元720。第(n+2)个数据掩码信号用于对通过单元接口(n+2)_740传输的数据比特掩码/解除掩码。当通过单元接口(n+2)_740上传送的数据比特被掩码时,通过单元接口(n+2)_740传送且由第(n+2)存储器单元720接收的数据比特将被忽略。换言之,第(n+2)个存储器单元720未被选择。当通过单元接口(n+2)_740传送的数据比特被解除掩码时,通过单元接口(n+2)_740传送的数据比特由第(n+2)个存储器单元720接收。换句话说,第(n+2)个存储器单元720被选择。
212.例如,主机704还用于经由dm_(n+3)766将第(n+3)数据掩码信号发送到第(n+3)存储器单元722,以选择/不选择第(n+3)存储器单元722。第(n+3)数据掩码信号用于对通过单元接口(n+3)_742传输的数据比特掩码/解除掩码。当通过单元接口(n+3)_742传送的数据比特被掩码时,由第(n+3)存储器单元722接收且通过单元接口(n+3)_742传送的数据比特将被忽略。换言之,第(n+3)个存储器单元722未被选择。当通过单元接口(n+3)_742传送的数据比特被解除掩码时,通过单元接口(n+3)_742传送的数据比特由第(n+3)个存储器单元722接收。换句话说,第(n+3)个存储器单元722被选择。
213.例如,主机704还用于经由dm_(n+m)768将第(n+m)数据掩码信号发送到第(n+m)存储器单元724,以选择/不选择第(n+m)存储器单元724。第(n+m)数据掩码信号用于对通过单元接口(n+m)_744上传输的数据比特掩码/解除掩码。当通过单元接口(n+m)_744传送的数据比特被掩码时,通过单元接口(n+m)_744传送且由第(n+m)存储器单元724接收的数据比特将被忽略。换言之,第(n+m)个存储器单元724未被选择。当通过单元接口(n+m)_744传送的数据比特被解除掩码时,通过单元接口(n+m)_744传送的数据比特由第(n+m)个存储器单元724接收。换句话说,第(n+m)存储器单元724被选择。
214.主机704还用于经由数据总线728/各个单元接口分别访问第一存储器单元710、第二存储器单元712、第三存储器单元714、
……
、第n存储器单元716、第(n+1)存储器单元718、第(n+2)存储器单元720、
……
、第(n+m)存储器单元724中的各个存储器单元,以执行读和/或写操作。数据总线728和单元接口730、732、734、736、738、740、742和744的功能如上文所述,在此不再重复。
215.总的来说,数据总线728、命令/地址线726、第一芯片组选择线746、第二芯片组选择线748、第一组数据掩码线750和第二组数据掩码线760统称为接口770。换句话说,接口包括数据总线728、命令/地址线726、第一芯片组选择线746、第二芯片组选择线748、第一组数据掩码线750和第二组数据掩码线760。接口770耦合在主机704和存储器系统702/各个存储器单元之间。在实施例中,接口770可以是任何合适的存储器接口,例如ddr接口。在实施例中,接口770可进一步包括诸如时钟线、响应信号线、控制信号线等的其它线。
216.如上文所述,在传统的基于ddr接口的存储器模块中,相同芯片组内的所有存储器芯片/单元总是被同时选择,并且以相同步调工作。然而,不同的芯片/单元不能单独地被选择、控制或访问(读/写)。
217.对于上述示例性的示意图700,可以通过芯片组信号选择一存储器单元组,并且可以通过数据掩码信号进一步选择所选组内的一个或多个存储器单元。因此,即使存储器单元以组的方式排列,主机也能够精确和灵活地单独选择、控制和访问(读/写)存储系统702中的各个存储器单元。因此,克服了传统的基于ddr的存储器的芯片/单元总是以相同步调
工作的问题。因此,改进了存储器控制。
218.图8是示例性的存储器系统802和主机804之间的通信的示意图800,在图中,不同类型的信号,即芯片组选择信号和单元i/o使能寄存器信号,组合使用以形成混合控制方式。在实施例中,存储器系统802可以是任何适当类型的存储器架构,诸如基于ddr的多通道存储器架构等。在实施例中,存储器系统802可包括易失性存储器,例如ram、dram、高速缓存等,以及非易失性存储器,例如rom、闪存、微型硬盘驱动器等,或其任何组合。在实施例中,主机804可以包括但不限于cpu、asic、gpu、fpga、dsp或其任何组合。
219.参考图8,存储器系统802包括第一存储器单元组806和第二存储器单元组808。第一存储器单元组806包括n个存储器单元,分别为第一存储器单元810、第二存储器单元812、第三存储器单元814、
……
、第n存储器单元816。第二存储器单元组808包括m个存储器单元,分别为第(n+1)存储器单元818、第(n+2)存储器单元820、
……
、第(n+m)存储器单元824。作为示例而非限制,n和m是2的幂。虽然图8示出了两存储器单元组,但本公开不限于此。存储器系统802可以包括多于两组的存储器单元。
220.在实施例中,第一存储器单元810、第二存储器单元812、第三存储器单元814、
……
、第n存储器单元816、第(n+1)存储器单元818、第(n+2)存储器单元820、
……
、第(n+m)存储器单元824的相应存储器单元可配置为加速器架构,例如,pim架构等。加速器架构和pim架构如上文所述,在此不再重复。
221.第一存储器单元810、第二存储器单元812、第三存储器单元814、
……
、第n存储器单元816、第(n+1)存储器单元818、第(n+2)存储器单元820、
……
、第(n+m)存储器单元824中的相应存储器单元用于经由命令/地址信号线826从主机804接收命令/地址信号。
222.第一存储单元810、第二存储单元812、第三存储单元814、
……
、第n存储单元816、第(n+1)存储单元818、第(n+2)存储单元820、
……
、第(n+m)存储单元824的相应存储器单元用还用于通过数据总线828从/向主机804传输数据/信号。
223.在实施例中,数据总线814的数据宽度可以是任何合适的宽度,例如,64比特。在实施例中,数据总线814可以包括用于各个存储器单元与主机804通信以传输数据/信号的双向数据路径/通道,并且这些路径/通道被称为单元接口1_830、单元接口2_832、单元接口3_834、
……
、单元接口n_836、单元接口(n+1)_838、单元接口(n+2)_840、单元接口(n+3)_842、
……
、单元接口(n+m)_844。各个单元接口的数据宽度可以是任何合适的宽度,例如,16比特。
224.在实施例中,单元接口1_830用于在第一存储器单元810和主机804之间传输数据/信号10。单元接口2_812用于在第一存储器单元814和主机804之间传输数据/信号。单元接口3_834用于在第一存储器单元814和主机804之间传送数据/信号。单元接口n_836用于在第一存储器单元816和主机804之间传输数据/信号。单元接口(n+1)_838用于在第一存储器单元818和主机804之间传输数据/信号。单元接口(n+2)_840用于在第一存储器单元820和主机804之间传输数据/信号。单元接口(n+3)_842用于在第一存储器单元822和主机804之间传输数据/信号。单元接口(n+m)_844用于在第一存储器单元824和主机804之间传输数据/信号。
225.在第一存储器单元组806中,第一存储器单元810、第二存储器单元812、第三存储器单元814、
……
、第n存储器单元816的相应存储器单元还用于经由第一芯片组选择线846
从主机804接收第一芯片组选择信号。在实施例中,第一存储器单元组通过第一芯片组选择信号一起被选择/未被选择。
226.在第二存储器单元组808中,第(n+1)存储器单元818、第(n+2)存储器单元820、
……
、第(n+m)存储器单元824的各个存储器单元还用于经由第二芯片组选择线848从主机804接收第二芯片组选择信号。在实施例中,第二存储器单元组通过第二芯片组选择信号一起被选择/未选择。
227.第一存储器单元810、第二存储器单元812、第三存储器单元814、
……
、第n存储器单元816、第(n+1)存储器单元818、第(n+2)存储器单元820、
……
、(n+m)存储器单元824的相应存储器单元可以包括相应的单元i/o使能寄存器。例如,第一存储器单元810包括第一单元i/o使能寄存器850。第二存储器单元812包括第二单元i/o使能寄存器852。第三存储器单元814包括第三单元i/o使能寄存器854。第n存储器单元816包括第n单元i/o使能寄存器856。第(n+1)存储器单元818包括第(n+1)单元i/o使能寄存器818。第(n+2)存储器单元820包括第(n+3)单元i/o使能寄存器820。第(n+m)个存储器单元824包括第(n+m)个单元i/o使能寄存器864。
228.主机804用于经由数据总线828/各个单元接口830、832、834、836、838、840、842或844向/从各个存储器单元传送数据/信号。数据总线828和各个单元接口830、832、834、836、838、840、842和844的功能如上文所述,在此不再重复。
229.主机804还用于经由命令/地址线826将命令/地址信号发送到第一存储单元810、第二存储单元812、第三存储单元814、
……
、第n存储单元816、第(n+1)存储单元818、第(n+2)存储单元820、
……
、第(n+m)存储单元824中的相应存储单元。
230.主机804还用于经由第一芯片组选择线846向第一存储器单元组806中的相应存储器单元发送第一芯片组选择信号。主机804还用于经由第二芯片组选择线848向第二存储器单元组808中的相应存储器单元发送第二芯片组选择信号。因此,第一存储器单元组806中的n个存储器单元由第一芯片组选择信号一起选择,第二存储器单元组808中的m个存储器单元由第二芯片组选择信号一起选择。
231.主机804还用于经由数据总线822/相应的单元接口向第一存储单元810、第二存储单元812、第三存储单元814、
……
、第n存储单元816、第(n+1)存储单元818、第(n+2)存储单元820、
……
、第(n+m)存储单元824的相应存储单元发送单元i/o使能信号。单元i/o使能信号通过设置相应的单元i/o使能寄存器来单独选择/不选择相应的存储器单元。
232.例如,主机804还用于经由单元接口1_830向第一存储器单元810发送第一单元i/o使能信号,以通过设置第一单元i/o使能寄存器850来选择/不选择第一存储器单元810。主机804还用于经由单元接口2_832向第二存储器单元812发送第二单元i/o使能信号,以通过设置第二单元i/o使能寄存器852来选择/不选择第二存储器单元812。主机804还用于经由单元接口3_834向第三存储器单元814发送第三单元i/o使能信号,以通过设置第三单元i/o使能寄存器854来选择/不选择第三存储器单元814。主机804还用于经由单元接口n_836向第n存储器单元816发送第n单元i/o使能信号,以通过设置第n个单元i/o使能寄存器856来选择/不选择第n个存储器单元816。
233.例如,主机804还用于经由单元接口(n+1)_838向(n+1)存储器单元818发送第(n+1)单元i/o使能信号,以通过设置第(n+1)单元i/o使能寄存器858来选择/不选择第(n+1)存
储器单元818。主机804还用于经由单元接口(n+2)_840向(n+2)存储器单元820发送第(n+2)单元i/o使能信号,以通过设置第(n+2)单元i/o使能寄存器860来选择/不选择第(n+2)存储器单元820。主机804还用于经由单元接口3_842向第(n+3)存储器单元822发送第(n+3)单元i/o使能信号,以通过设置第(n+3)单元i/o使能寄存器862来选择/不选择第(n+3)存储器单元822。主机804还用于经由单元接口(n+m)_836向第(n+m)存储器单元824发送第(n+m)单元i/o使能信号,以通过设置第(n+m)单元i/o使能寄存器864来选择/不选择第(n+m)存储器单元824。
234.主机804还用于经由数据总线828/相应的单元接口分别访问第一存储器单元810、第二存储器单元812、第三存储器单元814、
……
、第n存储器单元816、第(n+1)存储器单元818、第(n+2)存储器单元820、
……
、(n+m)存储器单元824的相应的存储器单元,以执行读和/或写操作。数据总线828和单元接口830、832、834、836、838、840、842和844的功能如上文所述,在此不再重复。
235.总的来说,数据总线828、命令/地址线826、第一芯片组选择线846和第二芯片组选择线848统称为接口866。换句话说,接口866包括数据总线828、命令/地址线826、第一芯片组选择线846和第二芯片组选择线848。接口866耦合在主机804和存储器系统802/各个存储器单元之间。在实施例中,接口866可以是任何合适的存储器接口,例如ddr接口。在实施例中,接口866可进一步包括诸如时钟线、响应信号线、控制信号线等的其它线。
236.如上文所述,在传统的基于ddr接口的存储器模块中,相同等级内的所有存储器芯片/单元总是同时被选择,并且以相同步调工作。然而,不同的芯片/单元不能单独地被选择、控制或访问(读/写)。
237.对于上述示例性的示意图800,可以通过芯片组信号选择一存储器单元组,并且可以通过单元i/o使能信号进一步选择所选组内的一个或多个存储器单元。因此,即使存储器单元被成组地布置,主机804也可以精确和灵活地单独地选择、控制和访问(读/写)存储系统802中的各个存储器单元。因此,克服了传统ddr存储器中芯片/单元总是以相同步调工作的问题。因此,改进了存储器控制。
238.图9是示例性的存储器系统和主机之间通信的示意图900,在图中,不同类型的信号,即数据掩码信号和单元i/o使能寄存器信号,组合使用以形成混合控制方式。在实施例中,存储器系统902可以是任何适当类型的存储器架构,诸如基于ddr的多通道存储器架构等。在实施例中,存储器系统902可包括易失性存储器,例如ram、dram、高速缓存等,以及非易失性存储器,例如rom、闪存、微型硬盘驱动器等,或其任何组合。在实施方式中,主机904可以包括但不限于cpu、asic、gpu、fpga、dsp或其任何组合。
239.参考图9,存储器系统902包括第一存储器单元组906、第二存储器单元组908、第三存储器单元组910和第四存储器单元组912。虽然图9示出了四存储器单元组,但本公开不限于此。存储器系统902可以包括其他数目的存储器单元组。
240.在实施例中,第一存储器单元组906包括第一存储器单元914和第二存储器单元916。第二存储器单元组908包括第三存储器单元918和第四存储器单元920。第三存储器单元组910包括第五存储器单元922和第六存储器单元924。第四存储器单元组912包括第七存储器单元926和第八存储器单元928。虽然图9示出了每个组包括两个存储器单元,但本公开不限于此。各个组可以包括两个以上的存储器单元。
241.在实施例中,第一存储器单元914、第二存储器单元916、第三存储器单元918、第四存储器单元920、第五存储器单元922、第六存储器单元924、第七存储器单元926和第八存储器单元928中的相应存储器单元可配置为加速器架构,例如,pim架构等。加速器架构和pim架构如上文所述,在此不再重复。
242.第一存储器单元914、第二存储器单元916、第三存储器单元918、第四存储器单元920、第五存储器单元922、第六存储器单元924、第七存储器单元926和第八存储器单元928的各个存储器单元用于通过数据总线930向/从主机904传送数据/信号。
243.在实施例中,数据总线930的数据宽度可以是任何合适的宽度,例如,64比特。在实施例中,数据总线930可以包括用于各个存储器单元与主机904通信以传输数据/信号的双向数据路径/通道,并且这些数据路径/通道被称为单元接口1_932、单元接口2_934、单元接口3_936、
……
、单元接口4_938、单元接口5_940、单元接口6_942、单元接口7_944和单元接口8_946。各个单元接口的数据宽度可以是任何合适的宽度,例如,8比特。
244.在实施例中,单元接口1_932用于在第一存储器单元914和主机904之间传输数据/信号。单元接口2_934用于在第二存储器单元916和主机904之间传输数据/信号。单元接口3_936用于在第三存储器单元918和主机904之间传送数据/信号。单元接口4_938用于在第四存储器单元920和主机904之间传送数据/信号。单元接口5_940用于在第五存储器单元922和主机904之间传送数据/信号。单元接口6_942用于在第六存储器单元926和主机904之间传送数据/信号。单元接口7_944用于在第七存储器单元928和主机904之间传送数据/信号。单元接口8_946用于在第八存储器单元930和主机904之间传送数据/信号。
245.第一存储器单元914、第二存储器单元916、第三存储器单元918、第四存储器单元920、第五存储器单元922、第六存储器单元924、第七存储器单元926和第八存储器单元928中的各个存储器单元还用于经由命令/地址信号线948从主机904接收命令/地址信号。
246.在第一存储器单元组906中,第一存储器单元914和第二存储器单元916中的各个存储器单元还用于经由数据掩码线dm_1 950接收第一数据掩码信号。
247.在第二存储器单元组908中,第三存储器单元918和第四存储器单元920中的各个存储器单元还用于经由数据掩码线dm_2 952接收第二数据掩码信号。
248.在第三存储器单元组910中,第五存储器单元922和第六存储器单元924中的各个存储器单元还用于经由数据掩码线dm_3 954接收第三数据掩码信号。
249.在第四存储器单元组912中,第七存储器单元926和第八存储器单元928中的各个存储器单元还用于经由数据掩码线dm_4 956接收第四数据掩码信号。
250.第一存储器单元914、第二存储器单元916、第三存储器单元918、第四存储器单元920、第五存储器单元922、第六存储器单元924、第七存储器单元926和第八存储器单元928中的相应的存储器单元可以包括相应的单元i/o使能寄存器。例如,第一存储器单元914包括第一单元i/o使能寄存器958。第二存储器单元916包括第二单元i/o使能寄存器960。第三存储器单元918包括第三单元i/o使能寄存器962。第四存储器单元920包括第四单元i/o使能寄存器964。第五存储器单元922包括第五单元i/o使能寄存器966。第六存储器单元924包括第六单元i/o使能寄存器968。第七存储器单元926包括第七单元i/o使能寄存器970。第八存储器单元928包括第八单元i/o使能寄存器972。
251.主机904用于经由数据总线930/相应的单元接口932、934、936、939、940、942、944
或946从/向相应的存储器单元传送数据/信号。数据总线930和单元接口932、934、936、939、940、942、944和946的功能如上文所述,在此不再重复。
252.主机904还用于经由命令/地址线948将命令/地址信号发送到第一存储器单元914、第二存储器单元916、第三存储器单元918、第四存储器单元920、第五存储器单元922、第六存储器单元924、第七存储器单元926和第八存储器单元928中的相应的存储器单元。
253.在实施例中,主机904可以被设计/定制为经由多条数据掩码线发送多个数据掩码信号。
254.例如,主机904还用于经由数据掩码线dm_1 950向第一存储器单元组906发送第一数据掩码信号。因此,通过第一数据掩码信号,第一存储器单元914和第二存储器单元916一并被选择。在实施例中,第一数据掩码信号用于对通过单元接口1_932和单元接口2_934传输的数据比特掩码/解除掩码。当通过单元接口1_932和单元接口2_934传送的数据比特被掩码时,由第一存储器单元914和第二存储器单元916接收且通过单元接口1_932和单元接口_2 934传送的数据比特将被忽略。换言之,第一存储器单元914和第二存储器单元916未被选择。当通过单元接口_1932和单元接口_2934传送的数据比特被解除掩码时,通过单元接口_1932和单元接口_2934传送的数据比特由第一存储器单元914和第二存储器单元916接收。换言之,第一存储器单元914和第二存储器单元916被选择。
255.例如,主机904还用于经由数据掩码线dm_2 952向第二存储器单元组908发送第二数据掩码信号。因此,通过第二数据掩码信号,第三存储器单元918和第四存储器单元920一起被选择。在实施例中,第二数据掩码信号用于对通过单元接口3_936和单元接口4_938传输的数据比特掩码/解除掩码。当通过单元接口3_936和单元接口4_938传送的数据比特被掩码时,通过单元接口3_936和单元接口4_938传送且由第三存储器单元918和第四存储器单元920接收的数据比特将被忽略。换言之,第三存储器单元918和第四存储器单元920未被选择。当通过单元接口3_936和单元接口4_938传送的数据比特被解除掩码时,通过单元接口3_936和单元接口4_938传送的数据比特由第三存储器单元918和第四存储器单元920接收。换言之,第三存储器单元918和第四存储器单元920被选择。
256.例如,主机904还用于经由数据掩码线dm_3 954向第三存储器单元组910发送第三数据掩码信号。因此,通过第三数据掩码信号,第五存储器单元922和第六存储器单元924一并被选择。在实施例中,第三数据掩码信号用于对通过单元接口5_940和单元接口6_942传输的数据比特掩码/解除掩码。当通过单元接口5_940和单元接口6_942传送的数据比特被掩码时,通过单元接口5_940和单元接口6_942传送且由第五存储器单元922和第六存储器单元924接收的数据比特将被忽略。换言之,第五存储器单元922和第六存储器单元924未被选择。当通过单元接口5_940和单元接口6_942传送的数据比特被解除掩码时,通过单元接口5_940和单元接口6_942传送的数据比特由第五存储器单元922和第六存储器单元924接收。换言之,第五存储器单元922和第六存储器单元924被选择。
257.例如,主机904还用于经由数据掩码线dm_4 956向第四存储器单元组912发送第四数据掩码信号。因此,通过第四数据掩码信号,第七存储器单元926和第八存储器单元928被一起选择。在实施例中,第四数据掩码信号用于对通过单元接口7_944和单元接口8_946传输的数据比特掩码/解除掩码。当通过单元接口7_944和单元接口8_946传送的数据比特被掩码时,通过单元接口7_944和单元接口8_946传送且由第七存储器单元926和第八存储器
单元928接收的数据比特将被忽略。换言之,第七存储器单元926和第八存储器单元928未被选择。当通过单元接口7_944和单元接口8_946传送的数据比特被解除掩码时,通过单元接口7_944和单元接口8_946传送的数据比特由第七存储器单元926和第八存储器单元928接收。换言之,第七存储器单元926和第八存储器单元928被选择。
258.例如,主机904还用于经由数据总线930/各个单元接口向各个存储器单元发送单元i/o使能信号,以通过设置各个单元i/o使能寄存器来单独选择/不选择各个存储器单元。
259.例如,主机904还用于经由单元接口1_932向第一存储器单元914发送第一单元i/o使能信号,以通过设置第一单元i/o使能寄存器958来选择/不选择第一存储器单元914。主机904还用于通过单元接口2_934向第二存储器单元发送第二单元i/o使能信号,以通过设置第二单元i/o使能寄存器960来选择/不选择第二存储器单元916。主机904还用于经由单元接口3_936向第三存储器单元918发送第三单元i/o使能信号,以通过设置第三单元i/o使能寄存器962来选择/不选择第三存储器单元918。主机904还用于经由单元接口4_938向第四存储器单元920发送第四单元i/o使能信号,以通过设置第四单元i/o使能寄存器964来选择/不选择第四存储器单元920。主机904还用于经由单元接口5_940向第五存储器单元922发送第五单元i/o使能信号,以通过设置第五单元i/o使能寄存器966来选择/不选择第五存储器单元922。主机904还用于经由单元接口6_942向第六存储器单元924发送第六单元i/o使能信号,以通过设置第六单元i/o使能寄存器968来选择/不选择第六存储器单元924。主机904还用于经由单元接口7_944向第七存储器单元926发送第七单元i/o使能信号,以通过设置第七单元i/o使能寄存器970来选择/不选择第七存储器单元926。主机904还用于经由单元接口8_946向第八存储器单元928发送第八单元i/o使能信号,以通过设置第八单元i/o使能寄存器972来选择/不选择第八存储器单元928。
260.主机904还用于经由数据总线930/各个单元接口分别访问第一存储器单元914、第二存储器单元916、第三存储器单元918、第四存储器单元920、第五存储器单元922、第六存储器单元924、第七存储器单元926和第八存储器单元928的各个存储器单元,以执行读和/或写操作。数据总线930和单元接口932、934、936、939、940、942、944和946的功能如上文所述,在此不再重复。
261.总的来说,数据总线930、命令/地址线948和数据掩码线dm_1 950、dm_2 952、dm_3 954和dm_4 956被称为接口974。换句话说,接口974包括数据总线930、命令/地址线948和数据掩码线dm_1 950、dm_2 952、dm_3 954和dm_4 956。接口974耦合在主机904和存储器系统902/各个存储器单元之间。在实施例中,接口974可以是任何合适的存储器接口,例如ddr接口。在实施方式中,接口974还可以包括诸如时钟线、响应信号线、控制信号线等的其它线。
262.如上文所述,传统的基于ddr接口的存储器模块被设计为具有两个或更多的芯片组,并且在给定时间只能选择一个芯片组。因此,同一芯片组内的所有存储芯片/单元总是同时被选择并以相同步调工作。但是,同一芯片组内的不同芯片/单元不能单独被选择。
263.对于上述示例性的示意图900,可以通过数据掩码信号选择一个或多个存储器单元组,并且可以通过单元i/o使能信号进一步选择所选组内的一个或多个存储器单元。因此,即使存储器单元被成组地布置,主机904也可以精确和灵活地单独选择、控制和访问(读/写)存储系统902中的各个存储器单元。因此,克服了传统ddr存储器中芯片/单元总是以相同步调工作的问题。因此,改进了存储器控制。
264.参考图7、图8和图9所示,不同类型的信号可以组合使用来控制存储器系统,以实现更复杂的控制来适应不同的使用场景。然而,图7、图8和图9所示的布置是为了描述而不是限制。可以添加其他元素,并且可以将其他类型的信号与芯片组选择信号、数据掩码信号和单元i/o使能寄存器信号结合使用。可基于本公开的教导导出组合的其他方式。
265.图10示出了用于存储器控制的示例性过程1000。
266.参考图10,在块1002中,主机通过向存储系统发送一个或多个信号来分别选择存储系统的多个存储器单元中的一个或多个存储器单元。在实施例中,多个存储器单元中的相应存储器单元配置为加速器架构,例如,pim架构。示例性的加速器架构如上文所述,并且在此不再重复。
267.在实施例中,主机可发送一个或多个信号,该一个或多个信号包括一个或多个芯片组选择信号。在实施例中,每次通过该一个或多个芯片组选择信号中的相应芯片组选择信号来选择多个存储器单元中的相应存储器单元。该一个或多个芯片组选择信号的细节如上文所述,在此不再重复。
268.在实施例中,主机可发送一个或多个信号,该一个或多个信号包括一个或多个数据掩码信号。在实施例中,该一个或多个数据掩码信号在写操作期间由主机发送。在实施例中,主机可将该一个或多个数据掩码信号发送到多个或多个存储器单元。该一个或多个数据掩码信号的细节如上文所述,在此不重复。
269.在实施例中,主机可发送一个或多个信号,该一个或多个信号包括一个或多个单元i/o使能信号。在实施例中,多个存储器单元中的相应存储器单元包括相应的单元i/o使能寄存器。在实施例中,各个单元i/o使能寄存器用于使能/禁止各个存储器单元的i/o功能。该一个或多个单元i/o使能信号的细节如上文所述,在此不再重复。
270.在块1004中,主机访问一个或多个存储器单元。
271.如上所述,在传统的基于ddr接口的存储器模块中,相同芯片组内的所有存储器芯片/单元总是同时被选择,并且以相同步调工作。然而,不同的芯片/单元不能单独地被选择、控制或访问(读/写)。
272.通过上述示例过程1000,主机可以使用一个或多个信号单独地选择、控制和访问(读/写)相应的存储器单元。因此,可以克服传统基于ddr的存储器中芯片/单元总是同步工作的问题。因此,改进了存储器控制。
273.在上述示例性的过程1000中,主机可以使用一个或多个信号单独地选择、控制和访问(读/写)相应的存储器单元。因此,克服了传统的基于ddr的存储器的芯片/单元总是以相同步调工作的问题。因此,改进了存储器控制。
274.示例的过程1000是为了说明的目的,但本公开不限于此。示例的过程1000中的各个块可以被省略、组合或执行一次、两次或多次。此外,附加的块可以添加到示例过程1000中。
275.图11示出了用于存储器控制的示例过程1100。
276.参考图11、在块1102中,主机通过向存储器系统发送一个或多个第一类型的信号来选择存储器系统的多个存储器单元组中的相应存储器单元组。所述多个组中的相应组包括多个存储器单元。在实施例中,多个存储器单元中的相应存储器单元配置为加速器架构,例如pim架构等。加速器架构的示例如上所述,并且在此不再重复。
277.在实施例中,主机可以发送一个或多个芯片组选择信号作为一个或多个第一类型的信号。在实施例中,主机可以发送一个或多个数据掩码信号作为一个或多个第一类型的信号。芯片组选择信号和数据掩码信号的细节如上所述,在此不再重复。
278.在块1104,主机通过向相应单元组发送一个或多个第二类型的信号来分别选择相应单元组中的多个存储器单元中的一个存储器单元。
279.在实施例中,主机可以发送一个或多个数据掩码信号作为一个或多个第二类型的信号。在实施例中,主机可以发送一个或多个单元i/o使能信号作为一个或多个第二类型的信号。数据掩码信号和单元i/o使能信号的细节如上所述,在此不再重复。
280.在块1106,主机访问相应的存储器单元。
281.如上所述,传统的基于ddr接口的存储器模块被设计为具有两个或更多的芯片组,并且在给定时间只能选择一个芯片组。因此,同一芯片组内的所有存储芯片/单元总是同时被选择并以相同步调工作。但是,同一芯片组内的不同芯片/单元不能单独地被选择、控制或访问(读/写)。
282.对于上述示例性的过程1100,可以组合使用不同类型的信号来控制存储器系统,以实现更复杂的控制来适应不同的使用场景。例如,芯片组选择信号和数据掩码信号可以组合使用以形成混合控制方式。主机利用芯片组信号选择一存储器单元组,并且主机利用单元i/o使能信号单独地选择所选择的组内的各个存储器单元。例如,芯片组选择信号和单元i/o使能寄存器信号可以组合使用,以形成另一种混合控制方式。主机利用芯片组信号选择一存储器单元组,并且主机利用单元i/o使能信号单独地选择所选择的组内的各个存储器单元。作为另一个例子,数据掩码信号和单元i/o使能寄存器信号可以组合使用以形成另一种混合控制方式。主机利用数据掩码信号选择一存储器单元组,并且主机利用单元i/o使能信号单独选择所选择的组内的各个存储器单元。上文参考图7、图8和图9已经描述了更多细节。因此,即使存储器单元按组排列,主机也可以准确和灵活地单独地选择、控制和访问(读/写)存储系统中的各个存储器单元。因此,克服传统的ddr存储器中芯片/单元总是以相同步调工作的问题。因此,改进了存储器控制。
283.示例过程1100是为了说明的目的,但本公开不限于此。示例过程1100中的块可以被省略、组合或执行一次、两次或多次。此外,附加的块可以添加到示例过程1100中。
284.如下文所定义的,上面描述的方法的一些或全部操作可以通过执行存储在计算机可读存储介质上的计算机可读指令来执行。在描述和权利要求中使用的术语“计算机可读指令”包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等。计算机可读指令可以在各种系统配置上实现,包括单处理器或多处理器系统、小型机、大型计算机、个人计算机、手持计算设备、基于微处理器的可编程消费电子设备、其组合、等等。
285.计算机可读存储介质可以包括易失性存储器(例如随机存取存储器(ram))和/或非易失性存储器(例如只读存储器(rom)、闪存等)。计算机可读存储介质还可以包括附加的可移动存储和/或不可移动存储,包括但不限于闪存、磁存储、光存储和/或磁带存储,其可以提供计算机可读指令、数据结构、程序模块等的非易失性存储。
286.非瞬态计算机可读存储介质是计算机可读介质的示例。计算机可读介质包括至少两种类型的计算机可读介质,即计算机可读存储介质和通信介质。计算机可读存储介质包括用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何过程或技
术实现的易失性和非易失性、可移动和不可移动的介质。计算机可读存储介质包括但不限于相变存储器(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其它类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存或其它存储器技术、光盘只读存储器(cdrom)、数字多功能盘(dvd)或其它光存储器、盒式磁带、磁带、磁盘存储器或其它磁存储设备,或可用于存储供计算设备存取的信息的任何其它非传输介质。相反,通信介质可以在调制数据信号(例如载波)或其他传输机制中体现计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机可读存储介质不包括通信介质。
287.存储在一个或多个非瞬时计算机可读存储介质上的计算机可读指令,当由一个或多个处理器执行时,可执行上面参考附图描述的操作。通常,计算机可读指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不应被解释为限制,并且任何数目的所描述的操作可以以任何顺序和/或并行方式来实现过程。
288.样例
289.1、一种存储器架构,与所述存储器架构外部的主机耦合,所述存储器架构包括:
290.多个存储器单元,所述多个存储器单元中的相应存储器单元被配置为pim架构;以及
291.接口,耦合在所述多个存储器单元和所述主机之间,所述接口包括多条线,所述接口用于经由所述多条线从所述主机接收一个或多个信号;
292.其中,所述多个存储器单元中的相应存储器单元与所述多条线中的相应线耦合,并且所述相应存储器单元还用于经由所述接口接收所述一个或多个信号中的相应信号,以便被所述主机单独选择。
293.2、根据权利要求1所述的存储器架构,其中,所述接口接收的所述一个或多个信号包括一个或多个芯片组选择信号。
294.3、根据权利要求2所述的存储器架构,其中,所述多个存储器单元中的相应存储器单元还用于经由所述接口的多条线中的相应线接收所述一个或多个芯片组选择信号中的相应芯片组选择信号。
295.4、根据权利要求1所述的存储器架构,其中,所述接口接收的所述一个或多个信号包括一个或多个数据掩码信号。
296.5、根据权利要求4所述的存储器架构,其中,所述多个存储器单元中的相应存储器单元还用于经由所述接口的多条线中的相应线接收所述一个或多个数据掩码信号中的相应数据掩码信号。
297.6、根据权利要求1所述的存储器架构,其中,所述接口接收的所述一个或多个信号包括一个或多个单元i/o使能信号。
298.7、根据权利要求6所述的存储器架构,其中,所述多个存储器单元中的相应存储器单元包括相应的单元i/o使能寄存器,所述相应的单元i/o使能寄存器用于使能/禁止所述相应存储器单元的i/o功能。
299.8、根据权利要求6所述的存储器架构,其中,所述多个存储器单元中的相应存储器单元还用于经由所述接口接收相应的单元i/o使能信号。
300.9、根据权利要求1所述的存储器架构,其中,所述pim架构包括:
301.数据区域,用于存储数据;和
302.计算块,用于执行计算。
303.10、一种方法,包括:
304.通过向存储系统发送一个或多个信号来单独选择存储系统的多个存储器单元中的一个或多个存储器单元,其中,所述多个存储器单元中的相应存储器单元配置为pim架构;以及
305.访问所述一个或多个存储器单元。
306.11、根据权利要求10所述的方法,其中,发送所述一个或多个信号包括发送一个或多个芯片组选择信号。
307.12、根据权利要求11所述的方法,其中,单独选择相应存储器单元包括利用所述一个或多个芯片组选择信号中的相应芯片组选择信号单独选择相应存储器单元。
308.13、根据权利要求10所述的方法,其中,发送所述一个或多个个信号包括发送一个或多个数据掩码信号。
309.14、根据权利要求13所述的方法,其中,单独选择相应存储器单元包括利用所述一个或多个数据掩码信号中的相应数据掩码信号单独选择所述相应存储器单元。
310.15、根据权利要求10所述的方法,其中,发送所述一个或多个信号包括发送一个或多个单元i/o使能信号。
311.16、根据权利要求15所述的方法,其中,所述多个存储器单元中的相应存储器单元包括相应的单元i/o使能寄存器,所述相应的单元i/o使能寄存器用于使能/禁止所述相应存储器单元的i/o功能。
312.17、根据权利要求15所述的方法,其中,单独选择相应存储器单元包括利用所述一个或多个单元i/o使能信号中的相应单元i/o使能信号来单独选择所述相应存储器单元。
313.18、一种系统,包括:
314.一种存储器架构,与所述存储器架构外部的主机耦合,所述存储器架构包括:
315.多个存储器单元,所述多个存储器单元中的相应存储器单元被配置为pim架构;以及
316.接口,耦合在所述多个存储器单元和所述主机之间,所述接口包括多条线,所述接口用于经由所述多条线从所述主机接收一个或多个信号;
317.其中,所述多个存储器单元中的相应存储器单元与所述多条线中的相应线耦合,并且所述相应存储器单元还用于经由所述接口接收所述一个或多个信号中的相应信号,以便被所述主机单独选择。
318.所述主机,用于通过所述接口向所述存储器架构发送所述一个或多个信号,并访问相应的存储器单元。
319.19、根据权利要求18所述的系统,其中,所述接口接收的所述一个或多个信号包括一个或多个芯片组选择信号。
320.20、根据权利要求19所述的系统,,所述多个存储器单元中的相应存储器单元还用于经由所述接口的多条线中的相应线接收所述一个或多个芯片组选择信号中的相应芯片组选择信号。
321.21、根据权利要求18所述的系统,其中,所述接口接收的所述一个或多个信号包括
一个或多个数据掩码信号。
322.22、根据权利要求21所述的系统,其中,所述多个存储器单元中的相应存储器单元还用于经由所述接口的多条线中的相应线接收所述一个或多个数据掩码信号中的相应数据掩码信号。
323.23、根据权利要求18所述的系统,其中,所述接口接收的所述一个或多个信号包括一个或多个单元i/o使能信号。
324.24、根据权利要求23所述的系统,其中,所述多个存储器单元中的相应存储器单元包括相应的单元i/o使能寄存器,所述相应的单元i/o使能寄存器用于使能/禁止所述相应存储器单元的i/o功能。
325.25、根据权利要求23所述的系统,其中,所述多个存储器单元中的相应存储器单元还用于经由所述接口接收相应的单元i/o使能信号。
326.26、根据权利要求18所述的系统,其中,所述pim架构包括:
327.数据区域,用于存储数据;和
328.计算块,用于执行计算。
329.27、一种存储器架构,与所述存储器架构外部的主机耦合,所述存储器架构包括:
330.多个存储器单元组,相应存储器单元组包括多个存储器单元,以及所述多个存储器单元中的相应存储器单元被配置为pim架构;以及
331.接口,耦合在所述存储器架构和所述主机之间,所述接口包括多条线,所述接口用于经由所述多条线从所述主机接收一个或多个第一类型的信号和一个或多个第二类型的信号;
332.其中,所述多个存储器单元组中的相应存储器单元组由所述主机利用所述一个或多个第一类型的信号中的相应第一类型的信号来选择;
333.其中,所述多个存储器单元中的相应存储器单元与所述多条线中的相应线耦合,并且所述多个存储器单元中的相应存储器单元还用于经由所述接口接收所述一个或多个第二类型的信号中的相应第二类型的信号,以便由所述主机单独选择。
334.28、根据权利要求27所述的存储器架构,其中,所述接口接收的所述一个或多个第一类型的信号包括一个或多个芯片组选择信号。
335.29、根据权利要求28所述的存储器架构,其中,所述接口接收的所述一个或多个第二类型的信号包括一个或多个数据掩码信号。
336.30、根据权利要求29所述的存储器架构,其中,所述多个存储器单元中的相应存储器单元还用于经由所述接口的所述多条线中的相应线接收所述一个或多个数据掩码信号中的相应数据掩码信号。
337.31、根据权利要求28所述的存储器架构,其中,所述接口接收的所述一个或多个第二类型的信号包括一个或多个单元i/o使能信号。
338.32、根据权利要求31所述的存储器架构,其中,所述多个存储器单元中的相应存储器单元还用于经由所述接口接收所述一个或多个单元i/o使能信号中的相应的单元i/o使能信号。
339.33、根据权利要求32所述的存储器架构,其中,所述多个存储器单元中的相应存储器单元包括相应的单元i/o使能寄存器,所述相应的单元i/o使能寄存器用于使能/禁止所
述相应存储器单元的i/o功能。
340.34、根据权利要求27所述的存储器架构,其中,所述接口接收的所述一个或多个第一类型的信号包括一个或多个数据掩码信号。
341.35、一种系统,包括:
342.存储器架构,与所述存储器架构外部的主机耦合,
343.所述存储器架构包括:
344.多存储器单元组,相应存储器单元组包括多个存储器单元,所述多个存储器单元中的相应存储器单元被配置为pim架构;
345.以及接口,耦合在所述存储器架构和所述主机之间,所述接口包括多条线,所述接口用于经由所述多条线从所述主机接收一个或多个第一类型的信号和一个或多个第二类型的信号,
346.其中,所述多个存储器单元组中的相应组用于由所述主机使用所述一个或多个第一类型的信号中的相应的第一类型的信号来选择,
347.所述多个存储器单元中的相应存储器单元与所述多条线中的相应线耦合,并且所述多个存储器单元中的相应存储器单元还用于经由所述接口接收所述一个或多个第二类型的信号中的相应的第二类型的信号,以便由所述主机单独选择;
348.所述主机,用于经由所述接口向所述存储器架构发送所述一个或多个信号,并访问相应的存储器单元。
349.36、根据权利要求35所述的系统,其中,所述接口接收的所述一个或多个第一类型的信号包括一个或多个芯片组选择信号。
350.37、根据权利要求36所述的系统,其中,所述接口接收的所述一个或多个第二类型的信号包括一个或多个数据掩码信号。
351.38、根据权利要求37所述的系统,其中,所述多个存储器单元中的相应存储器单元还用于经由所述接口的所述多条线中的相应线接收所述一个或多个数据掩码信号中的相应数据掩码信号。
352.39、根据权利要求37所述的系统,其中,所述接口接收的所述一个或多个第二类型的信号包括一个或多个单元i/o使能信号。
353.40、根据权利要求39所述的系统,其中,所述多个存储器单元中的相应存储器单元还用于经由所述接口接收所述一个或多个单元i/o使能信号中的相应的单元i/o使能信号。
354.41、根据权利要求40所述的系统,其中,所述多个存储器单元中的相应存储器单元包括相应的单元i/o使能寄存器,所述相应的单元i/o使能寄存器用于使能/禁止所述相应存储器单元的i/o功能。
355.42、根据权利要求35所述的系统,所述接口接收的所述一个或多个第一类型的信号包括一个或多个数据掩码信号。
356.43、一种方法,包括:
357.通过向存储系统发送一个或多个第一类型的信号来单独选择存储系统的多个存储器单元组中的相应的存储器单元组,所述多个存储器单元组中的相应存储器单元组包括多个存储器单元;
358.通过向所述相应存储器单元组发送一个或多个第二类型的信号来单独选择所述
相应存储器单元组的所述多个存储器单元中的相应存储器单元,其中,所述多个存储器单元中的所述相应存储器单元配置为pim架构;以及
359.访问相应存储器单元。
360.44、根据权利要求43所述的方法,其中,发送所述第一类型的信号包括发送芯片组选择信号。
361.45、根据权利要求43所述的方法,其中,发送所述第一类型的信号包括发送数据掩码信号。
362.46、根据权利要求43所述的方法,其中,发送所述一个或多个第二类型的信号包括发送一个或多个数据掩码信号。
363.47、根据权利要求43所述的方法,其中,发送所述一个或多个第二类型的信号包括发送一个或多个单元i/o使能信号。
364.尽管已经用结构特征和/或方法行为所特有的语言描述了主题,但应当理解,在所附权利要求中定义的主题不一定限于所描述的特定特征或行为。相反,所述特定特征和动作被公开为实施所述权利要求的示例性的形式。