本公开涉及数据存储,特别涉及用于浮点数的存储。
背景技术:
1、神经网络是人工智能技术的核心。目前,神经网络得到了广泛的研究和关注,应用于包括计算机视觉、语音识别、机器人、自动驾驶等诸多人工智能应用领域中。
2、在实际应用中,神经网络计算中所涉及的数据(例如,权重)经常会是浮点数。因此,需要对所涉及的浮点数进行存储,以便进行神经网络的计算。
3、在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
技术实现思路
1、根据本公开的一方面,提供一种用于存储浮点数的方法,包括:基于浮点数的数值,确定一个或多个待存储数值,其中,一个或多个待存储数值之和为浮点数的数值;以及对于每个待存储数值,基于该待存储数值,使该待存储数值被写入对应于该待存储数值的可编程半导体器件,其中,不同的待存储数值对应于不同的可编程半导体器件,可编程半导体器件处于亚阈值状态,并且其中,当一个或多个待存储数值为多个待存储数值时,对应于一个或多个待存储数值的可编程半导体器件的第一端子相连,其中,可编程半导体器件的第一端子为源极端子或漏极端子。
2、根据本公开的另一方面,提供一种用于存储浮点数的装置,包括:数值确定模块,被配置为:基于浮点数的数值,确定一个或多个待存储数值,其中,一个或多个待存储数值之和为浮点数的数值;以及写入模块,被配置为:对于每个待存储数值,基于该待存储数值,使该待存储数值被写入对应于该待存储数值的可编程半导体器件,其中,不同的待存储数值对应于不同的可编程半导体器件,可编程半导体器件处于亚阈值状态,并且其中,当一个或多个待存储数值为多个待存储数值时,对应于一个或多个待存储数值的可编程半导体器件的第一端子相连,其中,可编程半导体器件的第一端子为源极端子或漏极端子。
3、根据本公开的又一方面,提供了一种存储设备,包括:多个可编程半导体器件;以及控制器,控制器被配置为执行指令以实现如本公开任一项所述的方法。
4、根据本公开的又一方面,提供了一种计算机可读存储介质,包括指令,所述指令当由如本公开所述的存储设备的控制器执行时,使所述控制器执行如本公开所述的方法。
5、根据本公开的又一方面,提供了一种计算机程序产品,包括指令,所述指令当由如本公开所述的存储设备的控制器执行时,使所述控制器执行如本公开所述的方法。
1.一种用于存储浮点数的方法,包括:
2.如权利要求1所述的方法,其中,所述基于所述浮点数的数值,确定一个或多个待存储数值包括:
3.如权利要求2所述的方法,其中,当所述一个或多个待存储数值为多个待存储数值时,对应于所述一个或多个待存储数值的可编程半导体器件位于存储器阵列中的同一行中,
4.如权利要求1-3中任一项所述的方法,还包括:
5.根据权利要求4所述的方法,其中,所述基于对应于所述一个或多个待存储数值的可编程半导体器件的第一端子电流之和,确定所述乘法运算的乘积包括:
6.如权利要求1-3中任一项所述的方法,还包括在所述对于每个待存储数值,基于该待存储数值,进行对应于该待存储数值的可编程半导体器件的写入操作之后:
7.如权利要求6所述的方法,还包括:
8.根据权利要求1-3中任一项所述的方法,还包括在基于所述浮点数的数值,确定一个或多个待存储数值之前:
9.一种用于存储浮点数的装置,包括:
10.如权利要求9所述的装置,其中,所述数值确定模块包括:
11.如权利要求10所述的装置,其中,当所述一个或多个待存储数值为多个待存储数值时,对应于所述一个或多个待存储数值的可编程半导体器件位于存储器阵列中的同一行中,
12.如权利要求9-11中任一项所述的装置,还包括:
13.根据权利要求12所述的装置,其中,所述乘积确定模块包括:
14.如权利要求9-11中任一项所述的装置,还包括:
15.如权利要求14所述的装置,还包括:
16.根据权利要求9-11中任一项所述的装置,还包括:
17.一种存储设备,包括:
18.一种计算机可读存储介质,包括指令,所述指令当由如权利要求17所述的存储设备的控制器执行时,使所述控制器执行如权利要求1-8中任一项所述的方法。
19.一种计算机程序产品,包括指令,所述指令当由如权利要求17所述的存储设备的控制器执行时,使所述控制器执行如权利要求1-8中任一项所述的方法。