可促进张量存储器存取的存储装置和方法与流程
- 国知局
- 2024-07-31 23:11:52
本公开涉及可促进张量存储器存取的存储装置和方法。
背景技术:
1、高速存储器存取和降低的功耗是半导体装置所需要的特征。近年来,采用多核处理器来执行应用程序的系统已经导致对用作主存储器的存储装置(例如,动态随机存取存储器(dram))的更快存取模式以及更多随机存取模式。例如,对dram的典型存取模式按顺序重复存储体激活、读取存取或写入存取以及存储体预充电。需要对存储装置进行更快存取的存取模式。计算装置的效率和性能可能受到不同存储装置的影响。因此,需要快速且有效的存取模式。
2、张量通常是与线性系统相关的几何对象,可以在机器学习和人工智能应用中使用。张量处理可以包含矩阵代数的处理或其它线性系统分析。这种处理可以是密集的和重复的,因为例如可以在张量的分层处理中多次利用公共操作数或操作数序列。这种重复与处理速度相结合,可能需要重复进行存储器存取以执行张量处理操作。
技术实现思路
1、本文公开了实例方法。在本公开的实施例中,一种方法包含接收存储器命令,所述存储器命令包含存储器存取操作、所述存储器存取操作的起始地址和所述存储器存取操作的张量的维度;至少部分地基于所述起始地址和所述张量的所述维度生成用于所述存储器存取操作的存储器地址序列;以及根据所述存储器地址序列对具有至少部分地基于所述张量的所述维度的大小的数据执行所述存储器存取操作。
2、附加地或可选地,进一步包含从缓冲器读取具有至少部分地基于张量的维度的大小的数据。执行存储器存取操作包含将数据写入存储器。
3、附加地或可选地,进一步包含将具有至少部分地基于张量的维度的大小的数据写入缓冲器。执行存储器存取操作包含从存储器读取数据。
4、附加地或可选地,存储器地址序列进一步包含用于存取多个存储单元的特定存储器存取指令序列,所述特定存储器存取指令序列基于张量的至少一个维度。
5、附加地或可选地,根据所述地址序列执行存储器存取操作进一步包含根据所述地址序列存取所述多个存储单元的相应地址。
6、附加地或可选地,地址序列基于与存储器命令相关联的矩阵运算。
7、附加地或可选地,矩阵运算对应于行运算、列运算、对角线运算或行列式运算或其任何组合中的至少一者。
8、附加地或可选地,矩阵运算的矩阵维度对应于二维、三维或第n维或其任何组合中的至少一者。
9、本文公开了实例设备。在本公开的实施例中,存储阵列包含多个存储单元和耦合到存储阵列的存储器控制器。所述存储器控制器被配置成接收存储器命令,所述存储器命令包含存储器存取操作、所述存储器存取操作的起始地址和所述存储器存取操作的张量的维度;至少部分地基于所述起始地址和所述张量的所述维度生成用于所述存储器存取操作的存储器地址序列;以及根据所述存储器地址序列对具有至少部分地基于所述张量的所述维度的大小的数据执行所述存储器存取操作。
10、附加地或可选地,进一步包含耦合到存储器控制器和存储阵列的缓冲器。缓冲器被配置成从存储器控制器或存储阵列接收具有至少部分地基于张量的维度的大小的数据;以及将具有至少部分地基于所述张量的所述维度的所述大小的所述数据从所述存储器控制器发送或发送到所述存储阵列。
11、附加地或可选地,存储器控制器被配置成响应于包含与存储器命令相同的地址的一部分的另一命令而从缓冲器读取数据。
12、附加地或可选地,矩阵的至少一个维度对应于矩阵的行、列、对角线、行列式或第n维。
13、附加地或可选地,所述存储器地址序列包含用于存取所述多个存储单元的特定存储器存取指令序列。
14、附加地或可选地,所述特定存储器存取指令序列的每一存储器存取指令包含用于所述多个存储单元中的存储单元的相应地址的指令。
15、附加地或可选地,进一步包含与存储器控制器耦合的处理器或主机装置。存储器控制器被配置成从处理器或主机装置接收存储器命令。
16、附加地或可选地,进一步包含耦合到所述存储器控制器且被配置成与所述存储阵列通信的存储器接口,其中所述存储器控制器被配置成经由所述存储器接口向所述存储阵列提供所述存储器地址序列。
17、在本公开的另一方面中,一种方法包含接收与存储器存取操作相关联的存储器命令;确定所述存储器存取操作与和另一存储器存取操作中使用的存储器地址序列相同的存储器地址序列相关联;读取或写入存储在缓冲器中的数据,所述数据与所述存储器地址序列相关联,存储在所述缓冲器中的所述数据部分地基于在所述另一存储器存取操作中使用的所述存储器地址序列;以及提供存储在所述缓冲器中的所述数据以执行所述存储器存取操作。
18、附加地或可选地,进一步包含基于利用为所述另一存储器存取操作生成的所述存储器地址序列的所述另一存储器存取操作来写入或读取存储在所述缓冲器中的所述数据。
19、附加地或可选地,进一步包含至少基于与所述另一存储器存取操作相关联的其它存储器命令来生成用于所述存储器存取操作的所述存储器地址序列,所述存储器地址序列与矩阵的至少一个维度相关联。
20、附加地或可选地,所述地址序列基于与另一存储器命令相关联的矩阵运算,所述另一存储器命令与所述另一存储器存取操作相关联。
21、附加地或可选地,确定存储器存取操作与和另一存储器存取操作中使用的存储器地址序列相同的存储器地址序列相关联包含在存储器命令中标识与所述存储器地址序列相关联的起始地址;在所述存储器命令中标识与所述存储器地址序列相关联的矩阵维度;以及基于所述起始地址和所述矩阵维度标识所述缓冲器中的所述存储器地址序列。
22、附加地或可选地,确定存储器存取操作与和另一存储器存取操作中使用的存储器地址序列相同的存储器地址序列相关联进一步包含在存储器命令中标识与存储器地址序列相关联的数据长度;以及基于所述起始地址、所述矩阵维度和所述数据长度标识所述缓冲器中的所述存储器地址序列。
23、附加地或可选地,进一步包含:响应于所述另一存储器存取操作,根据所述存储器地址序列存取多个存储单元。
技术特征:1.一种方法,其包括:
2.根据权利要求1所述的方法,其中所述数据包括读取数据,所述方法进一步包括:
3.根据权利要求2所述的方法,其中接收所述写入命令和从所述缓冲器中读取所述读取数据发生在同一时钟循环中。
4.根据权利要求2所述的方法,其进一步包括:
5.根据权利要求4所述的方法,其中确定所述第二读取命令与所述第一读取命令中使用的所述第一存储器地址序列相关联包括:
6.根据权利要求1所述的方法,其中所述存储器地址序列进一步指示与所述读取命令相关联的张量维度的类型。
7.根据权利要求1所述的方法,其中由所述整数指示的所述读取命令的所述类型是张量。
8.根据权利要求1所述的方法,其进一步包括:
9.一种设备,其包括:
10.根据权利要求9所述的设备,其中所述存储器地址序列进一步指示与所述读取命令相关联的张量维度。
11.根据权利要求10所述的设备,其中所述张量的所述维度包括所述张量的行、列、对角线、行列式或第n维。
12.根据权利要求9所述的设备,其进一步包括耦合至所述存储器控制器的缓冲器,其中所述数据包括读取数据。
13.根据权利要求12所述的设备,其中所述存储器控制器进一步经配置以:
14.根据权利要求13所述的设备,其中接收所述写入命令和读取来自所述缓冲器的所述读取数据发生在所述双向总线上的同一时钟循环期间。
15.根据权利要求13所述的设备,其中所述存储器控制器经配置以响应于所述写入命令读取来自所述缓冲器的所述读取数据,所述写入命令包括与所述读取命令相同的地址的一部分。
16.一种方法,其包括:
17.根据权利要求16所述的方法,其中所述存储器命令的所述类型指示所述张量存储器命令或子矩阵。
18.根据权利要求16所述的方法,其中所述张量操作包括特定矩阵的对角线或特定矩阵的行列式的计算。
19.根据权利要求16所述的方法,其中执行所述存储器存取操作进一步包括计算在序列中待处理的多个层数据,其中每个后续层基于来自所述序列的至少一个先前层的计算结果的组合。
20.根据权利要求19所述的方法,其中所述多个层中的一层作为根据矩阵的子矩阵生成的地址序列存储于所述缓冲器中,且其中从所述缓冲器存取的所述数据以子矩阵形式提供。
技术总结描述了用于可促进张量存储器存取的存储装置和方法。通过例如采用张量或矩阵相关计算的各种处理模式,可以同时读取或写入位于存储器的不同物理地址中的多个数据。可以包括数据地址生成器的存储器控制器可以被配置成基于起始地址和张量或矩阵的维度生成用于存储器存取操作的存储器地址序列。张量或矩阵的至少一个维度可对应于所述张量或矩阵的行、列、对角线、行列式或第N维。所述存储器控制器还可以包括缓冲器,所述缓冲器被配置成读取和写入从地址存储器序列或根据所述地址存储器序列生成的数据。技术研发人员:罗法隆,J·卡明斯,T·施米茨,J·赫里茨受保护的技术使用者:美光科技公司技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240730/196349.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。