存储装置及方法、数据处理装置及方法、电子装置制造方法及图纸

技术编号:21003943 阅读:22 留言:0更新日期:2019-04-30 21:29
本公开提供了一种存储装置及方法、数据处理装置及方法、电子装置,包括精确存储单元和非精确存储单元。

Storage device and method, data processing device and method, electronic device

【技术实现步骤摘要】
存储装置及方法、数据处理装置及方法、电子装置
本公开属于数据处理
,更具体地涉及存储装置及方法、数据处理装置及方法、电子装置。
技术介绍
神经网络(neuralnetwork)已经获得了非常成功的应用,但是大规模的神经网络参数对存储提出了很高的要求。一方面,大量神经网络参数需要巨大的存储容量。另一个方面,访问大量神经网络数据会带来巨大的访存能耗。现在存储神经网络参数的内存是ECC(ErrorCorrectingCode)内存,ECC内存虽然能够纠正读取数据时发生的错误,但是ECC内存会带来额外的存储容量开销和访存功耗开销。神经网络算法有一定的容错能力,而将神经网络所有参数使用ECC内存存储忽略了神经网络的容错,带来额外存储开销,计算开销和访存开销,因此如何结合神经网络容错能力选用适合神经网络处理的内存是一个亟待解决的问题。公开内容(一)要解决的技术问题有鉴于此,本公开提供了一种存储装置及方法、数据处理装置及方法、电子装置,以期解决上述问题。(二)技术方案一种存储装置,包括:精确存储单元,用于存储数据中的重要比特位;非精确存储单元,用于存储数据中的非重要比特位。在本公开一些示例性实施例中,所述精确存储单元采用ECC内存,所述非精确存储单元采用非ECC内存。在本公开一些示例性实施例中,所述数据为神经网络参数,包括输入神经元、权值和输出神经元;所述精确存储单元用于存储输入神经元的重要比特位、输出神经元的重要比特位和权值的重要比特位;所述非精确存储单元用于存储输入神经元的非重要比特位、输出神经元的非重要比特位和权值的非重要比特位。在本公开一些示例性实施例中,所述数据包括浮点型数据和定点型数据;所述浮点型数据中的符号位和指数部分为重要比特位,底数部分为非重要比特位;所述定点型数据中的符号位和数值部分的前x比特为重要比特位,数值部分的剩余比特为非重要比特位,其中,x为大于等于0且小于m的正整数,m为数据总比特位。在本公开一些示例性实施例中,所述ECC内存包括有ECC校验的DRAM和有ECC校验的SRAM;所述有ECC校验的SRAM采用6TSRAM,或者采用4TSRAM或3TSRAM。在本公开一些示例性实施例中,所述非ECC内存包括非ECC校验的DRAM和非ECC校验的SRAM;所述非ECC校验的SRAM采用6TSRAM,或者采用4TSRAM或3TSRAM。在本公开一些示例性实施例中,所述6TSRAM中存放每一个比特的存储单元包括6个MOS管;所述4TSRAM中存放每一个比特的存储单元包括4个MOS管;所述3TSRAM中存放每一个比特的存储单元包括3个MOS管。在本公开一些示例性实施例中,所述4个MOS管包括:第一MOS管、第二MOS管、第三MOS管和第四MOS管,第一MOS管和第二MOS管用于门控,第三MOS管和第四MOS管用于存储,其中,第一MOS管栅极与字线WL电连接,源极与位线BL电连接;第二MOS管栅极与字线WL电连接,源极与位线BLB电连接;第三MOS管栅极与第四MOS管源极和第二MOS管漏极连接,并通过电阻R2与工作电压连接,第三MOS管漏极接地;第四MOS管栅极与第三MOS管源极和第一MOS管漏极连接,并通过电阻R1与工作电压连接,第四MOS管漏极接地;WL用于控制存储单元的门控访问,BL用于进行存储单元的读写。在本公开一些示例性实施例中,所述3个MOS管包括:第一MOS管,第二MOS管和第三MOS管,第一MOS管用于门控,第二MOS管和第三MOS管用于存储,其中,第一MOS管栅极与字线WL电连接,源极与位线BL电连接;第二MOS管栅极与第三MOS管源极连接,并通过电阻R2与工作电压连接,第二MOS管漏极接地;第三MOS管栅极与第二MOS管源极和第一MOS管漏极连接,并通过电阻R1与工作电压连接,第三MOS管漏极接地;WL用于控制存储单元的门控访问,BL用于进行存储单元的读写。一种数据处理装置,包括运算单元、指令控制单元和上述的存储装置;所述存储装置用于接收输入的指令和运算参数,并将运算参数中的重要比特位和指令存储于精确存储单元,将运算参数中的非重要比特位存储于非精确存储单元;所述指令控制单元用于接收存储装置中的指令,并译码生成控制信息;所述运算单元用于接收存储装置中的运算参数,依据控制信息进行运算,并将运算结果传输至存储装置。在本公开一些示例性实施例中,所述运算单元为神经网络处理器。在本公开一些示例性实施例中,所述运算参数为神经网络参数,所述运算单元用于接收存储装置中的输入神经元和权值,依据控制信息完成神经网络运算得到输出神经元,并将输出神经元传输至存储装置。在本公开一些示例性实施例中,所述运算单元用于接收存储装置中的输入神经元的重要比特位和权值的重要比特位进行计算;或者,所述运算单元用于接收重要比特位和非重要比特位拼接完整的输入神经元和权值进行计算。在本公开一些示例性实施例中,还包括:指令缓存,设置在存储装置和指令控制单元之间,用于存储专用指令;输入神经元分层缓存,设置在存储装置和运算单元之间,用于缓存输入神经元,所述输入神经元分层缓存包括输入神经元精确缓存和输入神经元非精确缓存;权值分层缓存,设置在存储装置和运算单元之间,用于缓存权值数据,所述权值分层缓存包括权值精确缓存和权值非精确缓存;输出神经元分层缓存,设置在存储装置和运算单元之间,用于缓存输出神经元,所述输出神经元分层缓存包括输出神经元精确缓存和输出神经元非精确缓存。在本公开一些示例性实施例中,还包括直接数据存取单元DMA,用于在所述存储装置、指令缓存、权值分层缓存、输入神经元分层缓存和输出神经元分层缓存中进行数据或者指令读写。在本公开一些示例性实施例中,所述指令缓存、输入神经元分层缓存、权值分层缓存和输出神经元分层缓存采用4TSRAM或3TSRAM。在本公开一些示例性实施例中,还包括预处理模块,用于对输入数据进行预处理并传输至存储装置;所述预处理包括切分、高斯滤波、二值化、正则化和归一化。在本公开一些示例性实施例中,所述运算单元为通用运算处理器。一种电子装置,包括上述的数据处理装置。一种存储方法,包括:将数据中的重要比特位进行精确存储;将数据中的非重要比特位进行非精确存储。在本公开一些示例性实施例中,包括:提取数据的重要比特位和非重要比特位;将数据中的重要比特位存储在ECC内存中进行精确存储;将数据中的非重要比特位存储在非ECC内存中进行非精确存储。在本公开一些示例性实施例中,所述数据为神经网络参数,包括输入神经元、权值和输出神经元;将输入神经元的重要比特位、输出神经元的重要比特位和权值的重要比特位进行精确存储;将输入神经元的非重要比特位、输出神经元的非重要比特位和权值的非重要比特位进行非精确存储。在本公开一些示例性实施例中,所述数据包括浮点型数据和定点型数据;所述浮点型数据中的符号位和指数部分为重要比特位,底数部分为非重要比特位;所述定点型数据中的符号位和数值部分的前x比特为重要比特位,数值部分的剩余比特为非重要比特位,其中,x为大于等于0且小于m的正整数,m为参数总比特位。在本公开一些示例性实施例中,所述ECC内存包括有ECC校验的DRAM和有ECC校验的SRAM;所述有ECC校验的SRAM采用6TSRAM本文档来自技高网...

【技术保护点】
1.一种存储装置,包括:精确存储单元,用于存储数据中的重要比特位;非精确存储单元,用于存储数据中的非重要比特位。

【技术特征摘要】
1.一种存储装置,包括:精确存储单元,用于存储数据中的重要比特位;非精确存储单元,用于存储数据中的非重要比特位。2.如权利要求1所述的存储装置,其中,所述精确存储单元采用ECC内存,所述非精确存储单元采用非ECC内存。3.如权利要求1或2所述的存储装置,其中,所述数据为神经网络参数,包括输入神经元、权值和输出神经元;所述精确存储单元用于存储输入神经元的重要比特位、输出神经元的重要比特位和权值的重要比特位;所述非精确存储单元用于存储输入神经元的非重要比特位、输出神经元的非重要比特位和权值的非重要比特位。4.如权利要求1至3中任一项所述的存储装置,其中,所述数据包括浮点型数据和定点型数据;所述浮点型数据中的符号位和指数部分为重要比特位,底数部分为非重要比特位;所述定点型数据中的符号位和数值部分的前x比特为重要比特位,数值部分的剩余比特为非重要比特位,其中,x为大于等于0且小于m的正整数,m为数据总比特位。5.如权利要求2至4中任一项所述的存储装置,其中,所述ECC内存包括有ECC校验的DRAM和有ECC校验的SRAM;所述有ECC校验的SRAM采用6TSRAM,或者采用4TSRAM或3TSRAM。6.如权利要求2至4中任一项所述的存储装置,其中,所述非ECC内存包括非ECC校验的DRAM和非ECC校验的SRAM;所述非ECC校验的SRAM采用6TSRAM,或者采用4TSRAM或3TSRAM。7.如权利要求5或6所述的存储装置,其中,所述6TSRAM中存放每一个比特的存储单元包括6个MOS管;所述4TSRAM中存放每一个比特的存储单元包括4个MOS管;所述3TSRAM中存放每一个比特的存储单元包括3个MOS管。8.如权利要求7所述的存储装置,其中,所述4个MOS管包括:第一MOS管、第二MOS管、第三MOS管和第四MOS管,第一MOS管和第二MOS管用于门控,第三MOS管和第四MOS管用于存储,其中,第一MOS管栅极与字线WL电连接,源极与位线BL电连接;第二MOS管栅极与字线WL电连接,源极与位线BLB电连接;第三MOS管栅极与第四MOS管源极和第二MOS管漏极连接,并通过电阻R2与工作电压连接,第三MOS管漏极接地;第四MOS管栅极与第三MOS管源极和第一MOS管漏极连接,并通过电阻R1与工作电压连接,第四MOS管漏极接地;WL用于控制存储单元的门控访问,BL用于进行存储单元的读写。9.如权利要求7所述的存储装置,其中,所述3个MOS管包括:第一MOS管,第二MOS管和第三MOS管,第一MOS管用于门控,第二MOS管和第三MOS管用于存储,其中,第一MOS管栅极与字线WL电连接,源极与位线BL电连接;第二MOS管栅极与第三MOS管源极连接,并通过电阻R2与工作电压连接,第二MOS管漏极接地;第三MOS管栅极与第二MOS管源极和第一MOS管漏极连接,并通过电阻R1与工作电压连接,第三MOS管漏极接地;WL用于控制存储单元的门控访问,BL用于进行存储单元的读写。10.一种数据处理装置,包括运算单元、指令控制单元和如权利要求1至9中任一项所述的存储装置;所述存储装置用于接收输入的指令和运算参数,并将运算参数中的重要比特位和指令存储于精确存储单元,将运算参数中的非重要比特位存储于非精确存储单元;所述指令控制单元用于接收存储装置中的指令,并译码生成控制信息;所述运算单元用于接收存储装置中的运算参数,依据控制信息进行运算,并将运算结果传输至存储装置。11.如权利要求10所述的数据处理装置,其中,所述运算单元为神经网络处理器。12.如权利要求11所述的数据处理装置,其中,所述运算参数为神经网络参数,所述运算单元用于接收存储装置中的输入神经元和权值,依据控制信息完成神经网络运算得到输出神经元,并将输出神经元传输至存储装置。13.如权利要求12所述的数据处理装置,其中,所述运算单元用于接收存储装置中的输入神经元的重要比特位和权值的重要比特位进行计算;或者,所述运算单元用于接收重要比特位和非重要比特位拼接完整的输入神经元和权值进行计算。14.如权利要求11至13中任一项所述的数据处理装置,其中,还包括:指令缓存,设置在存储装置和指令控制单元之间,用于存储专用指令;输入神经元分层缓存,设置在存储装置和运算单元...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:上海,31

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

1