当前位置: 首页 > 专利查询>OPPO专利>正文

数据存储方法及装置制造方法及图纸

技术编号:39412386 阅读:16 留言:0更新日期:2023-11-19 16:04
本公开提供一种数据存储方法及装置

【技术实现步骤摘要】
数据存储方法及装置、计算机可读介质和电子设备


[0001]本公开涉及数据处理
,具体涉及一种数据存储方法

数据存储装置

计算机可读介质和电子设备


技术介绍

[0002]随着人工智能
(Artificial Intelligence

AI)
应用的普及,以及对人工智能应用的用户体验要求越来越高,对于人工智能运算数据的读写能力提出了越来越高的要求

人工智能的算法网络由多个计算层相互级联组合而成,相邻算子之间的参数往往是不同的,例如相邻的算子可以是
Conv3*3
的卷积运算加上
Conv1*1
的卷积运算,也可以是
Conv3*3
加上激活函数,再或是卷积运算加池化运算

即使是相邻两个计算层是卷积运算,其参数也是不同的,参数的不同表现在卷积核窗口大小,卷积核的输入通道与输出通道以及输入特征图像以及输出特征图像的尺寸大小等

[0003]目前,人工智能网络中的运算数据在存储的过程中使用了统一数据存储格式,导致不同计算层下的运算数据在存储和读取时的并行度较低,数据读写效率较低


技术实现思路

[0004]本公开的目的在于提供一种数据存储方法

数据存储装置

计算机可读介质和电子设备,进而至少在一定程度上提高不同计算层下的运算数据在存储和读取的并行度,提升运算数据的读写效率

[0005]根据本公开的第一方面,提供一种数据存储方法,由配置有至少一个运算引擎的终端设备执行,该方法包括:
[0006]获取所述运算引擎输出的运算结果数据;
[0007]确定所述运算结果数据对应的运算模式;
[0008]基于所述运算模式设置所述运算结果数据的存储地址,并根据所述存储地址将所述运算结果数据错开存储在存储阵列

[0009]根据本公开的第二方面,提供一种数据存储装置,设置在配置有至少一个运算引擎的终端设备中,该装置包括:
[0010]数据获取模块,用于获取所述运算引擎输出的运算结果数据;
[0011]运算模式确定模块,用于确定所述运算结果数据对应的运算模式;
[0012]数据存储模块,用于基于所述运算模式设置所述运算结果数据的存储地址,并根据所述存储地址将所述运算结果数据错开存储在存储阵列

[0013]根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法

[0014]根据本公开的第四方面,提供一种电子设备,其特征在于,包括:
[0015]处理器;以及
[0016]存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行
时,使得一个或多个处理器实现上述的方法

[0017]本公开的一种实施例所提供的数据存储方法,在运算引擎输出运算结果数据时,确定运算结果数据对应的运算模式,并基于运算模式设置运算结果数据的存储地址,并根据存储地址将运算结果数据错开存储在存储阵列

一方面,根据运算结果数据对应的运算模式确定运算结果数据的存储格式即存储地址,使存储格式能够与运算结果数据的运算模式相对应,提升数据的存储效率以及读取效率,进而提高运算引擎的数据处理效率;另一方面,根据存储地址将运算结果数据错开存储在存储阵列,保证需要在同一时刻并行读取的数据存储在不同的存储阵列,能够有效提升运算结果数据在存储以及读取时的数据并行度,避免了数据在读取过程中的阻塞时延,保证数据的读取效率,进一步提升运算引擎的数据处理效率

[0018]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开

附图说明
[0019]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理

显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图

在附图中:
[0020]图1示出了可以应用本公开实施例的一种示例性系统架构的示意图;
[0021]图2示意性示出本公开示例性实施例中一种数据存储方法的流程示意图;
[0022]图3示意性示出本公开示例性实施例中一种运算引擎的结构示意图;
[0023]图4示意性示出本公开示例性实施例中一种存储阵列的结构示意图;
[0024]图5示意性示出本公开示例性实施例中一种实现运算结果数据错开存储在存储阵列的流程示意图;
[0025]图6示意性示出本公开示例性实施例中一种错开存储运算结果数据的存储方式的示意图;
[0026]图7示意性示出本公开示例性实施例中一种错开存储运算结果数据的原理示意图;
[0027]图8示意性示出本公开示例性实施例中另一种错开存储运算结果数据的存储方式的示意图;
[0028]图9示意性示出本公开示例性实施例中一种数据重组的原理示意图;
[0029]图
10
示意性示出本公开示例性实施例中一种对输出数据重组得到运算结果数据的流程示意图;
[0030]图
11
示意性示出本公开示例性实施例中一种对输出数据重组得到运算结果数据的原理示意图;
[0031]图
12
示意性示出本公开示例性实施例中数据存储装置的组成示意图;
[0032]图
13
示出了可以应用本公开实施例的一种电子设备的示意图

具体实施方式
[0033]现在将参考附图更全面地描述示例实施方式

然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员

所描述的特征

结构或特性可以以任何合适的方式结合在一个或更多实施方式中

[0034]此外,附图仅为本公开的示意性图解,并非一定是按比例绘制

图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述

附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应

可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和
/
或处理器装置和
/
或微控制器装置中实现这些功能实体

[0035]图1示出了可以应用本公开实施例的一种数据存储方法及装置的示例性应用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据存储方法,其特征在于,由配置有至少一个运算引擎的终端设备执行,所述方法包括:获取所述运算引擎输出的运算结果数据;确定所述运算结果数据对应的运算模式;基于所述运算模式设置所述运算结果数据的存储地址,并根据所述存储地址将所述运算结果数据错开存储在存储阵列
。2.
根据权利要求1所述的方法,其特征在于,所述存储阵列包括多
Bank
存储器,所述根据所述存储地址将所述运算结果数据错开存储在存储阵列中,包括:根据所述存储地址将所述运算结果数据中需要在同一时刻并行读取的数据存储在不同的
Bank

。3.
根据权利要求2所述的方法,其特征在于,所述运算结果数据包括多个输入通道,所述每个输入通道包括不同纵坐标下的单行运算结果数据;所述基于所述运算模式设置所述运算结果数据的存储地址,并根据所述存储地址将所述运算结果数据错开存储在存储阵列中,包括:响应检测到所述运算模式为
3*3
卷积运算,则将第一纵坐标下的单行运算结果数据的存储头地址映射到第一
Bank
中;以及将第二纵坐标下的单行运算结果数据的存储头地址映射到第二
Bank
中,实现将所述运算结果数据错开存储在存储阵列
。4.
根据权利要求2所述的方法,其特征在于,所述运算结果数据包括多个输入通道,所述每个输入通道包括不同纵坐标下的单行运算结果数据;所述基于所述运算模式设置所述运算结果数据的存储地址,并根据所述存储地址将所述运算结果数据错开存储在存储阵列中,包括:响应检测到所述运算模式为
1*1
卷积运算,则将第一输入通道中处于第三纵坐标下的单行运算结果数据的存储头地址映射到第三
Bank
中;以及将第一输入通道中处于第四纵坐标下的单行运算结果数据的存储头地址映射到第四
Bank
中;同时将第二输入通道中处于第五纵坐标下的单行运算结果数据的存储头地址映射到第五
Bank
中;以及将第二输入通道中处于第六纵坐标下的单行运算结果数据的存储头地址映射到第六
Bank
中,实...

【专利技术属性】
技术研发人员:孙炜祝叶华
申请(专利权)人:OPPO
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1