非易失性存储器加密的方法和装置以及非易失性存储器的制造方法

文档序号:6490426阅读:137来源:国知局
非易失性存储器加密的方法和装置以及非易失性存储器的制造方法
【专利摘要】本发明提供了一种非易失性存储器加密的方法和装置以及非易失性存储器,所述非易失性存储器与控制器通过地址线相连,控制器发送逻辑地址访问非易失性存储器中的编程字,所述编程字在非易失性存储器的实际存储顺序为物理地址,逻辑地址和物理地址通过地址线形成一一对应关系,所述方法包括:对所述逻辑地址和物理地址的一一对应关系进行扰乱;和/或,对所述编程字的数据位进行扰乱。本发明可以结合现有的保护手段,进一步保障客户存储器内容的安全性。
【专利说明】非易失性存储器加密的方法和装置以及非易失性存储器
【技术领域】
[0001]本发明涉及半导体存储器【技术领域】,特别是涉及一种非易失性存储器密的方法,一种非易失性存储器加密的装置,以及,一种非易失性存储器。
【背景技术】
[0002]Flash非易失性存储器,具有寿命长,非易失性,即在断电情况下仍能长久保存信息不丢失等优点,在各种电子产品中有着广泛的应用。当某些敏感数据或代码放到Flash中时,客户担心会有被复制或破解的可能,虽然目前有芯片有读出保护措施,可以防止用仿真器或软件读出,但还是不能有效阻止一些非常规的反向技术。
[0003]因此,本领域技术人员迫切需要解决的技术问题之一在于:提出一种非易失性存储加密的方法及装置,用以结合现有的保护手段,进一步保障客户存储器内容的安全性。

【发明内容】

[0004]本发明所要解决的技术问题是提供一种非易失性存储器加密的方法,一种非易失性存储器加密的装置,以及,一种非易失性存储器。
[0005]为了解决上述问题,本发明公开了一种非易失性存储器加密的方法,所述非易失性存储器与控制器通过地址线相连,控制器发送逻辑地址访问非易失性存储器中的编程字,所述编程字在非易失性存储器的实际存储顺序为物理地址,逻辑地址和物理地址通过地址线形成一一对应关系,所述方法包括:
[0006]对所述逻辑地址和物理地址的一一对应关系进行扰乱;
[0007]和/ 或,
[0008]对所述编程字的数据位进行扰乱。
[0009]优选地,所述对逻辑地址和物理地址的一一对应关系进行扰乱的步骤包括:
[0010]获取所述地址线;
[0011]重新排列控制器和非易失性存储器之间的地址线。
[0012]优选地,所述对编程字的数据位进行扰乱的步骤包括:
[0013]获取所述编程字的数据位;
[0014]重新排列所述编程字的数据位。
[0015]优选地,所述对逻辑地址和物理地址的一一对应关系进行扰乱具有M种处理方式,所述M种处理方式形成地址编号;所述非易失性存储器包括芯片编号,所述对逻辑地址和物理地址的一一对应关系进行扰乱的步骤还包括:
[0016]获取所述非易失性存储器的逻辑地址;
[0017]将所述芯片编号与逻辑地址进行异或处理,获得异或结果;
[0018]依据所述异或结果查找对应的地址编号,采用所述地址编号对应的处理方式对所述逻辑地址和物理地址的一一对应关系进行扰乱。
[0019]优选地,所述对编程字的数据位进行扰乱具有N种处理方式,所述N种处理方式形成字编号;所述对编程字的数据位进行扰乱的步骤还包括:
[0020]获取所述非易失性存储器的物理地址;
[0021]将所述芯片编号与物理地址进行异或处理,获得异或结果;
[0022]依据所述异或结果查找对应的字编号,采用所述字编号对应的处理方式对所述编程字的数据位进行扰乱。
[0023]本发明实施例还公开了一种非易失性存储器加密的装置,所述非易失性存储器与控制器通过地址线相连,控制器发送逻辑地址访问非易失性存储器中的编程字,所述编程字在非易失性存储器的实际存储顺序为物理地址,逻辑地址和物理地址通过地址线形成一一对应关系,所述装置包括:
[0024]地址扰乱模块,用于对所述逻辑地址和物理地址的一一对应关系进行扰乱;
[0025]和/ 或,
[0026]编程字扰乱模块,用于对所述编程字的数据位进行扰乱。
[0027]优选地,所述地址扰乱模块包括:
[0028]地址线获取子模块,用于获取所述地址线;
[0029]地址线重新排列模块,用于重新排列控制器和非易失性存储器之间的地址线。
[0030]优选地,所述编程字扰乱模块包括:
[0031]编程字获取子模块,用于获取所述编程字的数据位;
[0032]编程字重新排列模块,用于重新排列所述编程字的数据位。
[0033]优选地,所述对逻辑地址和物理地址的一一对应关系进行扰乱具有M种处理方式,所述M种处理方式形成地址编号;所述非易失性存储器包括芯片编号,所述地址扰乱模块还包括:
[0034]逻辑地址获取子模块,用于获取所述非易失性存储器的逻辑地址;
[0035]第一异或处理子模块,用于将所述芯片编号与逻辑地址进行异或处理,获得异或结果;
[0036]地址编号查找模块,用于依据所述异或结果查找对应的地址编号,采用所述地址编号对应的处理方式对所述逻辑地址和物理地址的一一对应关系进行扰乱。
[0037]优选地,所述对编程字的数据位进行扰乱具有N种处理方式,所述N种处理方式形成字编号;所述编程字扰乱模块还包括:
[0038]物理地址获取子模块,用于获取所述非易失性存储器的物理地址;
[0039]第二异或处理子模块,用于将所述芯片编号与物理地址进行异或处理,获得异或结果;
[0040]字编号查找模块,用于依据所述异或结果查找对应的字编号,采用所述字编号对应的处理方式对所述编程字的数据位进行扰乱。
[0041]本发明实施例还公开了一种非易失性存储器,所述非易失性存储器与控制器通过地址线相连,控制器发送逻辑地址访问非易失性存储器中的编程字,所述编程字在非易失性存储器的实际存储顺序为物理地址,逻辑地址和物理地址通过地址线形成一一对应关系,所述非易失性存储器包括:
[0042]地址扰乱模块,用于对所述逻辑地址和物理地址的一一对应关系进行扰乱;
[0043]和/ 或,[0044]编程字扰乱模块,用于对所述编程字的数据位进行扰乱。
[0045]与现有技术相比,本发明包括以下优点:
[0046]通过对非易失性存储器的逻辑地址和物理地址的一一对应关系进行扰乱,以及,对非易失性存储器的编程字的数据位进行扰乱,不会改变非易失性存储器的擦除状态,只改变有信息的字,而没有编程过的字,可以不需要重新擦除,仍然可以编程,同样也能达到保护内容的目的。当有人反向读取存储器时,可以读到存储器中的比特数据,但得到的只是高度随机化的‘0’和‘I’数据,无法反向读取客户内容。这样通过简单的方式对非易失性存储器的内容进行加密,即可达到保护客户存储器内容的目的。
【专利附图】

【附图说明】
[0047]图1是本发明的一种非易失性存储器加密的方法实施例的步骤流程图;
[0048]图2是本发明的重新排列前控制器与非易失性存储器之间地址线的示意图;
[0049]图3是本发明的重新排列后控制器与非易失性存储器之间地址线的示意图;
[0050]图4是本发明的一种非易失性存储器加密的装置实施例的结构框图;
[0051]图5是本发明的一种非易失性存储器实施例的结构框图。
【具体实施方式】
[0052]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0053]本发明实施例的核心构思之一在于,通过对非易失性存储器的逻辑地址和物理地址的一一对应关系进行扰乱,以及,对非易失性存储器的编程字的数据位进行扰乱,且不会改变非易失性存储器的擦除状态,只改变有信息的字,而没有编程过的字,可以不需要重新擦除,仍然可以编程,同样也能达到保护客户内容的目的。当有人反向读取存储器时,可以读到存储器中的比特数据,但得到的只是高度随机化的‘0’和‘I’数据,无法反向读取客户内容。这样通过简单的方式对非易失性存储器的内容进行加密,即可达到保护客户存储器内容的目的。
[0054]参照图1,示出了本发明的一种非易失性存储器加密的方法实施例的步骤流程图,所述非易失性存储器与控制器可以通过地址线相连,控制器发送逻辑地址访问非易失性存储器中的编程字,所述编程字在非易失性存储器的实际存储顺序为物理地址,逻辑地址和物理地址通过地址线形成一一对应关系,所述方法可以包括:
[0055]步骤101,对所述逻辑地址和物理地址的一一对应关系进行扰乱;
[0056]在具体实现中,非易失性存储器与控制器可以通过地址线相连,逻辑地址是处理器或者其他设备通过控制器访问非易失性存储器中的编程字的逻辑存储顺序,物理地址则是指编程字在非易失性存储器中实际的存储顺序。其中,编程字是指控制器支持的最小字字长,比如,可以是64bit,32bit,16bit,8bit等。在没有对逻辑地址和物理地址的——对应关系进行扰乱前,逻辑地址和物理地址是相同的。
[0057]在本发明的一种优选实施例中,所述步骤101可以包括如下步骤:
[0058]子步骤SI I,获取所述地址线;
[0059]子步骤S 12,重新排列控制器和非易失性存储器之间的地址线。[0060]由于逻辑地址和物理地址是一一对应关系,如果没有重新排列(交换或映射)控制器和非易失性存储器之间的地址线,那么逻辑地址和物理地址是相同的,通过地址线的交换或映射,将block地址和block内的编程字地址进行扰乱,这样编程字在非易失性存储器的物理位置就跟逻辑地址完全不同了。例如,经过扰乱后,逻辑地址是第O块偏移为32的某个编程字,它的物理地址可能是第10块偏移为18。
[0061]参照图2,所示为本发明的重新排列前控制器与非易失性存储器之间地址线的示意图,在地址线交换或映射前,逻辑地址和物理地址是相同的,参照图3,所示为本发明的重新排列后控制器与非易失性存储器之间地址线的示意图,地址线A3映射到地址线A4,地址线A4映射到地址线A3,那么,用户在在控制器上读到的逻辑地址为XXXXXXXXXXX01XXX( 二进制),实际上读到的是在非易失性存储器的物理地址为xxxxxxxxxxxlOxxx的内容。在地址线交换或映射后,可以通过交换或映射关系由逻辑地址得到物理地址,或者由物理地址得到逻辑地址。
[0062]在本发明的一种优选实施例中,所述对逻辑地址和物理地址的一一对应关系进行扰乱具有M种处理方式,所述M种处理方式形成地址编号;所述非易失性存储器包括芯片编号,所述步骤101还包括:
[0063]获取所述非易失性存储器的逻辑地址;
[0064]将所述芯片编号与逻辑地址进行异或处理,获得异或结果;
[0065]依据所述异或结果查找对应的地址编号,采用所述地址编号对应的处理方式对所述逻辑地址和物理地址的一一对应关系进行扰乱。
[0066]在具体实现中,一般的存储器会有自己独特的芯片编号,以区别于其他存储器。可以利用芯片编号(CHID ID)中的某些比特位来进行加密,比如可以用CHIP ID的某些位来选择对所述逻辑地址和物理地址的一一对应关系进行扰乱的处理方式,这样每个存储器地址加密的方法都不尽相同,增加了安全性。
[0067]步骤102,对所述编程字的数据位进行扰乱。
[0068]在本发明的一种优选实施例中,所述步骤102可以包括如下步骤:
[0069]子步骤S21,获取所述编程字的数据位;
[0070]子步骤S22,重新排列所述编程字的数据位。
[0071]在具体实现中,在对所述逻辑地址和物理地址的一一对应关系进行扰后,可以更进一步,对编程字的数据位进行扰乱。对于编程字的数据位可以通过循环移位来实现扰乱,假设编程字的数据位为8位,可以移动其0-7位。例如0x01,左移I位,变成0x02,左移2
位,变成0x04......,也可以通过交换数据位来实现扰乱,比如Obit的数据位和4bit的数
据位互换,Ibit和5bit的数据位互换......,实际上就是对数据位进行重新排列。例如,
逻辑地址是第O块偏移为32的某个编程字0x12345678,这个编程字在物理地址是第10块偏移为18的值为0x87654321,而由于逻辑地址不同,另一个逻辑地址为0x12345678的值,在实际物理地址却存成0x13572468。就像一篇文章,第3行3列的字,被放到5行4列,而编程字的数据位扰乱则好比文章中字的编码发生改变,比如‘千’映射成‘亿’,这样一篇文章,字顺序完全乱了,字也全是别字。那么就很难还原文章的真实内容,从而达到加密的目的。
[0072]在本发明的一种优选实施例中,所述对编程字的数据位进行扰乱具有N种处理方式,所述N种处理方式形成字编号;所述步骤102还可以包括如下步骤:
[0073]获取所述非易失性存储器的物理地址;
[0074]将所述芯片编号与物理地址进行异或处理,获得异或结果;
[0075]依据所述异或结果查找对应的字编号,采用所述字编号对应的处理方式对所述编程字的数据位进行扰乱。
[0076]在具体实现中,可以利用芯片编号(CHID ID)中的比特位来进行加密,可以选一些位用来选择对编程字数据位进行扰乱的处理方式。这样每个存储器编程字加密的方法都不尽相同,进一步增加了安全性。
[0077]需要说明的是,存储器进行写操作之前需要进行按块的擦除操作,信息比特‘0’到‘I’,不能直接编程,需要擦除命令,而‘I’到‘0’可以直接编程。根据这一特性,在控制器增加一些简单的逻辑即可实现存储器内容的加密,增加存储器的安全性,并且对存储器的使用没有影响,因为不会改变编程字全为I的内容,比如16比特的111111111111,编程字地址线的交换或映射,只会改变编程字在存储器中物理地址,不改变内容,而编程字内数据位的扰乱,对于是全I的编程字来说,扰乱后还是全I,不会有改变,所以该编程字还是保持擦除可编程状态。
[0078]为了使本领域技术人员进一步了解本发明实施例,下面通过一个具体的示例来说明对编程字的数据位进行扰乱。
[0079]以Sbit编程字为例,可以通过循环移位来实现编程字扰乱,可以移动0-7位,
0x01,左移I位,变成0x02,左移2位,变成0x04......,也可以交换的办法,比如Obit和
4bit互换,Ibit和5bit互·换...,这样对数据位进行重新排列,一共有8 ! = 40320种处理方式,在实际中,为简单起见,可以选其中几种,比如8种,然后可以根据物理地址的低3bit去选择哪种编程字扰乱方法。
[0080]结合CHID ID可以用来改变8bit编程字扰乱方法和物理地址的对应关系,例如可以选取CHID ID的其中3bit用来参与编程字的数据位的扰乱加密,与物理地址异或来生成扰乱方法的字编号。
[0081]假设A存储器的某3bit为000,则
[0082]低3bit物理地址000------>数据位扰乱方法000 (O);
[0083]低3bit物理地址001------>数据位扰乱方法001 (I);
[0084]低3bit物理地址010------>数据位扰乱方法010 (2);
[0085]低3bit物理地址111------>数据位扰乱方法111 (7);
[0086]B存储器的某3bit为101,则
[0087]低3bit物理地址000------>数据位扰乱方法101 (5);
[0088]低3bit物理地址001------>数据位扰乱方法100 (4);
[0089]低3bit物理地址010------>数据位扰乱方法111 (7);
[0090]低3bit物理地址111------>数据位扰乱方法010 (2)。
[0091]如果没有CHID ID或其他存储器(除要加密的存储器外),也可以采用固定的方法加密,也即是A存储器本身设定的编程字数据位的扰乱的处理方式。
[0092]需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0093]参照图4,示出了本发明的一种非易失性存储器加密的装置的实施例结构框图,所述非易失性存储器与控制器通过地址线相连,控制器发送逻辑地址访问非易失性存储器中的编程字,所述编程字在非易失性存储器的实际存储顺序为物理地址,逻辑地址和物理地址通过地址线形成一一对应关系,所述装置包括:
[0094]地址扰乱模块201,用于对所述逻辑地址和物理地址的一一对应关系进行扰乱;
[0095]在本发明的一种优选实施例中,所述地址扰乱模块201包括:
[0096]地址线获取子模块,用于获取所述地址线;
[0097]地址线重新排列模块,用于重新排列控制器和非易失性存储器之间的地址线。
[0098]在本发明的一种优选实施例中,所述对逻辑地址和物理地址的一一对应关系进行扰乱具有M种处理方式,所述M种处理方式形成地址编号;所述非易失性存储器包括芯片编号,所述地址扰乱模块201还包括:
[0099]逻辑地址获取子模块,用于获取所述非易失性存储器的逻辑地址;
[0100]第一异或处理子模块,用于将所述芯片编号与逻辑地址进行异或处理,获得异或结果;
[0101]编程字扰乱模块202,用于对所述编程字的数据位进行扰乱。
[0102]在本发明的一种优选实施例中,所述对编程字扰乱模块202包括:
[0103]编程字获取子模块,用于获取所述编程字的数据位;
[0104]编程字重新排列模块,用于重新排列所述编程字的数据位。
[0105]地址编号查找模块,用于依据所述异或结果查找对应的地址编号,采用所述地址编号对应的处理方式对所述逻辑地址和物理地址的一一对应关系进行扰乱。
[0106]在本发明的一种优选实施例中,所述对编程字的数据位进行扰乱具有N种处理方式,所述N种处理方式形成字编号;所述编程字扰乱模块202还包括:
[0107]物理地址获取子模块,用于获取所述非易失性存储器的物理地址;
[0108]第二异或处理子模块,用于将所述芯片编号与物理地址进行异或处理,获得异或结果;
[0109]字编号查找模块,用于依据所述异或结果查找对应的字编号,采用所述字编号对应的处理方式对所述编程字的数据位进行扰乱。
[0110]对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0111]参照图5,示出了本发明的一种非易失性存储器实施例的结构框图,所述非易失性存储器与控制器通过地址线相连,控制器发送逻辑地址访问非易失性存储器中的编程字,所述编程字在非易失性存储器的实际存储顺序为物理地址,逻辑地址和物理地址通过地址线形成一一对应关系,所述非易失性存储器包括:
[0112]地址扰乱模块301,用于对所述逻辑地址和物理地址的一一对应关系进行扰乱;
[0113]在本发明的一种优选实施例中,所述地址扰乱模块301包括:
[0114]地址线获取子模块,用于获取所述地址线;[0115]地址线重新排列模块,用于重新排列控制器和非易失性存储器之间的地址线。
[0116]在本发明的一种优选实施例中,所述对逻辑地址和物理地址的一一对应关系进行扰乱具有M种处理方式,所述M种处理方式形成地址编号;所述非易失性存储器包括芯片编号,所述地址扰乱模块301还包括:
[0117]逻辑地址获取子模块,用于获取所述非易失性存储器的逻辑地址;
[0118]第一异或处理子模块,用于将所述芯片编号与逻辑地址进行异或处理,获得异或结果;
[0119]编程字扰乱模块302,用于对所述编程字的数据位进行扰乱。
[0120]在本发明的一种优选实施例中,所述对编程字扰乱模块302包括:
[0121]编程字获取子模块,用于获取所述编程字的数据位;
[0122]编程字重新排列模块,用于重新排列所述编程字的数据位。
[0123]地址编号查找模块,用于依据所述异或结果查找对应的地址编号,采用所述地址编号对应的处理方式对所述逻辑地址和物理地址的一一对应关系进行扰乱。
[0124]在本发明的一种优选实施例中,所述对编程字的数据位进行扰乱具有N种处理方式,所述N种处理方式形成字编号;所述编程字扰乱模块302还包括:
[0125]物理地址获取子模块,用于获取所述非易失性存储器的物理地址;
[0126]第二异或处理子模块,用于将所述芯片编号与物理地址进行异或处理,获得异或结果;
[0127]字编号查找模块,用于依据所述异或结果查找对应的字编号,采用所述字编号对应的处理方式对所述编程字的数据位进行扰乱。
[0128]对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0129]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0130]本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0131]本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0132]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0133]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0134]尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0135]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或
者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,
并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0136]以上对本发明所提供的一种非易失性存储器加密的方法,一种非易失性存储器加密的装置,以及,一种非易失性存储器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种非易失性存储器加密的方法,其特征在于,所述非易失性存储器与控制器通过地址线相连,控制器发送逻辑地址访问非易失性存储器中的编程字,所述编程字在非易失性存储器的实际存储顺序为物理地址,逻辑地址和物理地址通过地址线形成一一对应关系,所述方法包括: 对所述逻辑地址和物理地址的一一对应关系进行扰乱; 和/或, 对所述编程字的数据位进行扰乱。
2.根据权利要求1所述的方法,其特征在于,所述对逻辑地址和物理地址的一一对应关系进行扰乱的步骤包括: 获取所述地址线; 重新排列控制器和非易失性存储器之间的地址线。
3.根据权利要求1所述的方法,其特征在于,所述对编程字的数据位进行扰乱的步骤包括: 获取所述编程字的数据位; 重新排列所述编程字的数据位。
4.根据权利要求1或2或3所述的方法,其特征在于,所述对逻辑地址和物理地址的一一对应关系进行扰乱具有M种处理方式,所述M种处理方式形成地址编号;所述非易失性存储器包括芯片编号,所述对逻辑地址和物理地址的一一对应关系进行扰乱的步骤还包括:` 获取所述非易失性存储器的逻辑地址; 将所述芯片编号与逻辑地址进行异或处理,获得异或结果; 依据所述异或结果查找对应的地址编号,采用所述地址编号对应的处理方式对所述逻辑地址和物理地址的一一对应关系进行扰乱。
5.根据权利要求4所述的方法,其特征在于,所述对编程字的数据位进行扰乱具有N种处理方式,所述N种处理方式形成字编号;所述对编程字的数据位进行扰乱的步骤还包括: 获取所述非易失性存储器的物理地址; 将所述芯片编号与物理地址进行异或处理,获得异或结果; 依据所述异或结果查找对应的字编号,采用所述字编号对应的处理方式对所述编程字的数据位进行扰乱。
6.一种非易失性存储器加密的装置,其特征在于,所述非易失性存储器与控制器通过地址线相连,控制器发送逻辑地址访问非易失性存储器中的编程字,所述编程字在非易失性存储器的实际存储顺序为物理地址,逻辑地址和物理地址通过地址线形成一一对应关系,所述装置包括: 地址扰乱模块,用于对所述逻辑地址和物理地址的一一对应关系进行扰乱; 和/或, 编程字扰乱模块,用于对所述编程字的数据位进行扰乱。
7.根据权利要求6所述的装置,其特征在于,所述地址扰乱模块包括: 地址线获取子模块,用于获取所述地址线; 地址线重新排列模块,用于重新排列控制器和非易失性存储器之间的地址线。
8.根据权利要求6所述的装置,其特征在于,所述编程字扰乱模块包括: 编程字获取子模块,用于获取所述编程字的数据位; 编程字重新排列模块,用于重新排列所述编程字的数据位。
9.根据权利要求6或7或8所述的装置,其特征在于,所述对逻辑地址和物理地址的一一对应关系进行扰乱具有M种处理方式,所述M种处理方式形成地址编号;所述非易失性存储器包括芯片编号,所述地址扰乱模块还包括: 逻辑地址获取子模块,用于获取所述非易失性存储器的逻辑地址; 第一异或处理子模块,用于将所述芯片编号与逻辑地址进行异或处理,获得异或结果; 地址编号查找模块,用于依据所述异或结果查找对应的地址编号,采用所述地址编号对应的处理方式对所述逻辑地址和物理地址的一一对应关系进行扰乱。
10.根据权利要求9所述的装置,其特征在于,所述对编程字的数据位进行扰乱具有N种处理方式,所述N种处理方式形成字编号;所述编程字扰乱模块还包括: 物理地址获取子模块,用于获取所述非易失性存储器的物理地址; 第二异或处理子模块,用于将所述芯片编号与物理地址进行异或处理,获得异或结果;` 字编号查找模块,用于依据所述异或结果查找对应的字编号,采用所述字编号对应的处理方式对所述编程字的数据位进行扰乱。
11.一种非易失性存储器,其特征在于,所述非易失性存储器与控制器通过地址线相连,控制器发送逻辑地址访问非易失性存储器中的编程字,所述编程字在非易失性存储器的实际存储顺序为物理地址,逻辑地址和物理地址通过地址线形成一一对应关系,所述非易失性存储器包括: 地址扰乱模块,用于对所述逻辑地址和物理地址的一一对应关系进行扰乱; 和/或, 编程字扰乱模块,用于对所述编程字的数据位进行扰乱。
【文档编号】G06F12/14GK103793333SQ201210426323
【公开日】2014年5月14日 申请日期:2012年10月30日 优先权日:2012年10月30日
【发明者】王景华, 王南飞 申请人:北京兆易创新科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1