一种处理器芯片及其数据存储方法和数据读取方法与流程

文档序号:23396073发布日期:2020-12-22 14:04阅读:105来源:国知局
一种处理器芯片及其数据存储方法和数据读取方法与流程

本发明涉及集成电路技术领域,具体涉及一种处理器芯片及其数据存储方法和数据读取方法。



背景技术:

目前,带有非易失性存储器的处理器芯片,获得了广泛的应用,例如常见的单片机产品,这类型的产品,相比其他需要外扩存储器的芯片,最大的特点是可以单芯片运行。设计这类型的产品,一个重要的考量因素是内部非易失性存储器的设计选择,目前有几种可以选择的方式:flash单元、otp(一次擦写存储器)、mtp(多次可擦写存储器)等。这些处理器芯片的内置存储容量越大,其价格越高。一些电子产品需要处理的数据量较大,只能采购价格很高的内置大存储容量的处理器芯片,如此,不利于降低电子产品的成本。



技术实现要素:

本发明提供了一种处理器芯片及其数据存储方法和数据读取方法,可以降低处理器芯片的产品成本。本发明所述的具体技术方案如下:

一种处理器芯片,包括具有数据处理能力的soc芯片和非易失性存储芯片,所述非易失性存储芯片与所述soc芯片连接,用于向所述soc芯片提供数据存储空间,所述soc芯片和所述非易失性存储芯片封装在同一个芯片中,形成单一芯片。该方案可以根据不同的需求,将不同数量的非易失性存储芯片和具有数据处理能力的soc芯片集成在单一的芯片中,由于外置独立的非易失性存储芯片价格相对较低,所以,集成后的处理器芯片不仅具有较大的存储容量,而且相对内置大存储容量的处理器芯片的价格明显降低,大大节约了产品成本。

进一步地,所述soc芯片包括cpu模块、芯片id模块、加密生成模块、异或模块、数据重整模块和接口模块,其中:所述cpu模块包括数据输入端、数据输出端和升级端口,所述升级端口用于接收外部输入的数据;所述数据输出端连接至所述加密生成模块,用于输出数据至所述加密生成模块;所述数据输入端连接所述异或模块,用于输入经过解密后的非易失性存储芯片中存储的数据;所述加密生成模块分别与所述芯片id模块和数据重整模块连接,用于接收所述芯片id模块输出的id码,并利用所述id码对接收到的所述cpu模块输出的数据进行加密,然后输出至所述数据重整模块;所述数据重整模块通过所述接口模块连接至所述非易失性存储芯片,用于将所述加密生成模块输出的加密后的数据进行重新排序后,输出至所述非易失性存储芯片进行存储;所述数据重整模块还连接至所述异或模块,用于将所述非易失性存储芯片中的数据进行恢复排序后,输出至所述异或模块;所述异或模块分别与所述加密生成模块和cpu模块连接,用于将所述id码和所述数据重整模块输出的恢复排序后的数据进行异或运算后,输出解密后的数据至所述cpu模块。该方案通过采用具有芯片id模块、加密生成模块、异或模块和数据重整模块的电路结构,可以有效地进行数据的安全存储和读取,确保所述处理器芯片的性能。

进一步地,所述非易失性存储芯片采用4线spiflash存储器,该方案可以进一步降低产品成本,并且spiflash存储器接口简单,设计制造更容易。

进一步地,所述spiflash存储器为两个,所述接口模块包含第一接口模块和第二接口模块,所述第一接口模块分别连接所述数据重整模块和一个所述spiflash存储器,所述第二接口模块分别连接所述数据重整模块和另一个所述spiflash存储器。该方案通过采用两片4线的spiflash存储器,可以提升程序运行的速率,降低因为串行总线带来的效率变低的问题。

一种基于上述处理器芯片的数据存储方法,包括如下步骤:cpu模块通过升级端口接收外部数据,并将所述数据输出至加密生成模块;所述加密生成模块获取芯片id模块输出的id码,并利用所述id码对接收到的所述cpu模块输出的数据进行加密,然后将加密后的数据输出至数据重整模块;所述数据重整模块将所述加密生成模块输出的加密后的数据进行重新排序后,通过接口模块输出至非易失性存储芯片;所述非易失性存储芯片存储接收到的数据。所述方案通过上述数据处理步骤,不仅能够实现大容量数据的存储,还可以保证数据存储的安全性。

一种基于上述处理器芯片的数据读取方法,包括如下步骤:非易失性存储芯片通过接口模块输出内部存储的数据至数据重整模块;所述数据重整模块将所述非易失性存储芯片输出的数据进行恢复排序后,输出至异或模块;所述异或模块利用id码和所述数据重整模块输出的恢复排序后的数据进行异或运算,并输出解密后的数据至cpu模块;所述cpu模块接收并读取解密后的数据。所述方案通过上述数据处理步骤,不仅能够实现大容量数据的读取,还可以保证数据读取的有效性。

附图说明

图1为本发明实施例所述的处理器芯片的结构框图。

图2为本发明实施例所述的数据存储方法的流程示意图。

图3为本发明实施例所述的数据读取方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。应当理解,下面所描述的具体实施例仅用于解释本发明,并不用于限定本发明。在下面的描述中,给出具体细节以提供对实施例的透彻理解。然而,本领域的普通技术人员将理解,可以在没有这些具体细节的情况下实施实施例。例如,电路可以在框图中显示,避免在不必要的细节中使实施例模糊。在其他情况下,为了不混淆实施例,可以不详细显示公知的电路、结构和技术。

一种处理器芯片,包括具有数据处理能力的soc芯片和非易失性存储芯片,所述非易失性存储芯片与所述soc芯片连接,用于向所述soc芯片提供数据存储空间,即所述soc芯片可以向所述非易失性存储芯片写入数据,也可以读取所述非易失性存储芯片中的数据。所述soc(systemonchip)芯片,称为芯片级系统,也有称片上系统,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的内容。所述非易失性存储芯片可以采用norflash存储芯片,也可以采用nandflash存储芯片,当然也可以采用其它具有非易失性能的存储芯片。相互连接的所述soc芯片和所述非易失性存储芯片封装在同一个芯片中,形成单一芯片。由于芯片的封装技术是现有的常规技术,所以此处不再赘述。本实施例中,所形成的单一芯片可以根据不同的容量需求,选取所需数量的非易失性存储芯片,然后将这些非易失性存储芯片都连接至soc芯片,再将这些芯片全部集成在一颗芯片中,如此可以实现处理器芯片存储容量的任意配置。由于外置独立的非易失性存储芯片价格相对较低,所以,集成后的处理器芯片不仅具有较大的存储容量,而且相对内置大存储容量的处理器芯片的价格明显降低,大大节约了产品成本,适于推广应用。

作为其中一种实施方式,如图1所示,所述soc芯片包括cpu模块、芯片id模块、加密生成模块、异或模块、数据重整模块和接口模块。其中,所述cpu模块包括数据输入端20、数据输出端10和升级端口30。所述升级端口30用于接收外部输入的数据。所述数据输出端10连接至所述加密生成模块,用于将外部输入的数据输出至所述加密生成模块。所述数据输入端20连接所述异或模块,用于输入所述异或模块进行异或(xor)运算后的数据。所述加密生成模块分别与所述芯片id模块和数据重整模块连接,用于接收所述芯片id模块输出的id码,并利用所述id码对接收到的所述cpu模块输出的数据进行加密,然后输出至所述数据重整模块。由于每颗芯片都有唯一的id码,通过唯一的id码对数据代码进行加密,可以保证每一颗芯片的代码都不会与其他芯片相同。所述数据重整模块通过所述接口模块连接至所述非易失性存储芯片,用于将所述加密生成模块输出的加密后的数据进行重新排序,然后输出至所述非易失性存储芯片进行存储。所述数据重整模块还连接至所述异或模块,用于将所述非易失性存储芯片中输出的数据进行恢复排序后,输出至所述异或模块。所述异或模块分别与所述加密生成模块和cpu模块连接,用于将所述id码和所述数据重整模块输出的恢复排序后的数据进行异或运算,然后输出解密后的数据至所述cpu模块。本实施例通过采用具有芯片id模块、加密生成模块、异或模块和数据重整模块的电路结构,可以有效地进行数据的安全存储和读取,确保所述处理器芯片的数据处理性能。

作为其中一种实施方式,所述非易失性存储芯片采用4线spiflash存储器,由于该类型的存储器比较便宜,如此可以进一步降低产品成本,并且spiflash存储器接口简单,设计制造更容易。

作为其中一种实施方式,如图1所示,所述处理器芯片采用两个spiflash存储器和两个接口模块。第一接口模块分别连接所述数据重整模块和一个所述spiflash存储器,第二接口模块分别连接所述数据重整模块和另一个所述spiflash存储器。访问两个spiflash存储器时,按照统一的地址进行数据的读取,然后对数据进行重排,每次发送一个地址,两个存储器都会把数据读取回来,然后按照字节的方式进行拼接。比如,一个spiflash存储器读取data0,data1,另一个所述spiflash存储器读取字节data2,data3。那么,拼接成的32位的低位到高位的字节为data0+data2+data1+data3。本实施例通过采用两片4线的spiflash存储器,可以提升程序运行的速率,降低因为串行总线带来的效率变低的问题。

当然,如果带宽还是不满足要求,可以增加spiflash存储器的数量,以此提高数据带宽,保证数据传输效率。

一种基于上述处理器芯片的数据存储方法,如图2所示,包括如下步骤:cpu模块通过升级端口30接收外部数据,并将所述数据输出至加密生成模块。所述加密生成模块获取芯片id模块输出的id码,并利用所述id码对接收到的所述cpu模块输出的数据进行加密,然后将加密后的数据输出至数据重整模块。所述数据重整模块将所述加密生成模块输出的加密后的数据进行重新排序,比如,将一个32位的低位到高位的字节为data0+data2+data1+data3的数据进行拆分,把data0和data1作为一个数组按低位到高位排序,把data2和data3作为一个数组按低位到高位排序。然后,通过接口模块输出相关数据至非易失性存储芯片。所述非易失性存储芯片存储接收到的数据,把data0和data1存入一个spiflash存储器,把data2和data3存入另一个所述spiflash存储器。本实施例通过上述数据处理步骤,不仅能够实现大容量数据的存储,还可以对存入非易失性存储芯片的数据进行加密,保证数据存储的安全性。

一种基于上述处理器芯片的数据读取方法,如图3所示,包括如下步骤:非易失性存储芯片通过接口模块输出内部存储的数据至数据重整模块,比如一个spiflash存储器中存有从低位到高位排序的数据data0和data1,另一个所述spiflash存储器中存有从低位到高位排序的data2和data3,这些数据都传输至数据重整模块。所述数据重整模块将所述非易失性存储芯片输出的数据进行恢复排序,比如将data0、data1、data2和data3从低位到高位恢复排序成为原来的32位数据data0+data2+data1+data3,然后,将这些恢复排序的数据输出至异或模块。所述异或模块利用id码和所述数据重整模块输出的恢复排序后的数据进行异或运算,并输出解密后的数据至cpu模块。所述cpu模块接收并读取解密后的数据。本实施例通过上述数据处理步骤,不仅能够实现大容量数据的读取,还可以保证数据读取的有效性。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。该程序在执行时,执行包括上述各方法实施例的步骤。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1