CN114942731A - 一种数据存储方法和装置 - Google Patents
一种数据存储方法和装置 Download PDFInfo
- Publication number
- CN114942731A CN114942731A CN202210879330.7A CN202210879330A CN114942731A CN 114942731 A CN114942731 A CN 114942731A CN 202210879330 A CN202210879330 A CN 202210879330A CN 114942731 A CN114942731 A CN 114942731A
- Authority
- CN
- China
- Prior art keywords
- data
- stored
- storage
- storage space
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据存储方法和装置,用以解决多维数据的存储效率低的问题。本方案包括:获取多组待存储数据和存储空间的信息,任一组待存储数据包括输入数值组和对应的输出值,任一输入数值组包括R维组合数值;根据存储空间的信息将存储空间划分为R层,第r层包含的子存储空间的数量与R维组合数值中第r维度的位宽数量相匹配;根据划分得到的R层存储空间生成各组待存储数据的输入数值组分别对应的存储地址;根据多组待存储数据的输入数值组分别对应的存储地址将多组待存储数据中的输出值存储至R层存储空间中,目标组待存储数据中的输出值在R层存储空间中的存储地址为目标组待存储数据的输入数值组对应的存储地址。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种数据存储方法和装置。
背景技术
在计算机领域,多维数据往往需要占用较多的存储空间。如要存储多维输入数据与输出数据之间的关联关系,则往往需要存储多维输入数据、输出数据以及这两种数据之间的对应关系,可见,需要占用更多的存储空间。
多维数据不仅需要占用较多的存储空间,而且在执行读取调用时,容量较大的数据也往往存在读取调用效率低、查询不便等问题。
如何提高多维数据的存储效率,是本申请所要解决的技术问题。
发明内容
本申请实施例的目的是提供一种数据存储方法和装置,用以解决多维数据的存储效率低的问题。
第一方面,提供了一种数据存储方法,包括:
获取多组待存储数据和用于存储所述多组待存储数据的存储空间的信息,其中,任一组待存储数据包括输入数值组和对应的输出值,任一所述输入数值组包括R维组合数值,R为大于1的整数;
根据所述存储空间的信息将所述存储空间划分为R层,其中,第r层包含的子存储空间的数量与所述R维组合数值中第r维度的位宽数量相匹配,r为小于或等于R的任一正整数;
根据划分得到的R层存储空间生成各组待存储数据的输入数值组分别对应的存储地址,所述存储地址包括与所述R层存储空间顺次对应的R个子存储地址;
根据所述多组待存储数据的输入数值组分别对应的存储地址将所述多组待存储数据中的输出值存储至所述R层存储空间中,其中,目标组待存储数据中的输出值在所述R层存储空间中的存储地址为所述目标组待存储数据的输入数值组对应的存储地址。
第二方面,提供了一种数据存储装置,包括:
获取模块,获取多组待存储数据和用于存储所述多组待存储数据的存储空间的信息,其中,任一组待存储数据包括输入数值组和对应的输出值,任一所述输入数值组包括R维组合数值,R为大于1的整数;
划分模块,根据所述存储空间的信息将所述存储空间划分为R层,其中,第r层包含的子存储空间的数量与所述R维组合数值中第r维度的位宽数量相匹配,r为小于或等于R的任一正整数;
生成模块,根据划分得到的R层存储空间生成各组待存储数据的输入数值组分别对应的存储地址,所述存储地址包括与所述R层存储空间顺次对应的R个子存储地址;
存储模块,根据所述多组待存储数据的输入数值组分别对应的存储地址将所述多组待存储数据中的输出值存储至所述R层存储空间中,其中,目标组待存储数据中的输出值在所述R层存储空间中的存储地址为所述目标组待存储数据的输入数值组对应的存储地址。
第三方面,提供了一种电子设备,该电子设备包括处理器、存储器及存储在该存储器上并可在该处理器上运行的计算机程序,该计算机程序被该处理器执行时实现如第一方面的方法的步骤。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现如第一方面的方法的步骤。
在本申请实施例中,首先获取多组待存储数据和用于存储多组待存储数据的存储空间的信息,其中,任一组待存储数据包括输入数值组和对应的输出值,任一输入数值组包括R维组合数值,R为大于1的整数;然后,根据存储空间的信息将存储空间划分为R层,其中,第r层包含的子存储空间的数量与R维组合数值中第r维度的位宽数量相匹配,r为小于或等于R的任一正整数。通过存储空间的划分,能够得到与输入数值组的R维组合数值对应的R层存储空间。随后,根据划分得到的R层存储空间生成各组待存储数据的输入数值组分别对应的存储地址,存储地址包括与R层存储空间顺次对应的R个子存储地址。生成的存储地址中包含R个子存储地址,这些子存储地址与R维组合数值相对应,即与输入数值组相对应。最后,根据多组待存储数据的输入数值组分别对应的存储地址将多组待存储数据中的输出值存储至R层存储空间中,其中,目标组待存储数据中的输出值在R层存储空间中的存储地址为目标组待存储数据的输入数值组对应的存储地址。通过本申请实施例提供的方案,将存储空间按照R维组合数值组划分成R层存储空间,进而将输入数值组作为存储地址,将对应的输出值存储至输入数值组对应的存储地址中。本方案无需额外存储多维的输入数值组,即可实现多维输入数值组与输出值的对应存储。在有效存储输入数值组与输出值对应关系的基础上,有效降低了存储数据量,显著提高多维数据的存储效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请的一个实施例一种数据存储方法的流程示意图之一;
图2是本申请的一个实施例一种数据存储方法的流程示意图之二;
图3a是本申请的一个实施例一种数据存储方法的流程示意图之三;
图3b是本申请的一个实施例一种数据存储装置的结构示意图;
图4a是本申请的一个实施例一种数据存储方法的流程示意图之四;
图4b是本申请的一个实施例一种数据存储装置的结构示意图;
图4c是基于图4b的本申请的一个实施例一种数据存储装置的扇区4095#内部划分结构示意图;
图5是本申请的一个实施例一种数据存储方法的流程示意图之五;
图6是本申请的一个实施例一种数据存储方法的流程示意图之六;
图7是本申请的一个实施例一种数据存储装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请中附图编号仅用于区分方案中的各个步骤,不用于限定各个步骤的执行顺序,具体执行顺序以说明书中描述为准。
在计算机领域,多维数据的存储往往需要占用较多的存储空间。多维数据的存储至少存在以下两方面难点:一方面,多维数据的数据量较大,占用存储空间大。另一方面,在部分场景中,不同维度的数据之间还存在一定的关联,存储不同维度的数据之间的关联关系需要消耗更多的存储空间。上述较大的数据量以及复杂的关联关系使得多维数据的存储效率低,还存在着读取调用效率低以及查询数据不便等问题。
为了解决现有技术中存在的问题,本申请实施例提供一种数据存储方法,本申请实施例提供的方案可以应用于具有数据存储功能的数据存储装置。在实际应用中,本方案的执行主体可以是计算机、服务器、智能穿戴设备等具有数据存储和处理功能的设备。如图1所示,本申请实施例提供的方案包括以下步骤:
S11:获取多组待存储数据和用于存储所述多组待存储数据的存储空间的信息,其中,任一组待存储数据包括输入数值组和对应的输出值,任一所述输入数值组包括R维组合数值,R为大于1的整数。
本步骤中所述的存储空间可以是数据存储装置中的存储空间,该数据存储装置包括但不限于:寄存器组、Nor型flash、Nand型flash、随机存取存储器(SRAM/DRAM/SDRAM)、NVRAM、F-RAM、电可擦除可编程只读存储器(ROM)/EEPROM、各类闪存(FLASH)、具有地址-数据接口的带有根据地址进行数据存储功能的器件(包括但不限于内部自带数据存储模块或功能的可编程逻辑器件)、模块、介质、设备等。
本步骤中获取的多组待存储数据可以是从一种或多种数据平台获取的,也可以是某种采集装置实时采集的数据,又或者是具有计算功能的处理器实时计算生成的数据等。
为了便于说明,本申请实施例中假设多组待存储数据是横摇补偿数据。具体而言,本实例中R为4,即输入数值组是四维组合数值。该横摇补偿数据中的输入数值组具体可以包括有噪回波幅值si,t、阵元标识i、波束方向标识m、横摇补偿标识k,对应的输出值为横摇补偿值y。
本申请实施例提供的方案例如可以应用于数据探测的应用场景中。举例而言,搭载探测装置的探测船对海底执行探测的过程中,往往需要由探测装置向待探测区域发送探测信号,然后由探测装置接收待探测区域反射的回波信号,进而通过分析回波信号来确定待探测区域的地形地貌。
在该场景中,用于接收探测信号的部件可以称为阵元,探测装置往往包含多个阵列排布的阵元。任一个阵元均具有接收回波信号的功能,上述有噪回波幅值即阵元接收到的回波信号的幅值。举例而言,发射阵列预先输出发射信号,接收阵列的I个阵元进行并行时域采样形成回波信号矩阵SI×T。t时刻i阵元接收回波S(i,t)=si,tF(t),si,t表征有噪回波幅值。
上述阵元标识用于区分阵列排布的多个阵元,该阵元标识可以是阵元在探测装置中的预设标识。比如说,接收阵列Z阵元总数为正整数I,用i{i|i∈0,1,2,…,I-1,I为正整数}表征编号0~I-1之间的任意某阵元,i为阵元索引。
上述波束方向标识为阵元接收到的回波信号的方向,具体与阵元的波束开角、波束开角分辨率等参数有关。举例而言,在发射的探测波束的数量为正整数M的情况下,假设已知波束开角θw;可确定波束开角分辨率△θw =θw /M;以及,波束最小角度θmin=90°-θw /2与波束最大角度θmax=90°+θw/2。其中,θm表征位于波束最小角度θmin与波束最大角度θmax之间的任意某个角度,一般离散信号处理时将θm离散处理,θm =θmin+m·△θw,{m|m∈0,1,…,M-1,m为正整数};m为波束方向索引。
横摇补偿标识用于表示横摇角度,该横摇角度是指探测船由于风浪等环境因素发生横摇的角度。
由于探测装置处于一定横摇角度,并非以水平角度接收回波信号,所以,接收到的回波信号的角度具有一定横摇误差。横摇补偿值是指基于探测装置所处的横摇角度对接收到的回波信号执行补偿后的数值。
S12:根据所述存储空间的信息将所述存储空间划分为R层,其中,第r层包含的子存储空间的数量与所述R维组合数值中第r维度的位宽数量相匹配,r为小于或等于R的任一正整数。
在步骤中,基于四维组合数值将存储空间划分为四层。举例而言,第一层包含的子存储空间的数量与噪回波幅值si,t的位宽数量相匹配,第二层包含的子存储空间的数量与波束方向标识m的位宽数量相匹配,第三层包含的子存储空间的数量与阵元标识i的位宽数量相匹配, 第四层包含的子存储空间的数量与横摇补偿标识k的位宽数量相匹配。
应理解的是,上述层数与维度之间一一对应即可,具体的对应关系可以根据实际需求变更,比如说,第一层与横摇补偿标识k相对应、第二层与波束方向标识相对应等。
本实施例中所述的位宽具体可以是二进制位宽,比如说,有噪回波幅值si,t的位宽Wx1=12、波束方向标识m位宽Wx2=10、阵元标识i位宽Wx3=7、横摇补偿标识k位宽Wx4=12,横摇补偿值y位宽Wy=32。
当位宽是指二进制位宽时,本步骤中的第r层包含的子存储空间的数量与所述R维组合数值中第r维度的位宽数量相匹配,具体是指,第r层包含的子存储空间的数量为2的目标位宽次幂,所述目标位宽为所述R维组合数值中第r维度的位宽。
基于本实例,划分得到的第r层存储空间的子存储空间的数量可以为2的Wxr次幂。具体的,第一层存储空间包含212个子存储空间,第二层存储空间包含210个子存储空间,第三层存储空间包含27个子存储空间,第四层存储空间包含212个子存储空间。
S13:根据划分得到的R层存储空间生成各组待存储数据的输入数值组分别对应的存储地址,所述存储地址包括与所述R层存储空间顺次对应的R个子存储地址。
由于上述步骤中划分得到了与R维相对应的R层存储空间,每一维度数值均对应于一层存储空间,且相应存储空间中包含的子存储空间的数量与这一维度数值的位宽相匹配,这就使得任一R维组合数值在存储空间中都有子存储空间相对应。
在本步骤中,生成的存储地址与待存储数据的输入数值组相对应。基于本实例,按照R层存储空间的顺序,将si,t\m\i\k确定为存储地址,其中,si,t、m、i、k依次是存储空间第一层至第四层的子存储地址。
S14:根据所述多组待存储数据的输入数值组分别对应的存储地址将所述多组待存储数据中的输出值存储至所述R层存储空间中,其中,目标组待存储数据中的输出值在所述R层存储空间中的存储地址为所述目标组待存储数据的输入数值组对应的存储地址。
在本步骤中,将多组待存储数据的输出值存储至相应的存储地址中。其中,对于任一目标组待存储数据,输出值在存储空间中的存储地址是该目标组待存储数据中的输入数值组对应的存储地址。
通过本申请实施例提供的方案,将存储空间按照R维组合数值组划分成R层存储空间,进而将输入数值组作为存储地址,将对应的输出值存储至输入数值组对应的存储地址中。本方案无需额外存储多维的输入数值组,即可实现多维输入数值组与输出值的对应存储。在有效存储输入数值组与输出值对应关系的基础上,有效降低了存储数据量,显著提高多维数据的存储效率。本方案无需存储输入数值组,也无需存储输入数值组与输出值之间的对应关系,仅使用能容纳全部输出值的存储容量即可。另外,如需查询输出值,则根据待查询的多维输入数值组确定待查询的存储地址,进而从确定出的存储地址中取出输出值即可完成查询,有效提高数据查询效率。
本申请实施例提供的方案具体可以应用于包含处理器和存储器的***中,在实际应用中,可以实现快速复杂计算。本方案可以按照以下步骤执行:
(1)地址分组检索装置初始写入
①处理器设置地址分组检索装置保持写入模式;
②处理器按x1,…, xr格式枚举数值az,基于y=f(x1,…, xr)根据已知映射f计算确定值y;
③处理器将数值az当作组合地址给定地址端A,同时将确定值y当作数据给定数据端D在一个写入周期内将确定值y写入地址分组检索装置;
(2)地址分组检索装置数值计算
前提条件:地址分组检索装置完整执行上述初始写入所有步骤;
①处理器设置地址分组检索装置保持读取模式;
基于上述实施例提供的方案,可选的,所述存储空间的信息包括输入端地址线信息和输出端数据线信息,所述存储空间的输入端地址线数量大于或等于所述R维组合数值中各维度的位宽数量之和,所述存储空间的输出端数据线数量大于或等于所述多组待存储数据中的输出值的位宽数量最大值。
在实际应用中,可以使用至少1个数据存储装置执行数据存储。优选单次写入周期TWR和读取周期TRD小、地址线数量A_num≥Wx1+…+ Wxr;数据线数量D_num≥Wy的型号,其他指标如接口形式、电源电压、容量、地址位宽、数据位宽等指标根据实际需要选择,多个数据存储装置联合使用时须保证时序一致性。
通过本申请实施例提供的方案,存储空间的输入端地址线数量能保证待输入数据完整输入,输出端数据线数量能保证输出值完整输出,避免数据丢失与存储错误。
基于上述实施例提供的方案,可选的,所述R维组合数值包括以预设维度顺序排列的数值;
其中,如图2所示,上述步骤S12,包括:
S21:根据所述存储空间的信息,按照所述预设维度顺序将所述存储空间顺次划分为R层。
本申请实施例提供的方案用于配置划分存储空间,从而得到与待存储数据中的R维组合数值相匹配的R层存储空间。举例而言,可以通过以下步骤实现存储空间的划分以及地址分配:
(1)对于任一维度r,将数据存储装置地址端A分成r个部分;
(4)处理器可控制数据存储装置切换写入和读取状态。
基于上述实施例提供的方案,可选的,如图3a所示,上述步骤S21,包括:
S31:根据所述存储空间的信息,按照所述预设维度顺序中的第r维度对第r-1层存储空间进行划分,以得到包含第r维度的位宽数量个子存储空间的第r层存储空间。
通过本申请实施例提供的方案,根据预设维度顺序,依次划分存储空间的各层,从而得到R层存储空间。
通过本申请实施例提供的方案,按照预设维度顺序,依次对存储空间进行划分,得到与R维组合数值中各个维度对应的R层存储空间。
基于上述实施例提供的方案,可选的,如图4a所示,上述步骤S13,包括:
S41:根据划分得到的所述R层存储空间与所述R维组合数值的对应关系,将所述R维组合数值确定为所属待存储数据对应的存储地址。
举例而言,本方案选择由1个读取周期TRD=8ns、地址线数量A_num=41、数据线数量D_num=32的数据存储装置执行数据存储。
如图4b所示,si,t位宽Wx1=12,连接地址端A[41:30],划分总计个扇区;m位宽Wx2=10,连接地址端A[29:20],划分个块; i位宽Wx3=7,连接地址端A[19:13],划分页;k位宽Wx4=12,连接地址端A[12:0],划分个页内地址;y位宽Wy=32bit,连接数据端D[31:0]。为更清晰地展示页内地址、页、块、扇区之间的关系,图4c示出了基于图4b的扇区4095#内部划分结构示意图。
通过本申请实施例提供的方案,对存储空间进行划分,能够得到与R维组合数值相对应的子存储空间。或者说,任一R维组合数值都有唯一存储地址与其对应,保证各待存储数据的输出值能有唯一存储地址的子存储空间进行存储。
基于上述实施例提供的方案,可选的,如图5所示,在上述步骤S11之前,还包括:
S51:获取多组输入数值组和预设函数关系,其中,所述函数关系的自变量包括所述输入数值组中的R维组合数值,所述函数关系的因变量为所述输出值。
在本方案中,预设函数关系例如为,其中,自变量是有噪回波幅值si,t、阵元标识i、波束方向标识m、横摇补偿标识k,因变量是横摇补偿值y。本步骤中的多组输入数值组可以是基于探测装置中的各个阵元的探测功能,可能采集到的全部R维组合数值。
S52:根据所述预设函数关系确定所述多组输入数值组分别对应的输出值。
在本步骤中,逐一对探测装置可能采集到的输入数值组确定横摇补偿值。该横摇补偿值作为输出值在后续步骤中进行存储。
S53:根据所述多组输入数值组和分别对应的输出值生成所述多组待存储数据。
通过本申请实施例提供的方案,基于探测装置的探测能力,对可能采集到的全部R维组合值预先计算输出值,生成多组待存储数据。下面,结合实例对本方案进行说明。
在应用横摇补偿进行探测的场景中,本例中预设函数关系为y=f(si,t,m,i,k),在进行探测之前,先通过本申请实施例提供的方案进行初始写入,以将所需数据存储至存储空间内。对于包含处理器和数据存储装置的***,首先,由处理器设置地址分组检索装置保持写入模式。然后,处理器按si,t,m,i,k格式枚举数值az,并根据已知映射计算确定值y。基于计算得到的y,处理器将数值az当作组合地址给定地址端A,同时将确定值y当作数据给定数据端D在一个写入周期内将确定值y写入数据存储装置。重复上述步骤总计241次,以计算并存储y所有枚举值。
其中,枚举数值az与si,t,m,i,k之间的关系中,“<<”表示左移运算,“|”表示按位或运算。
若x1, x2, x3, x4,Wx1=12,Wx2=10,Wx3 =7,Wx4=12,则az=( si,t <<29)|( m <<19)|(i <<12)| k。
通过上述步骤,即可计算所需的横摇补偿值y,并存储至数据存储装置中,随后可以根据地址执行调用。
其中,如图6所示,在上述步骤S14之后,还包括:
S61:接收目标输入数值组,所述目标输入数值组中包括目标有噪回波幅值、目标阵元标识、目标波束方向标识和目标横摇补偿标识。
本实施例提供的方案能基于已存储的数据执行查询与数据调用。在应用横摇补偿进行探测的场景中,上述目标输入数值组可以是探测装置实时采集获取的数据,其中包括目标有噪回波幅值si,t、目标阵元标识i、目标波束方向标识m、目标横摇补偿标识k。
S62:根据所述目标输入数值组确定目标存储地址。
基于上述目标输入数值组,确定相对应的目标存储地址。具体的,在本步骤中,根据上述实施例中向存储装置中存储横摇补偿值的方式来确定目标存储地址。
S63:输出所述存储空间中存储在所述目标存储地址的输出值。
在本步骤中,读取调用数据存储装置中上述目标存储地址中的值执行输出。
下面结合实例对本方案进行说明,在本实例中,x1, x2, x3, x4依次为有噪回波幅值si,t、阵元索引i、波束方向索引m、横摇补偿索引k。本方案中,构建构建一组4维组合数值变量si,t,m,i,k与y的离散映射y=f(si,t,m,i,k),映射。
基于上述实施例中已通过初始写入进行数据存储的数据存储装置,在本实施例中,处理器首先设置数据存储装置保持读取模式,然后,处理器可以通过探测装置中的姿态设备获取θk,并确定对应k值;处理器同时获取si,t值。
在实际应用中,需要计算si,t,m,i,k在映射下的以得到横摇补偿值,在本方案中,不需要实时计算上述复杂的映射结果,而是由处理器将表征si,t,m,i,k的特定值tz给定地址端A,并在一个读取周期TRD内在数据端D读取结果数值jz,等效实现[s0,t, … ,sI-1,t]T与矩阵乘法中一次元素与元素乘法操作;
其中,特定值tz与si,t,m,i,k之间关系包含“<<”表示左移运算和“|”表示按位或运算。
若x1, x2, x3, x4,W x1=12,Wx2=10,Wx3=7,Wx4=12,则tz=( si,t <<29)|( m <<19)|(i <<12)| k;
以具体数值为例进行说明,当s125,t=1034;θ120 =120;i=125;θ134=134;需要计算时,y=f(1034,120,125,134);只需在地址端A给定tz=((1034<<30)|(120<<20)|(125<<13)|(134))即可在TRD时间内,在数据端D获得计算结果。
本申请实施例提供的方案能预先高效存储多维输入值与输出值的对应关系,在需要执行复杂计算的应用场景中,可以根据多维自变量确定存储地址,将多维自变量对应的输出值存储在该存储地址中。从存储容量来看,仅需容纳输出值即可,无需额外存储多维输入值以及对应关系。基于预先存储的数据存储装置,在实际应用中,可以根据实时获取的多维输入值,例如本实例中的si,t,m,i,k,确定目标存储地址,进而直接读取获得对应的输出值,无需执行复杂的多维参数计算,能有效提高实际应用中的数据处理效率。
为了解决现有技术中存在的问题,本申请实施例还提供一种数据存储装置70,如图7所示,包括:
获取模块71,获取多组待存储数据和用于存储所述多组待存储数据的存储空间的信息,其中,任一组待存储数据包括输入数值组和对应的输出值,任一所述输入数值组包括R维组合数值,R为大于1的整数;
划分模块72,根据所述存储空间的信息将所述存储空间划分为R层,其中,第r层包含的子存储空间的数量与所述R维组合数值中第r维度的位宽数量相同,r为小于或等于R的任一正整数;
生成模块73,根据划分得到的R层存储空间生成各组待存储数据的输入数值组分别对应的存储地址,所述存储地址包括与所述R层存储空间顺次对应的R个子存储地址;
存储模块74,根据所述多组待存储数据的输入数值组分别对应的存储地址将所述多组待存储数据中的输出值存储至所述R层存储空间中,其中,目标组待存储数据中的输出值在所述R层存储空间中的存储地址为所述目标组待存储数据的输入数值组对应的存储地址。
通过本申请实施例提供的装置,首先获取多组待存储数据和用于存储多组待存储数据的存储空间的信息,其中,任一组待存储数据包括输入数值组和对应的输出值,任一输入数值组包括R维组合数值,R为大于1的整数;然后,根据存储空间的信息将存储空间划分为R层,其中,第r层包含的子存储空间的数量与R维组合数值中第r维度的位宽数量相匹配,r为小于或等于R的任一正整数。通过存储空间的划分,能够得到与输入数值组的R维组合数值对应的R层存储空间。随后,根据划分得到的R层存储空间生成各组待存储数据的输入数值组分别对应的存储地址,存储地址包括与R层存储空间顺次对应的R个子存储地址。生成的存储地址中包含R个子存储地址,这些子存储地址与R维组合数值相对应,即与输入数值组相对应。最后,根据多组待存储数据的输入数值组分别对应的存储地址将多组待存储数据中的输出值存储至R层存储空间中,其中,目标组待存储数据中的输出值在R层存储空间中的存储地址为目标组待存储数据的输入数值组对应的存储地址。通过本申请实施例提供的方案,将存储空间按照R维组合数值组划分成R层存储空间,进而将输入数值组作为存储地址,将对应的输出值存储至输入数值组对应的存储地址中。本方案无需额外存储多维的输入数值组,即可实现多维输入数值组与输出值的对应存储。在有效存储输入数值组与输出值对应关系的基础上,有效降低了存储数据量,显著提高多维数据的存储效率。
其中,本申请实施例提供的装置中的上述模块还可以实现上述方法实施例提供的方法步骤。或者,本申请实施例提供的装置还可以包括除上述模块以外的其他模块,用以实现上述方法实施例提供的方法步骤。且本申请实施例提供的装置能够实现上述方法实施例所能达到的技术效果。
优选的,本申请实施例还提供一种电子设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述一种数据存储方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述一种数据存储方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据存储方法,其特征在于,包括:
获取多组待存储数据和用于存储所述多组待存储数据的存储空间的信息,其中,任一组待存储数据包括输入数值组和对应的输出值,任一所述输入数值组包括R维组合数值,R为大于1的整数;
根据所述存储空间的信息将所述存储空间划分为R层,其中,第r层包含的子存储空间的数量与所述R维组合数值中第r维度的位宽数量相匹配,r为小于或等于R的任一正整数;
根据划分得到的R层存储空间生成各组待存储数据的输入数值组分别对应的存储地址,所述存储地址包括与所述R层存储空间顺次对应的R个子存储地址;
根据所述多组待存储数据的输入数值组分别对应的存储地址将所述多组待存储数据中的输出值存储至所述R层存储空间中,其中,目标组待存储数据中的输出值在所述R层存储空间中的存储地址为所述目标组待存储数据的输入数值组对应的存储地址。
2.如权利要求1所述的方法,其特征在于,所述存储空间的信息包括输入端地址线信息和输出端数据线信息,所述存储空间的输入端地址线数量大于或等于所述R维组合数值中各维度的位宽数量之和,所述存储空间的输出端数据线数量大于或等于所述多组待存储数据中的输出值的位宽数量最大值。
3.如权利要求1所述的方法,其特征在于,所述R维组合数值包括以预设维度顺序排列的数值;
其中,根据所述存储空间的信息将所述存储空间划分为R层,包括:
根据所述存储空间的信息,按照所述预设维度顺序将所述存储空间顺次划分为R层。
4.如权利要求3所述的方法,其特征在于,根据所述存储空间的信息,按照所述预设维度顺序将所述存储空间顺次划分为R层,包括:
根据所述存储空间的信息和所述预设维度顺序中的第r维度的位宽数量对第r-1层存储空间进行划分,以得到第r层存储空间。
5.如权利要求4所述的方法,其特征在于,根据划分得到的R层存储空间生成各组待存储数据的输入数值组分别对应的存储地址,包括:
根据划分得到的所述R层存储空间与所述R维组合数值的对应关系,将所述R维组合数值确定为所属待存储数据对应的存储地址。
6.如权利要求1~5任一项所述的方法,其特征在于,在获取多组待存储数据和用于存储所述多组待存储数据的存储空间的信息之前,还包括:
获取多组输入数值组和预设函数关系,其中,所述函数关系的自变量包括所述输入数值组中的R维组合数值,所述函数关系的因变量为所述输出值;
根据所述预设函数关系确定所述多组输入数值组分别对应的输出值;
根据所述多组输入数值组和分别对应的输出值生成所述多组待存储数据。
8.一种数据存储装置,其特征在于,包括:
获取模块,获取多组待存储数据和用于存储所述多组待存储数据的存储空间的信息,其中,任一组待存储数据包括输入数值组和对应的输出值,任一所述输入数值组包括R维组合数值,R为大于1的整数;
划分模块,根据所述存储空间的信息将所述存储空间划分为R层,其中,第r层包含的子存储空间的数量与所述R维组合数值中第r维度的位宽数量相匹配,r为小于或等于R的任一正整数;
生成模块,根据划分得到的R层存储空间生成各组待存储数据的输入数值组分别对应的存储地址,所述存储地址包括与所述R层存储空间顺次对应的R个子存储地址;
存储模块,根据所述多组待存储数据的输入数值组分别对应的存储地址将所述多组待存储数据中的输出值存储至所述R层存储空间中,其中,目标组待存储数据中的输出值在所述R层存储空间中的存储地址为所述目标组待存储数据的输入数值组对应的存储地址。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210879330.7A CN114942731B (zh) | 2022-07-25 | 2022-07-25 | 一种数据存储方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210879330.7A CN114942731B (zh) | 2022-07-25 | 2022-07-25 | 一种数据存储方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114942731A true CN114942731A (zh) | 2022-08-26 |
CN114942731B CN114942731B (zh) | 2022-10-25 |
Family
ID=82911284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210879330.7A Active CN114942731B (zh) | 2022-07-25 | 2022-07-25 | 一种数据存储方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114942731B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541507A (zh) * | 2010-12-31 | 2012-07-04 | 联芯科技有限公司 | 维度可重配的数据处理方法、***和矩阵乘法处理器 |
US20140189209A1 (en) * | 2012-12-31 | 2014-07-03 | Alan Welsh Sinclair | Multi-layer memory system having multiple partitions in a layer |
US9612754B1 (en) * | 2015-06-29 | 2017-04-04 | EMC IP Holding Company LLC | Data storage system with window allocation using window cache |
CN107678979A (zh) * | 2017-10-19 | 2018-02-09 | 浪潮金融信息技术有限公司 | 数据存储方法及装置 |
CN112799599A (zh) * | 2021-02-08 | 2021-05-14 | 清华大学 | 一种数据存储方法、计算核、芯片和电子设备 |
CN114580606A (zh) * | 2020-12-02 | 2022-06-03 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
-
2022
- 2022-07-25 CN CN202210879330.7A patent/CN114942731B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541507A (zh) * | 2010-12-31 | 2012-07-04 | 联芯科技有限公司 | 维度可重配的数据处理方法、***和矩阵乘法处理器 |
US20140189209A1 (en) * | 2012-12-31 | 2014-07-03 | Alan Welsh Sinclair | Multi-layer memory system having multiple partitions in a layer |
US9612754B1 (en) * | 2015-06-29 | 2017-04-04 | EMC IP Holding Company LLC | Data storage system with window allocation using window cache |
CN107678979A (zh) * | 2017-10-19 | 2018-02-09 | 浪潮金融信息技术有限公司 | 数据存储方法及装置 |
CN114580606A (zh) * | 2020-12-02 | 2022-06-03 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN112799599A (zh) * | 2021-02-08 | 2021-05-14 | 清华大学 | 一种数据存储方法、计算核、芯片和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114942731B (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7743013B2 (en) | Data partitioning via bucketing bloom filters | |
CN108039190B (zh) | 一种测试方法及装置 | |
KR20210003946A (ko) | 논리적-물리적 데이터 구조 | |
CN115658146B (zh) | 一种ai芯片、张量处理方法及电子设备 | |
CN115757066A (zh) | 硬盘性能测试方法、装置、设备、存储介质和程序产品 | |
CN114942731B (zh) | 一种数据存储方法和装置 | |
CN111158757B (zh) | 并行存取装置和方法以及芯片 | |
WO2021021288A1 (en) | Apparatuses and methods for performing operations using sense amplifiers and intermediary circuitry | |
CN115048319A (zh) | 地址映射关系的确定方法、控制器和地址关系映射*** | |
CN114791590A (zh) | 横摇补偿波束生成方法、装置、电路和*** | |
CN111143006B (zh) | 命令帮助信息的获取方法及装置 | |
CN110827259B (zh) | 一种用于目标关键点检测的样本增广的方法与设备 | |
CN112035380A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN103312835A (zh) | 地址溯源方法和装置 | |
CN115685126A (zh) | 一种波达方向计算方法、装置、设备及存储介质 | |
CN115640241B (zh) | 基于地址池的内存转换表表项管理方法、查询方法及装置 | |
CN117094268A (zh) | 网格间数据传递方法、装置、存储介质及电子设备 | |
SU1501087A1 (ru) | Устройство дл определени весовых функций | |
CN117372236A (zh) | 共享内存的访问方法、装置、计算机设备 | |
CN110740099B (zh) | 一种数据流控方法和装置 | |
CN109522239A (zh) | 一种共同特征数据确定的方法及设备 | |
CN117539625A (zh) | 服务器资源配置方法、装置、计算机设备和存储介质 | |
JPS633330B2 (zh) | ||
CN118035039A (zh) | 内存信息确定方法、装置、设备、存储介质及程序产品 | |
CN112782694A (zh) | 一种基于多核dsp的雷达信号处理方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |