CN103631732B - 非易失存储器及电子设备 - Google Patents

非易失存储器及电子设备 Download PDF

Info

Publication number
CN103631732B
CN103631732B CN201310613032.4A CN201310613032A CN103631732B CN 103631732 B CN103631732 B CN 103631732B CN 201310613032 A CN201310613032 A CN 201310613032A CN 103631732 B CN103631732 B CN 103631732B
Authority
CN
China
Prior art keywords
individual
subsignal
decoder
signal
interchanger
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.)
Active
Application number
CN201310613032.4A
Other languages
English (en)
Other versions
CN103631732A (zh
Inventor
李延松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310613032.4A priority Critical patent/CN103631732B/zh
Publication of CN103631732A publication Critical patent/CN103631732A/zh
Priority to PCT/CN2014/076595 priority patent/WO2015078141A1/zh
Priority to EP14784396.5A priority patent/EP2899639B1/en
Priority to US14/559,177 priority patent/US9424442B2/en
Application granted granted Critical
Publication of CN103631732B publication Critical patent/CN103631732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2024Rewritable memory not requiring erasing, e.g. resistive or ferroelectric RAM

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Read Only Memory (AREA)

Abstract

本发明实施例公开了一种非易失存储器及电子设备,所述非易失存储器在每次上电时,使用交换器将bank译码器和/或bank中的行译码器和/或bank中的列译码器中的至少1个地址子信号与其反相信号进行随机互换,从而使得非易失存储器下电前存储的数据在非易失存储器下电后再上电时被打乱,存储至非易失存储器的数据无法按照原来的存储地址顺序读取,达到加密效果,提高非易失存储器中所存储数据的安全性。

Description

非易失存储器及电子设备
技术领域
本发明涉及数据加密技术,尤其涉及非易失存储器及电子设备。
背景技术
非易失存储器具有掉电之后信息不会丢失的非易失性特点,但是,将非易失存储器应用于某些对安全性要求较高的场景时,掉电后的非易失存储器中存储的信息会存在泄露的风险。
以非易失存储器中的相变存储器为例。相变存储器是一种通过相变材料的不同状态来保存信息的非易失存储器。当相变材料处于晶态时电阻较小,处于非晶态时电阻较大,通过检测相变材料的电阻可以读出对应的数据。相变存储器与现有的闪存相比,具有读写速度快、耐磨损、功耗低、集成度高等优点,目前有望逐步取代闪存,今后将可能替代动态随机存储器(DRAM,Dynamic Random Access Memory)作为电子设备内存使用。在相变存储器作为电子设备内存使用时,尽管可以对传输的原始数据先加密再发送,或者将原始数据加密后再保存到硬盘中,但是当电子设备中的应用程序使用这些加密后的数据时,一般都会先解密得到原始数据并保存到内存里,以便今后重复使用所述原始数据时提高效率,也就是说内存里面的数据是原始数据,是明文。当电子设备下电之后,如果有人将作为内存条的相变存储器拔出并安装到自己的计算机上,使用软件工具读取并分析相变存储器中的数据,就可以获取到存储至相变存储器的原始数据,而所述原始数据可能包括用户的敏感信息等需要保密的信息,从而导致存储至相变存储器中的数据的安全性较差。
基于以上可知,由于非易失存储器的非易失性特点,非易失存储器中所存储数据的安全性差。
发明内容
本发明实施例中提供了一种非易失存储器及电子设备,能够对存储至非易失存储器中的数据进行加密,提高非易失存储器中所存储数据的安全性。
第一方面,提供一种非易失存储器,所述非易失存储器包括bank译码器、以及至少两个存储体bank,所述bank包括存储阵列、存储阵列的行译码器和存储阵列的列译码器,所述非易失存储器还包括:随机数发生器、设置于bank译码器的第一信号生成器与第一译码器之间的n1个第一交换器,一个所述第一交换器对应所述bank译码器的一个bank地址子信号;其中,
所述随机数发生器,用于在非易失存储器上电时,分别为各个第一交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第一交换器;
所述bank译码器的第i1个第一交换器,用于接收与所述第i1个第一交换器对应的第i2个bank地址子信号以及所述第i2个bank地址子信号的反相信号;当接收到的选择信号为第一信号时,将所述第i2个bank地址子信号作为所述第i2个bank地址子信号输出至第一译码器,将所述第i2个bank地址子信号的反相信号作为所述第i2个bank地址子信号的反相信号输出至第一译码器;当接收到的选择信号为第二信号时,将所述第i2个bank地址子信号的反相信号作为所述第i2个bank地址子信号输出至第一译码器,将所述第i2个bank地址子信号作为所述第i2个bank地址子信号的反相信号输出至第一译码器;1≤i1≤n1;1≤i2≤m1,1≤n1≤m1,m1是bank地址子信号的总个数。
结合第一方面,在第一方面第一种实现方式中,至少一个bank还包括:设置于行译码器的第二信号生成器与第二译码器之间的n2个第二交换器,一个第二交换器对应行译码器的一个行地址子信号;其中,
所述随机数发生器还用于:在非易失存储器上电时,分别为各个第二交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第二交换器;
每个bank的第j1个第二交换器,用于接收与所述第j1个第二交换器对应的第j2个行地址子信号以及所述第j2个行地址子信号的反相信号;当接收到的选择信号为第三信号时,将所述第j2个行地址子信号作为所述第j2个行地址子信号输出至第二译码器,将所述第j2个行地址子信号的反相信号作为所述第j2个行地址子信号的反相信号输出至第二译码器;当接收到的选择信号为第四信号时,将所述第j2个行地址子信号的反相信号作为所述第j2个行地址子信号输出至第二译码器,将所述第j2个行地址子信号作为所述第j2个行地址子信号的反相信号输出至第二译码器;1≤j1≤n2;1≤j2≤m2,1≤n2≤m2,m2是所述第j1个第二交换器所属行译码器的行地址子信号的总个数。
结合第一方面,在第一方面第二种实现方式中,至少一个bank还包括:设置于列译码器的第三信号生成器与第三译码器之间的n3个第三交换器,一个第三交换器对应列译码器的一个列地址子信号;其中,
所述随机数发生器还用于:在非易失存储器上电时,分别为各个第三交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第三交换器;
每个bank的第k1个第三交换器,用于接收所述第k1个第三交换器对应的第k2个列地址子信号以及所述第k2个列地址子信号的反相信号;当接收到的选择信号为第五信号时,将所述第k2个列地址子信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;当接收到的选择信号为第六信号时,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;1≤k1≤n3,1≤k2≤m3,1≤n3≤m3,m3是所述第k1个第三交换器所属列译码器的列地址子信号的总个数。
结合第一方面第一种实现方式,在第一方面第三种实现方式中,至少一个bank还包括:设置于列译码器的第三信号生成器与第三译码器之间的n3个第三交换器,一个第三交换器对应列译码器的一个列地址子信号;其中,
所述随机数发生器还用于:在非易失存储器上电时,分别为各个第三交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第三交换器;
每个bank的第k1个所述第三交换器,用于接收所述第k1个第三交换器对应的第k2个列地址子信号以及所述第k2个列地址子信号的反相信号;当接收到的选择信号为第五信号时,将所述第k2个列地址子信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;当接收到的选择信号为第六信号时,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;1≤k1≤n3,1≤k2≤m3,1≤n3≤m3,m3是所述第k1个第三交换器所属列译码器的列地址子信号的总个数。
结合第一方面,在第一方面第四种实现方式中,所述随机数发生器包括:至少n1位的线性反馈移位寄存器,所述线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为所述线性反馈移位寄存器的移位输入信号;
所述n1个第一交换器分别与所述线性反馈移位寄存器的一个比特位对应,将对应比特位作为所述随机数发生器发送的选择信号。
结合第一方面第一种实现方式,在第一方面第五种实现方式中,所述随机数发生器包括:具有至少N1个比特位的线性反馈移位寄存器,所述线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为所述线性反馈移位寄存器的移位输入信号;N1是非易失存储器中包括的第一交换器以及第二交换器的总个数;
每个所述第一交换器和每个所述第二交换器分别与所述线性反馈移位寄存器的一个比特位对应,将对应比特位作为所述随机数发生器发送的选择信号。
结合第一方面第二种实现方式,在第一方面第六种实现方式中,所述随机数发生器包括:具有至少N2个比特位的线性反馈移位寄存器,所述线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为所述线性反馈移位寄存器的移位输入信号;N2是非易失存储器中包括的第一变换器和第三变换器的总个数;
每个所述第一交换器和每个所述第三交换器分别与所述线性反馈移位寄存器的一个比特位对应,将对应比特位作为所述随机数发生器发送的选择信号。
结合第一方面第三种实现方式,在第一方面第七种实现方式中,所述随机数发生器包括:具有至少N3个比特位的线性反馈移位寄存器,所述线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为所述线性反馈移位寄存器的移位输入信号;N3是非易失存储器中包括的第一变换器、第二变换器和第三变换器的总个数;
每个所述第一交换器、每个所述第二交换器和每个所述第三交换器分别与所述线性反馈移位寄存器的一个比特位对应,将对应比特位作为所述随机数发生器发送的选择信号。
第二方面,提供一种非易失存储器,所述非易失存储器包括至少一个存储体bank,每个所述bank包括存储阵列、存储阵列的行译码器和存储阵列的列译码器,还包括:随机数发生器,至少一个所述bank还包括:设置于行译码器的第二信号生成器与第二译码器之间的n2个第二交换器,一个第二交换器对应行译码器的一个行地址子信号;其中,
所述随机数发生器,用于在非易失存储器上电时,分别为各个第二交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第二交换器;
每个bank的第j1个第二交换器,用于接收所述第j1个第二交换器对应的第j2个行地址子信号以及所述第j2个行地址子信号的反相信号;当接收到的选择信号为第三信号时,将所述第j2个行地址子信号作为所述第j2个行地址子信号输出至第二译码器,将所述第j2个行地址子信号的反相信号作为所述第j2个行地址子信号的反相信号输出至第二译码器;当接收到的选择信号为第四信号时,将所述第j2个行地址子信号的反相信号作为所述第j2个行地址子信号输出至第二译码器,将所述第j2个行地址子信号作为所述第j2个行地址子信号的反相信号输出至第二译码器;1≤j1≤n2;1≤j2≤m2,1≤n2≤m2,m2是所述第j1个第二交换器所属行译码器的行地址子信号的总个数。
结合第二方面,在第二方面第一种实现方式中,至少一个所述bank还包括:设置于列译码器的第三信号生成器与第三译码器之间的n3个第三交换器,一个第三交换器对应列译码器的一个列地址子信号;其中,
所述随机数发生器还用于:在非易失存储器上电时,分别为各个第三交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第三交换器;
每个bank的第k1个所述第三交换器,用于接收所述第k1个第三交换器对应的第k2个列地址子信号以及所述第k2个列地址子信号的反相信号;当接收到的选择信号为第五信号时,将所述第k2个列地址子信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;当接收到的选择信号为第六信号时,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;1≤k1≤n3,1≤k2≤m3,1≤n3≤m3,m3是所述第k1个第三交换器所属列译码器的列地址子信号的总个数。
结合第二方面,在第二方面第二种实现方式中,所述随机数发生器包括:具有至少N4个比特位的线性反馈移位寄存器,所述线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为所述线性反馈移位寄存器的移位输入信号;N4为非易失存储器包括的第二交换器的总个数;
每个所述第二交换器分别与所述线性反馈移位寄存器的一个比特位对应,将对应比特位作为所述随机数发生器发送的选择信号。
结合第二方面第一种实现方式,在第二方面第三种实现方式中,所述随机数发生器包括:具有至少N5个比特位的线性反馈移位寄存器,所述线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为所述线性反馈移位寄存器的移位输入信号;N5是非易失存储器包括的第二交换器和第三交换器的总个数;
每个所述第二交换器和每个所述第三交换器分别与所述线性反馈移位寄存器的一个比特位对应,将对应比特位作为所述随机数发生器发送的选择信号。
第三方面,提供一种非易失存储器,所述非易失存储器包括至少一个存储体bank,每个所述bank包括存储阵列、存储阵列的行译码器和存储阵列的列译码器,还包括:随机数发生器,至少一个所述bank还包括:设置于列译码器的第三信号生成器与第三译码器之间的n3个第三交换器,一个第三交换器对应列译码器的一个列地址子信号;其中,
所述随机数发生器,用于在非易失存储器上电时,分别为各个第三交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第三交换器;
每个bank的第k1个第三交换器,用于接收所述第k1个第三交换器对应的第k2个列地址子信号以及所述第k2个列地址子信号的反相信号;当接收到的选择信号为第五信号时,将所述第k2个列地址子信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;当接收到的选择信号为第六信号时,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;1≤k1≤n3,1≤k2≤m3,1≤n3≤m3,m3是所述第k1个第三交换器所属列译码器的列地址子信号的总个数。
结合第三方面,在第三方面第一种实现方式中,所述随机数发生器包括:具有至少N6个比特位的线性反馈移位寄存器,所述线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为所述线性反馈移位寄存器的移位输入信号;N6为非易失存储器中包括第三选择器的总个数;
每个所述第三交换器分别与所述线性反馈移位寄存器的一个比特位对应,将对应比特位作为所述随机数发生器发送的选择信号。
第四方面,提供一种电子设备,包括上述任一项所述的非易失存储器。
本实施例的非易失存储器包括bank译码器、以及至少两个存储体bank,所述bank包括存储阵列、存储阵列的行译码器和存储阵列的列译码器,其特征在于,所述非易失存储器还包括:随机数发生器、设置于bank译码器的第一信号生成器与第一译码器之间的n1个第一交换器,一个所述第一交换器对应所述bank译码器的一个bank地址子信号;其中,所述随机数发生器,用于在非易失存储器上电时,分别为各个第一交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第一交换器;所述bank译码器的第i1个第一交换器,用于接收与所述第i1个第一交换器对应的第i2个bank地址子信号以及所述第i2个bank地址子信号的反相信号;当接收到的选择信号为第一信号时,将所述第i2个bank地址子信号作为所述第i2个bank地址子信号输出至第一译码器,将所述第i2个bank地址子信号的反相信号作为所述第i2个bank地址子信号的反相信号输出至第一译码器;当接收到的选择信号为第二信号时,将所述第i2个bank地址子信号的反相信号作为所述第i2个bank地址子信号输出至第一译码器,将所述第i2个bank地址子信号作为所述第i2个bank地址子信号的反相信号输出至第一译码器;1≤i1≤n1;1≤i2≤m1,1≤n1≤m1,所述m1是bank地址子信号的总个数。从而本实施例中,随机数发生器在非易失存储器上电时产生选择信号,控制bank译码器中的各个第一变换器将对应的bank地址子信号及其反相信号保持不变或者互换,当非易失存储器下电后再上电时,由于随机数发生器产生选择信号的随机性,使得非易失存储器下电后再上电时与非易失存储器下电前相比,同样的bank地址子信号所对应的bank选通信号不同,从而使得非易失存储器下电前存储的数据在非易失存储器下电后再上电时被打乱,达到加密效果,使得存储至非易失存储器的数据无法按照原来的存储地址顺序读取,从而使得其他人即便使用软件工具直接读取非易失存储器中的存储数据时也无法获得原始数据,难以将非易失存储器中存储的数据恢复成原始数据,保证非易失存储器中存储数据的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术非易失存储器结构示意图;
图2为现有技术3-8线地址译码器结构示意图;
图2A为本发明实施例交换器结构示意图;
图2B为本发明实施例设置有交换器的3-8线地址译码器结构示意图;
图2C为本发明实施例伪随机序列发生器结构示意图;
图3为本发明非易失存储器第一实施例的实例结构图;
图3A为本发明非易失存储器第一实施例中随机数发生器实例结构图;
图4为本发明非易失存储器第二实施例的实例结构图;
图4A为本发明非易失存储器第二实施例中随机数发生器实例结构图;
图5为本发明非易失存储器第三实施例的实例结构图;
图5A为本发明非易失存储器第三实施例中随机数发生器实例结构图;
图6为本发明非易失存储器第四实施例的实例结构图;
图6A为本发明非易失存储器第四实施例中随机数发生器实例结构图;
图7为本发明非易失存储器第五实施例的一种结构图;
图7A为本发明非易失存储器第五实施例的另一种结构图。
具体实施方式
参见图1,为现有技术非易失存储器的结构示意图,其中,非易失存储器包括至少一个bank,bank译码器,每个bank包括存储阵列、存储阵列的行译码器和列译码器;在图1中仅示出了其中一个bank的结构,其他bank的结构与此相同,这里不赘述。其中,存储阵列是由大量的存储单元按行、列排成矩阵形式。每行存储单元有一个行选通信号,通过行选通信号每次选中一行存储单元;每列存储单元有一个列选通信号,通过列选通信号每次选中一列存储单元。存储阵列中写入或读出的数据都从位线上输入输出。
bank译码器,用于根据非易失存储器的控制器输入的bank地址信号产生bank选通信号,选通该bank地址信号指示的bank,以便进行该被选通的bank的读或写访问。一般的,非易失存储器包括至少两个bank时才会在非易失存储器中设置bank译码器,如果非易失存储器仅包括一个bank,则bank译码器可以省略。一般的bank地址至少由1位二进制代码构成,在根据bank地址产生bank地址信号时,每位二进制代码对应着一个地址子信号,因此bank地址信号包括二进制代码位数个地址子信号,例如bank地址BA[0:1]表示该bank地址包括2个地址子信号。后续的行地址信号和列地址信号与此类似,分别包括若干个行地址子信号和若干个列地址子信号。
每个bank的行译码器,用于根据非易失存储器的控制器输入的行地址信号产生行选通信号,从所属bank的存储阵列中选通所述行地址信号指示的一行存储单元来进行读或写访问。
每个bank的列译码器,用于根据非易失存储器的控制器输入的列地址信号产生列选通信号,从所属bank的存储阵列中选通所述列地址信号指示的一列存储单元来进行读或写访问。
通过bank译码器选中一个bank,通过行译码器和列译码器分别选中bank中存储阵列的一行和一列存储单元,就可以唯一选中某个bank中的某个存储单元,从而实现存储单元的选通,进而实现对存储单元的读、写访问等。
当然,如图1所示,在实际应用中每个bank还可以包括控制逻辑、写驱动器、感应放大器等其他结构,本发明实施例并不限制。该控制逻辑一般用于根据非易失存储器外部的器件例如非易失存储器的控制器提供的片选、读写信号来控制写驱动器对存储阵列进行写访问或者控制感应放大器对存储阵列进行读访问;该写驱动器一般用于将非易失存储器的控制器发送来的待写入的数据存储到被行译码器和列译码器选中的存储单元,具体的,可以根据待写入到存储单元的数据是0或1而产生对应波形的写脉冲信号发送至存储单元;该感应放大器一般用于读取被行译码器和列译码器选中的存储单元所存储的数据,将读取的数据信号放大后传输至非易失存储器的控制器。
其中,不管是bank译码器、行译码器、列译码器,都可以通过地址译码器来实现。
地址译码器是一种常见的数字逻辑电路,它可以根据输入信号的不同组合,在多个输出信号中选择一个置为有效电平,其他输出信号都无效。地址译码器的输出信号个数n与输入信号个数m之间的关系是:n=2m,m、n均为自然数。当bank译码器通过地址译码器实现时,bank地址信号作为地址译码器的输入信号,而地址译码器的输出信号作为bank选通信号。行译码器、列译码器与此类似,不再赘述。
以下介绍地址译码器的实现原理。这里,以3-8线地址译码器为例,该3-8线地址译码器由8个与门电路和3个反相器组成。其中,3个反相器中的每个反相器对应地址译码器的一个输入信号,用于为对应的输入信号生成反相信号,8个与门用于根据输入信号及其反相信号生成输出信号。其中,3-8线地址译码器有3个输入信号A2、A1和A0,8个输出信号Q7-Q0,假设输出高电平为有效电平,用1表示,输入信号和输出信号之间的逻辑关系如下:
Q0=/A2*/A1*/A0,A2A1A0=000时Q0为1,其他情况为0;
Q1=/A2*/A1*A0,A2A1A0=001时Q1为1,其他情况为0;
Q2=/A2*A1*/A0,A2A1A0=010时Q2为1,其他情况为0;
Q3=/A2*A1*A0,A2A1A0=011时Q3为1,其他情况为0;
Q4=A2*/A1*/A0,A2A1A0=100时Q4为1,其他情况为0;
Q5=A2*/A1*A0,A2A1A0=101时Q5为1,其他情况为0;
Q6=A2*A1*/A0,A2A1A0=110时Q6为1,其他情况为0;
Q7=A2*A1*A0,A2A1A0=111时Q7为1,其他情况为0;
其中,/A表示对A取反,例如A=0时/A=1,A=1时/A=0,*号表示逻辑与的运算。
从上面的表达式可以看出,三个输入信号对应于八个表达式,如果A2A1A0=000,则Q0=1,其他输出都是0,如果A2A1A0=001,则Q1=1,以此类推。
以上为3-8线地址译码器的电路和逻辑关系,其他地址译码器的实现原理与此相同,这里不赘述。并且,为了后续本发明实施例描述的简便,本发明实施例中将地址译码器划分为信号生成器和译码器两部分,其中,
信号生成器用于接收地址译码器的输入信号,输出所述地址译码器的输入信号及其反相信号至译码器;例如图2中3-8线地址译码器的210部分所示;
译码器用于根据地址译码器的输入信号及其反相信号生成地址译码器的输出信号,例如图2中3-8线地址译码器的220部分所示。
在上述现有技术的非易失存储器的实现结构的基础上,本发明提供的非易失存储器通过在其中增加随机数发生器以及变换器,实现了对存储至非易失存储器中的数据的加密,使得加密后的数据难以恢复成原始数据,从而提高了非易失存储器中存储数据的安全性。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下,首先对本发明实施例对非易失存储器中存储数据加密的原理进行说明。在该说明中,仍然以前述的3-8线地址译码器为例。假设3-8线地址译码器作为某一存储阵列的行译码器,则3-8线地址译码器的8个输出信号Q7-Q0可以作为行选通信号,如果行序号从0开始算起,那么:当A2A1A0=000时存储阵列的第0行被选中,当A2A1A0=001时存储阵列的第1行被选中;如果将Q0和Q1表达式中的A0、/A0对换,那么:当A2A1A0=000时,被选中的是存储阵列的第1行,而A2A1A0=001时被选中的是第0行,相当于第0行和第1行互换了。如果A2、A1、A0同时发生这种对换,那么表达式变为:
Q0=A2*A1*A0,A2A1A0=111时为1,其他情况为0
Q1=A2*A1*/A0,A2A1A0=110时为1,其他情况为0
Q2=A2*/A1*A0,A2A1A0=101时为1,其他情况为0
Q3=A2*/A1*/A0,A2A1A0=100时为1,其他情况为0
Q4=/A2*A1*A0,A2A1A0=011时为1,其他情况为0
Q5=/A2*A1*/A0,A2A1A0=010时为1,其他情况为0
Q6=/A2*/A1*A0,A2A1A0=001时为1,其他情况为0
Q7=/A2*/A1*/A0,A2A1A0=000时为1,其他情况为0
对比两组表达式可以看出,Q7与Q0互换了,Q6与Q1互换了,以此类推。由于Q7-Q0是行选通信号,这种互换的结果是:非易失存储器外部的器件例如控制器给出存储阵列第0行的地址,非易失存储器实际选中的是存储阵列第7行;控制器给出存储阵列第1行的地址,非易失存储器实际选中的是存储阵列第6行,以此类推。如果A与/A的这种互换是随机发生的,例如A2与/A2互换了,但A1与/A1没有互换等,而且每次上电时非易失存储器中bank地址、行地址、列地址的至少一种地址进行这种互换,那么该控制器向非易失存储器输出的数据被非易失存储器存储后,当非易失存储器下电后再上电时,由于随机数发生器产生选择信号的随机性,使得非易失存储器下电后再上电时与非易失存储器下电前相比,同样的bank地址子信号所对应的bank选通信号不同,从而使得非易失存储器下电前存储的数据在非易失存储器下电后再上电时被打乱,存储至非易失存储器的数据无法按照原来的存储地址顺序读取,达到加密效果。举例说明如下:
假设现有技术中的非易失存储器在下电前保存4个英语单词,分别位于存储阵列的1-4行,第一行是DATA,第二行是WORD,第三行是CODE,第四号是PRAM,则存储阵列中数据的存储位置关系如下表1所示:
表1
第一列 第二列 第三列 第四列
第一行 D A T A
第二行 W O R D
第三行 C O D E
第四行 P R A M
而本发明的非易失存储器在下电后再上电时如果将第一行与第四行互换,将第二行与第三行互换,变为下表2所示的存储位置关系:
表2
第一列 第二列 第三列 第四列
第一行 P R A M
第二行 C O D E
第三行 W O R D
第四行 D A T A
在表2的基础上,如果本发明的非易失存储器再将第一列与第四列互换,第二列与第三列互换,最终变为如下表3所示的存储位置关系:
表3
第一列 第二列 第三列 第四列
第一行 M A R P
第二行 E D O C
第三行 D R O W
第四行 A T A D
那么,如果有人希望直接读取非易失存储器的存储阵列中存储的数据时,依照存储阵列的地址顺序依次读出每一行的数据,分别为MARP、EDOC、DROW和ATAD,很难分析出非易失存储器中实际存储的是什么数据,从而非易失存储器达到了对存储数据进行加密的效果。尤其是常用的非易失存储器中一般都有至少一个bank,每个bank包括几千个行、列,对其中的部分或者全部bank和/或行和/或列进行互换,打乱所存储数据的存储位置和顺序,那么最终顺序读取非易失存储器中的数据时,读取出来的数据之间的相关性很低,恢复得到原始数据的难度非常大。这种加密方法只是修改了数据的存储位置和存储顺序,数据本身并没有变化,类似于洗牌。
下面再讨论如何用电路实现这种互换方式,仍然以图2所示的3-8线地址译码器为例来说明。3-8线地址译码器是一个组合逻辑电路,其实就是8个与门电路和3个反相器组成的,如图2所示。
为了实现A0与/A0、A1与/A1、A2与/A2之间的互换,可以采用如图2A所示的交换器结构。该交换器的实现原理以输入信号为A和/A为例来说明。如果交换器的输入信号是A、/A和sel,输出是L和/L,其中sel是选择信号,用来决定电路的逻辑功能;则,
当sel=0时,L=A,/L=/A,这是交换器的直通模式;
当sel=1时,L=/A,/L=A,这是交换器的互换模式;
如果sel是随机变化的,那么L和/L就会随机的等于A或/A了。
如图2B所示,将3个交换器设置于3-8线地址译码器的信号生成器和译码器之间,用L0替代A0,用/L0替代/A0,用L1替代A1,用/L1替代/A1,用L2替代A2,用/L2替代/A2,就可以实现A0与/A0、A1与/A1、A2与/A2之间的互换。另外,在实际应用中可以不设置3个交换器,而设置2个或1个交换器,实现A0与/A0、A1与/A1、A2与/A2中任意2组或1组输入信号及其反相信号的互换,同样可以达到一定的加密效果。当然为每组输入信号及其反相信号都设置对应的交换器,加密效果最好。
另外,为了让交换器的选择信号sel,例如图2B中3个交换器的选择信号sel2、sel1和sel0实现随机变化,可以设置随机数发生器,将随机数发生器随机产生的比特位作为所述选择信号。随机数发生器的实现方法很多,例如可以使用如图2C所示的伪随机序列发生器,它是通过线性反馈移位寄存器来实现的,具体做法是将线性反馈移位寄存器的两个比特位例如最低比特位与中间的一个比特位经过异或处理得到的信号作为移位输入信号,于是在时钟信号控制下经过多次移位,就能产生具有随机性的数据了。线性反馈移位寄存器的比特位数X可以根据实际应用环境设定。
以下基于上述发明人提出的实现原理结合附图对本发明实施例非易失存储器的实现进行说明。
在本发明非易失存储器的第一实施例中,提供一种非易失存储器,该非易失存储器包括至少两个存储体bank、以及bank译码器,每个bank包括存储阵列、存储阵列的行译码器和列译码器,所述非易失存储器还包括:随机数发生器、设置于bank译码器的第一信号生成器与第一译码器之间的n1个第一交换器,一个第一交换器对应bank译码器的一个bank地址子信号;其中,随机数发生器,用于在非易失存储器上电时,分别为各个第一交换器随机生成选择信号,将生成的选择信号发送至选择信号对应的第一交换器;
每个bank译码器的第i1个第一交换器,用于接收第i1个第一交换器对应的第i2个bank地址子信号以及第i个bank地址子信号的反相信号;当接收到随机数发生器发送的选择信号为第一信号时,将第i2个bank地址子信号作为bank译码器的第i2个bank地址子信号输出至第一译码器,将第i2个bank地址子信号的反相信号作为bank译码器的第i2个bank地址子信号的反相信号输出至第一译码器;当接收到随机数发生器发送的选择信号为第二信号时,将第i2个bank地址子信号的反相信号作为bank译码器的第i2个bank地址子信号输出至第一译码器,将第i2个bank地址子信号作为bank译码器的第i2个bank地址子信号的反相信号输出至第一译码器;1≤i1≤n1;1≤i2≤m1,1≤n1≤m1,m1是bank地址子信号的总个数。
其中,i1和i2可以相等或不相等。
其中,第一交换器的总个数n1可以小于bank译码器的输入信号也即bank地址子信号的总个数m1,则只有n1个bank地址子信号及其反相信号具有对应的第一交换器;第一交换器的总个数n1也可以等于bank译码器的输入信号也即bank地址子信号的总个数m1,则每个bank地址子信号及其反相信号具有对应的第一交换器。其中,n1的数值越接近m1,则本发明实施例的加密效果越好。
其中,本发明实施例中的第一信号可以为高电平信号,则第二信号可以为低电平信号;或者,第一信号可以为低电平信号,则第二信号可以为高电平信号。
其中,随机数发生器可以包括:至少n1个比特位的线性反馈移位寄存器,线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为线性反馈移位寄存器的移位输入信号;
n1个第一交换器分别与线性反馈移位寄存器的一个比特位对应,将对应比特位作为随机数发生器发送的选择信号。
在图3中以非易失存储器包括2m1个bank,bank译码器通过m1-2m1线地址译码器实现,n1=m1、第一交换器与bank地址子信号依次对应也即i1=i2为例,对第一实施例中非易失存储器的具体实现结构进行说明。
参见图3,非易失存储器10包括2m1个bank11、以及bank译码器12,每个bank11包括存储阵列111、存储阵列的行译码器112和列译码器113,在图3中仅示出了其中一个bank11的结构,其他bank11的结构未示出;非易失存储器还包括:随机数发生器13、设置于bank译码器12的第一信号生成器121与第一译码器122之间的m1个第一交换器123,一个第一交换器123对应bank译码器12的一个bank地址子信号;其中,
随机数发生器13,用于在非易失存储器10上电时,分别为各个第一交换器123随机生成选择信号,将生成的选择信号发送至对应的第一交换器123;
第一信号生成器121将各个bank地址子信号及其反相信号输出至对应的第一交换器123;具体的,将第1个bank地址子信号A1及其反相信号/A1发送至第1个第一交换器,将第2个bank地址子信号A2及其反相信号/A2发送至第2个第一交换器,…将第m1个bank地址子信号Am1及其反相信号/Am1发送至第m1个第一交换器。
第i1个第一交换器123,用于接收第i1个第一交换器123对应的第i1个bank地址子信号以及第i1个bank地址子信号的反相信号;当接收到随机数发生器13发送的选择信号为第一信号时,将第i1个bank地址子信号作为bank译码器12的第i1个bank地址子信号输出至第一译码器122,将第i1个bank地址子信号的反相信号作为bank译码器12的第i1个bank地址子信号的反相信号输出至第一译码器122;当接收到随机数发生器13发送的选择信号为第二信号时,将第i1个bank地址子信号的反相信号作为bank译码器12的第i1个bank地址子信号输出至第一译码器122,将第i1个bank地址子信号作为bank译码器12的第i1个bank地址子信号的反相信号输出至第一译码器122;i1的取值分别为1、2、…m1
第一译码器122用于根据各个第一交换器123输出的bank地址子信号及其反相信号生成bank选通信号。
其中,参见图3A所示,图3中所示的随机数发生器13可以包括:m1个比特位的线性反馈移位寄存器130,线性反馈移位寄存器130的第一个比特位bit0和第二个比特位bit1进行异或处理后得到的信号作为线性反馈移位寄存器的移位输入信号;
m1个第一交换器123分别与线性反馈移位寄存器的一个比特位对应,将对应比特位作为随机数发生器发送的选择信号。其中,图3A中未示出每个第一交换器与比特位之间的具体对应关系,在实际应用中可以自主设置,这里不限制。
其中,也可以将线性反馈移位寄存器130任意其他两个比特位进行异或处理后得到的信号作为线性反馈移位寄存器130的移位输入信号。
图3和图3A所示的非易失存储器实现结构仅为具体实例,本领域技术人员根据该实例,可以通过为bank地址译码器中至少一个bank地址子信号及其反相信号设置前述的第一交换器等对该实例的合理变形,得到包括2个以上bank的非易失存储器的各种实现结构,这里不再一一赘述。具体的,2m1应该大于等于非易失存储器中bank实际个数。另外,在不同的非易失存储器实现结构中,图3A所示的随机数发生器13所包括的比特位数可以根据非易失存储器所包括的第一交换器的个数适应性调整。
本实施例尤其适用于非易失存储器在进行数据存储时,依次在每个bank的一个存储单元中存入数据的场景下。例如待存储的数据为A、B、C,则在第一个bank存储数据A,在第二个bank存储数据B,在第三个bank存储数据C。
本实施例中,随机数发生器在非易失存储器上电时产生选择信号,控制bank译码器中的各个第一变换器将对应的bank地址子信号及其反相信号保持不变或者互换,当非易失存储器下电后再上电时,由于随机数发生器产生选择信号的随机性,使得非易失存储器下电后再上电时与非易失存储器下电前相比,同样的bank地址子信号所对应的bank选通信号不同,从而使得非易失存储器下电前存储的数据在非易失存储器下电后再上电时被打乱,达到加密效果,使得存储至非易失存储器的数据无法按照原来的存储地址顺序读取,从而使得其他人即便使用软件工具直接读取非易失存储器中的存储数据时也无法获得原始数据,难以将非易失存储器中存储的数据恢复成原始数据,保证非易失存储器中存储数据的安全性。
本发明非易失存储器第二实施例中,在第一实施例非易失存储器的基础上,非易失存储器中至少一个bank还可以包括以下结构:设置于行译码器的第二信号生成器与第二译码器之间的n2个第二交换器,一个第二交换器对应行译码器的一个行地址子信号;其中,随机数发生器还可以用于:在非易失存储器上电时,分别为各个第二交换器随机生成选择信号,将生成的选择信号发送至对应的第二交换器;
每个bank的第j1个第二交换器,用于接收第j1个第二交换器对应的第j2个行地址子信号以及第j2个行地址子信号的反相信号;当接收到随机数发生器发送的选择信号为第三信号时,将第j2个行地址子信号作为行译码器的第j2个行地址子信号输出至第二译码器,将第j2个行地址子信号的反相信号作为行译码器的第j2个行地址子信号的反相信号输出至第二译码器;当接收到随机数发生器发送的选择信号为第四信号时,将第j2个行地址子信号的反相信号作为行译码器的第j2个行地址子信号输出至第二译码器,将第j2个行地址子信号作为行译码器的第j2个行地址子信号的反相信号输出至第二译码器;1≤j1≤n2;1≤j2≤m2,1≤n2≤m2,m2是第j1个第二交换器所属行译码器的行地址子信号的总个数。
其中,j1和j2的取值可以相同或不同。
其中,第二交换器的总个数n2可以小于行译码器的输入信号也即行地址子信号的总个数m2,则只有n2个行地址子信号及其反相信号具有对应的第二交换器;第二交换器的总个数n2也可以等于行译码器的输入信号也即行地址子信号的总个数m2,则每个行地址子信号及其反相信号具有对应的第二交换器。其中,n2的数值越接近m2,则本发明实施例的加密效果越好。
其中,本发明实施例中的第三信号可以为高电平信号,则第四信号可以为低电平信号;或者,第三信号可以为低电平信号,则第四信号可以为高电平信号。
其中,随机数发生器可以包括:具有至少N1个比特位的线性反馈移位寄存器,线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为线性反馈移位寄存器的移位输入信号;N1是非易失存储器中包括的第一交换器以及第二交换器的总个数;
每个第一交换器和每个第二交换器分别与线性反馈移位寄存器的一个比特位对应,将对应比特位作为随机数发生器发送的选择信号。
以下通过图4的实例对本实施例非易失存储器的实现结构进行说明。由于实现结构过于复杂,在图4中仅示出了:图3中某个bank如果包括设置于行译码器的第二信号生成器1121与第二译码器1122之间的n2个第二交换器1123时该bank的实现结构,以及该bank与图3中的随机数发生器13之间的连接关系,图3中的其他结构以及连接关系未示出。而且,在图4示出的bank结构图中设定n2=m2,第二交换器与行译码器的行地址子信号依次对应,也即j1=j2;其中,随机数发生器13还可以用于:在非易失存储器上电时,分别为各个第二交换器1123随机生成选择信号,将生成的选择信号发送至对应的第二交换器1123;
该bank的行译码器112包括以下结构:
第二信号生成器1121将各个行地址子信号及其反相信号输出至对应的第二交换器1123;具体的,将第1个行地址子信号A1及其反相信号/A1发送至第1个第二交换器,将第2个行地址子信号A2及其反相信号/A2发送至第2个第二交换器,…将第m2个行地址子信号Am2及其反相信号/Am2发送至第m2个第二交换器;
每个bank的第j1个第二交换器1123,用于接收第j1个第二交换器1123对应的第j1个行地址子信号以及第j1个行地址子信号的反相信号;当接收到随机数发生器13发送的选择信号为第三信号时,将第j1个行地址子信号作为行译码器112的第j1个行地址子信号输出至第二译码器1122,将第j1个行地址子信号的反相信号作为行译码器112的第j1个行地址子信号的反相信号输出至第二译码器1122;当接收到随机数发生器13发送的选择信号为第四信号时,将第j1个行地址子信号的反相信号作为行译码器112的第j1个行地址子信号输出至第二译码器1122,将第j1个行地址子信号作为行译码器112的第j1个行地址子信号的反相信号输出至第二译码器1122;j1的取值为1、2…m2。
第二译码器1122用于根据各个第二交换器1123输出的行地址子信号及其反相信号生成行选通信号。
当图3中的至少一个bank通过图4所示的结构实现时,如图4A所示,随机数发生器13可以包括:具有N1个比特位的线性反馈移位寄存器131,线性反馈移位寄存器131的bit0和bit1两个比特位进行异或处理后得到的信号作为线性反馈移位寄存器的移位输入信号;
每个第一交换器123和每个第二交换器1123分别与线性反馈移位寄存器131的一个比特位对应,将对应的比特位作为随机数发生器13发送的选择信号。
图4A中虽然仅示出了bit0和bit1两个比特位进行异或处理得到移位输入信号的实现方式,但是,在实际应用中可以将线性反馈移位寄存器131的任意两个比特位的信号进行异或处理得到移位输入信号,这里不限定。
其中,如果图3中仅有一个bank的行译码器中设置第二交换器1123,则N1=n1+n2,如果图3中有至少两个bank的行译码器中设置第二交换器1123,则N1是n1与各个行译码器中第二交换器个数的总和。
图4A中未示出第一交换器和第二交换器与每个比特位之间的对应关系,仅以交换器代称第一交换器和第二交换器,在实际应用中,第一交换器和第二交换器与每个比特位之间的对应关系可以自主设定,这里不限制。
在实际应用中,不同bank的第二交换器的数量n2可以不同,不同bank的j1、j2等可以取相同或不同的数值,这里并不限定。其他bank中在行译码器中设置第二交换器后的结构与图4中bank的结构类似,区别仅在于n2的取值可能不同,j1、j2的取值可能不同,某些行地址子信号可能不存在对应的第二交换器,这里不赘述。
图4和图4A所示的非易失存储器实现结构仅为具体实例,本领域技术人员根据该实例,依照为bank地址译码器中至少一个bank地址子信号及其反相信号设置前述的第一交换器、为至少一个bank的行译码器中的至少一个行地址子信号及其反相信号设置前述的第二交换器等原则对该实例进行合理变形,得到本实施例包括2~无穷大个bank的非易失存储器的各种实现结构,这里不再一一赘述。
本实施例相对于图3和图3A所示的实施例,随机数发生器在非易失存储器上电时产生选择信号,除了控制bank译码器中的各个第一变换器外,还控制bank中的各个第二变换器将对应的行地址子信号及其反相信号保持不变或者互换,当非易失存储器下电后再上电时,由于随机数发生器产生选择信号的随机性,使得非易失存储器下电后再上电时与非易失存储器下电前相比,同样的bank地址子信号所对应的bank选通信号不同,同样的航地址子信号所对应的行选通信号不同,从而使得非易失存储器下电前存储的数据在非易失存储器下电后再上电时被打乱,达到加密效果,使得存储至非易失存储器的数据无法按照原来的存储地址顺序读取,从而使得其他人即便使用软件工具直接读取非易失存储器中的存储数据时也无法获得原始数据,难以将非易失存储器中存储的数据恢复成原始数据,保证非易失存储器中存储数据的安全性。
在本发明非易失存储器第三实施例中,在第一实施例非易失存储器的基础上,非易失存储器至少一个bank还可以包括:设置于列译码器的第三信号生成器与第三译码器之间的n3个第三交换器,一个第三交换器对应列译码器的一个列地址子信号;其中,随机数发生器还用于:在非易失存储器上电时,分别为各个第三交换器随机生成选择信号,将生成的选择信号发送至对应的第三交换器;
每个bank的第k1个第三交换器,用于接收第k1个第三交换器对应的第k2个列地址子信号以及第k2个列地址子信号的反相信号;当接收到随机数发生器发送的选择信号为第五信号时,将第k2个列地址子信号作为列译码器的第k2个列地址子信号输出至第三译码器,将第k2个列地址子信号的反相信号作为行列码器的第k2个列地址子信号的反相信号输出至第三译码器;当接收到随机数发生器发送的选择信号为第六信号时,将第k2个列地址子信号的反相信号作为列译码器的第k2个列地址子信号输出至第三译码器,将第k2个列地址子信号作为列译码器的第k2个列地址子信号的反相信号输出至第三译码器;1≤k1≤n3,1≤k2≤m3,1≤n3≤m3,m3是第k1个第三交换器所属列译码器的列地址子信号的总个数。
其中,k1和k2的取值可以相同或不同。
其中,第三交换器的总个数n3可以小于列译码器的输入信号也即列地址子信号的总个数m3,则只有n3个列地址子信号及其反相信号具有对应的第三交换器;第三交换器的总个数n3也可以等于列译码器的输入信号也即列地址子信号的总个数m3,则每个列地址子信号及其反相信号具有对应的第三交换器。其中,n3的数值越接近m3,则本发明实施例的加密效果越好。
其中,本发明实施例中的第五信号可以为高电平信号,则第六信号可以为低电平信号;或者,第五信号可以为低电平信号,则第六信号可以为高电平信号。
其中,随机数发生器可以包括:具有至少N2个比特位的线性反馈移位寄存器,线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为线性反馈移位寄存器的移位输入信号;N2是非易失存储器中包括的第一变换器和第三变换器的总个数;
每个第一交换器和每个第三交换器分别与线性反馈移位寄存器的一个比特位对应,将对应比特位作为随机数发生器发送的选择信号。
以下通过图5的实例对本实施例非易失存储器的实现结构进行说明。由于实现结构过于复杂,在图5中仅示出了:图3中某个bank如果包括设置于列译码器113的第三信号生成器1131与第三译码器1132之间的n3个第三交换器1133时该bank的实现结构,以及该bank与图3中的随机数发生器13之间的连接关系,图3中的其他结构以及连接关系未示出。而且,在图5示出的bank结构图中设定n3=m3,第三交换器与列译码器的列地址子信号依次对应,也即k1=k2;其中,随机数发生器13还可以用于:在非易失存储器上电时,分别为各个第三交换器1133随机生成选择信号,将生成的选择信号发送至对应的第三交换器1133;
第三信号生成器1131将各个列地址子信号及其反相信号输出至对应的第三交换器123;具体的,将第1个列地址子信号A1及其反相信号/A1发送至第1个第三交换器,将第2个列地址子信号A2及其反相信号/A2发送至第2个第三交换器,…将第m3个列地址子信号Am3及其反相信号/Am3发送至第m3个第三交换器;
每个bank的第k1个第三交换器1133,用于接收第k1个第三交换器1133对应的第k1个列地址子信号以及第k1个列地址子信号的反相信号;当接收到随机数发生器13发送的选择信号为第五信号时,将第k1个列地址子信号作为列译码器113的第k2个列地址子信号输出至第三译码器1132,将第k1个列地址子信号的反相信号作为行列码器113的第k1个列地址子信号的反相信号输出至第三译码器1132;当接收到随机数发生器13发送的选择信号为第六信号时,将第k1个列地址子信号的反相信号作为列译码器113的第k1个列地址子信号输出至第三译码器1132,将第k1个列地址子信号作为列译码器113的第k1个列地址子信号的反相信号输出至第三译码器1132;k1的取值为1、2…m3
第三译码器1132用于根据各个第三交换器1133输出的列地址子信号及其反相信号生成列选通信号。
当图3中的至少一个bank通过图5所示的结构实现时,如图5A所示,随机数发生器13可以包括:具有N2个比特位的线性反馈移位寄存器132,线性反馈移位寄存器132的bit0和bit1两个比特位进行异或处理后得到的信号作为线性反馈移位寄存器的移位输入信号;
每个第一交换器和每个第三交换器分别与线性反馈移位寄存器的一个比特位对应,将对应的比特位作为随机数发生器13发送的选择信号。
图5A中虽然仅示出了bit0和bit1两个比特位进行异或处理得到移位输入信号的实现方式,但是,在实际应用中可以将线性反馈移位寄存器132的任意两个比特位的信号进行异或处理得到移位输入信号,这里不限定。
其中,如果图3中仅有一个bank的列译码器中设置第三交换器1133,则N1=n1+n3,如果图3中有至少两个bank的列译码器中设置第三交换器1133,则N1是n1与各个列译码器中第三交换器个数的总和。
图5A中虽然仅示出了bit0和bit1两个比特位进行异或处理得到移位输入信号的实现方式,但是,在实际应用中可以将线性反馈移位寄存器132的任意两个比特位的信号进行异或处理得到移位输入信号,这里不限定。
图5A中未示出第一交换器和第三交换器与每个比特位之间的对应关系,仅以交换器代称第一交换器和第三交换器,在实际应用中,第一交换器和第三交换器与每个比特位之间的对应关系可以自主设定,这里不限制。
在实际应用中,不同bank中设置的第三交换器的数量n3可以不同,不同bank的k1、k2等可以取相同或不同的数值,这里并不限定。其他bank中在列译码器中设置第三交换器后的结构与图5中bank的结构类似,区别仅在于n3的取值可能不同,k1、k2的取值不同,某些列地址子信号可能不存在对应的第三交换器,这里不赘述。
图5和图5A所示的非易失存储器实现结构仅为具体实例,本领域技术人员根据该实例,依照为bank地址译码器中至少一个bank地址子信号及其反相信号设置前述的第一交换器、为至少一个bank的列译码器中的至少一个列地址子信号及其反相信号设置前述的第三交换器等原则对该实例进行合理变形,得到本实施例包括2个以上bank的非易失存储器的各种实现结构,这里不再一一赘述。
本实施例相对于图3和图3A所示的实施例,随机数发生器在非易失存储器上电时产生选择信号,除了控制bank译码器中的各个第一变换器外,还控制bank中的各个第三变换器将对应的列地址子信号及其反相信号保持不变或者互换,当非易失存储器下电后再上电时,由于随机数发生器产生选择信号的随机性,使得非易失存储器下电后再上电时与非易失存储器下电前相比,同样的bank地址子信号所对应的bank选通信号不同,同样的列地址子信号所对应的列选通信号不同,从而使得非易失存储器下电前存储的数据在非易失存储器下电后再上电时被打乱,达到加密效果,使得存储至非易失存储器的数据无法按照原来的存储地址顺序读取,从而使得其他人即便使用软件工具直接读取非易失存储器中的存储数据时也无法获得原始数据,难以将非易失存储器中存储的数据恢复成原始数据,保证非易失存储器中存储数据的安全性。
在本发明非易失存储器第四实施例中,在第二实施例非易失存储器的基础上,非易失存储器中至少一个bank还可以包括:设置于列译码器的第三信号生成器与第三译码器之间的n3个第三交换器,一个第三交换器对应列译码器的一个列地址子信号;其中,
随机数发生器还用于:在非易失存储器上电时,分别为各个第三交换器随机生成选择信号,将生成的选择信号发送至对应的第三交换器;
每个bank的第k1个第三交换器,用于接收第k1个第三交换器对应的第k2个列地址子信号以及第k2个列地址子信号的反相信号;当接收到随机数发生器发送的选择信号为第五信号时,将第k2个列地址子信号作为列译码器的第k2个列地址子信号输出至第三译码器,将第k2个列地址子信号的反相信号作为行列码器的第k2个列地址子信号的反相信号输出至第三译码器;当接收到随机数发生器发送的选择信号为第六信号时,将第k2个列地址子信号的反相信号作为列译码器的第k2个列地址子信号输出至第三译码器,将第k2个列地址子信号作为列译码器的第k2个列地址子信号的反相信号输出至第三译码器;1≤k1≤n3,1≤k2≤m3,1≤n3≤m3,m3是第k1个第三交换器所属列译码器的列地址子信号的总个数。
其中,j1和j2的取值可以相同或不同。
其中,第二交换器的总个数n2可以小于行译码器的输入信号也即行地址子信号的总个数m2,则只有n2个行地址子信号及其反相信号具有对应的第二交换器;第二交换器的总个数n2也可以等于行译码器的输入信号也即行地址子信号的总个数m2,则每个行地址子信号及其反相信号具有对应的第二交换器。其中,n2的数值越接近m2,则本发明实施例的加密效果越好。
其中,本发明实施例中的第一信号可以为高电平信号,则第二信号可以为低电平信号;或者,第一信号可以为低电平信号,则第二信号可以为高电平信号。
其中,随机数发生器可以包括:具有至少N3个比特位的线性反馈移位寄存器,线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为线性反馈移位寄存器的移位输入信号;N3是非易失存储器中包括的第一变换器、第二变换器和第三变换器的总个数;
每个第一交换器、每个第二变换器和每个第三交换器分别与线性反馈移位寄存器的一个比特位对应,将对应比特位作为随机数发生器发送的选择信号。
在本实施例中,非易失存储器中的各个bank存在四种可能的实现结构:一、bank的行译码器中未设置第二交换器,列译码器中未设置第三交换器;二、bank的行译码器中设置有第二交换器,列译码器中未设置第三交换器;三、bank的行译码器中未设置第二交换器,列译码器中设置有第三交换器;四、bank的行译码器中设置有第二交换器,列译码器中设置有第三交换器。但是,非易失存储器中至少一个bank的行译码器中设置有第二交换器,且至少一个bank的列译码器中设置有第三交换器。
例如某个非易失存储器包括4个bank,bank1通过第二种可能的实现结构实现,bank2通过第四种可能的实现结构实现,bank3通过第三种可能的实现结构实现,bank4通过第一种可能的实现结构实现。
对于bank第一种可能的实现结构,其与现有技术中bank的实现结构相同,这里不赘述;对于bank第二种可能的实现结构,可以参考图4所示bank实现结构举例,这里不赘述;对于bank第三种可能的实现结构,可以参考图5所示bank实现结构举例,这里不赘述。
以下通过图6对bank第四种可能的实现结构及其与随机数产生器之间的连接关系进行说明。而且,在图6示出的bank结构图中设定:n2=m2,第二交换器与行译码器的行地址子信号依次对应,也即j1=j2;n3=m3,第三交换器与列译码器的列地址子信号依次对应,也即k1=k2;其中,
随机数发生器13用于:在非易失存储器上电时,分别为各个第二交换器和第三交换器随机生成选择信号,将生成的选择信号发送至对应的第二交换器和第三交换器;
行译码器中第二信号生成器1121、第二交换器1123、第二译码器1122的描述请参考图4所示实例中关于第二信号生成器、第二交换器和第二译码器的相关描述;列译码器中第三信号生成器1131、第三交换器1133、第三译码器1132的描述请参考图5所示实例中关于第三信号生成器、第三交换器和第三译码器的相关描述,这里不赘述。
如图6A所示,本实施例中的随机数发生器13可以包括:具有N3个比特位的线性反馈移位寄存器133,线性反馈移位寄存器133的bit0和bit1两个比特位进行异或处理后得到的信号作为线性反馈移位寄存器的移位输入信号;每个第一交换器、每个第二交换器和每个第三交换器分别与线性反馈移位寄存器133的一个比特位对应,将对应的比特位作为随机数发生器13发送的选择信号。
其中,N3是非易失存储器中所有第一交换器、第二交换器和第三交换器的总个数。
图6A中虽然仅示出了bit0和bit1两个比特位进行异或处理得到移位输入信号的实现方式,但是,在实际应用中可以将线性反馈移位寄存器133的任意两个比特位的信号进行异或处理得到移位输入信号,这里不限定。
图6A中未示出第一交换器、第二交换器和第三交换器与每个比特位之间的对应关系,仅以交换器代称第一交换器、第二交换器和第三交换器。在实际应用中,第一交换器、第二交换器、第三交换器与每个比特位之间的对应关系可以自主设定,这里不限制。
在实际应用中,不同bank中设置的第二交换器的数量n2可以不同,不同bank的j1、j2等可以取相同或不同的数值,不同bank中设置的第三交换器的数量n3可以不同,不同bank的k1、k2等可以取相同或不同的数值,这里并不限定。其他bank中在行译码器中设置第二交换器、在列译码器中设置第三交换器后的结构与图5中bank的结构类似,区别仅在于n2、n3、j1、j2、k1、k2的取值可能不同,某些行地址子信号可能不存在对应的第二交换器,某些列地址子信号可能不存在对应的第三交换器。
图6和图6A所示的非易失存储器实现结构仅为具体实例,本领域技术人员根据该实例,依照为bank地址译码器中至少一个bank地址子信号及其反相信号设置前述的第一交换器、为至少一个bank的行译码器中的至少一个行地址子信号及其反相信号设置前述的第二交换器、为至少一个bank的列译码器中的至少一个列地址子信号及其反相信号设置前述的第三交换器等原则对该实例进行合理变形,得到本实施例包括2~无穷大个bank的非易失存储器的各种实现结构,这里不再一一赘述。
本实施例相对于第二实施例,随机数发生器在非易失存储器上电时产生选择信号,除了控制第一变换器、第二变换器外,还控制bank中的各个第三变换器将对应的列地址子信号及其反相信号保持不变或者互换,使得列译码器中实际输出的列选通信号与列地址子信号原来对应的列选通信号相同或不同,当非易失存储器下电后再上电时,由于随机数发生器产生选择信号的随机性,使得非易失存储器下电后再上电时与非易失存储器下电前相比,同样的bank地址子信号所对应的bank选通信号不同,同样的行地址子信号所对应的行选通信号不同,同样的列地址子信号所对应的列选通信号不同,从而使得非易失存储器下电前存储的数据在非易失存储器下电后再上电时被打乱,达到加密效果,使得存储至非易失存储器的数据无法按照原来的存储地址顺序读取,从而使得其他人即便使用软件工具直接读取非易失存储器中的存储数据时也无法获得原始数据,难以将非易失存储器中存储的数据恢复成原始数据,保证非易失存储器中存储数据的安全性。
在本发明非易失存储器第五实施例中,非易失存储器包括:至少一个bank,每个bank包括存储阵列、存储阵列的行译码器和列译码器,还包括:随机数发生器,至少一个bank还包括:设置于行译码器的第二信号生成器与第二译码器之间的n2个第二交换器,每个第二交换器对应行译码器的一个行地址子信号;其中,
随机数发生器,用于在非易失存储器上电时,分别为各个第二交换器随机生成选择信号,将生成的选择信号发送至对应的第二交换器;
每个bank的第j1个第二交换器,用于接收第j1个第二交换器对应的第j2个行地址子信号以及第j2个行地址子信号的反相信号;当接收到随机数发生器发送的选择信号为第三信号时,将第j2个行地址子信号作为行译码器的第j2个行地址子信号输出至第二译码器,将第j2个行地址子信号的反相信号作为行译码器的第j2个行地址子信号的反相信号输出至第二译码器;当接收到随机数发生器发送的选择信号为第四信号时,将第j2个行地址子信号的反相信号作为行译码器的第j2个行地址子信号输出至第二译码器,将第j2个行地址子信号作为行译码器的第j2个行地址子信号的反相信号输出至第二译码器;1≤j1≤n2;1≤j2≤m2,1≤n2≤m2,m2是第j1个第二交换器所属行译码器的行地址子信号的总个数。
其中,j1和j2的取值可以相同或不同。
其中,第二交换器的总个数n2可以小于行译码器的输入信号也即行地址子信号的总个数m2,则只有n2个行地址子信号及其反相信号具有对应的第二交换器;第二交换器的总个数n2也可以等于行译码器的输入信号也即行地址子信号的总个数m2,则每个行地址子信号及其反相信号具有对应的第二交换器。其中,n2的数值越接近m2,则本发明实施例的加密效果越好。
其中,本发明实施例中的第一信号可以为高电平信号,则第二信号可以为低电平信号;或者,第一信号可以为低电平信号,则第二信号可以为高电平信号。
其中,随机数发生器可以包括:具有至少N4个比特位的线性反馈移位寄存器,线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为线性反馈移位寄存器的移位输入信号;N4为非易失存储器包括的第二交换器的总个数;
每个第二交换器分别与线性反馈移位寄存器的一个比特位对应,将对应比特位作为随机数发生器发送的选择信号。
在本实施例中,非易失存储器可以仅包括1个bank,例如图7所示,但是图7中未示出行译码器中设置第二交换器的具体实现结构,这时非易失存储器中可以不设置bank译码器;非易失存储器也可以包括两个或者两个以上的bank,这时非易失存储器中一般设置有bank译码器,例如7A所示,但是图7中未示出行译码器中设置第二交换器的具体实现结构。当非易失存储器中设置bank译码器时,bank译码器中可以不设置第一交换器,也可以设置第一交换器。当bank译码器中设置第一交换器时,其实现与第二实施例的非易失存储器结构相似,因此,本实施例中仅说明非易失存储器中不包括bank译码器或者bank译码器中不设置第一交换器,通过现有技术中的结构实现的情况。
在本实施例中,非易失存储器中的bank存在两种可能的实现结构:一、行译码器中未设置第二交换器;二、行译码器中设置第二交换器。但是,非易失存储器中至少一个bank通过第二种可能的实现结构实现。
对于bank的第一种可能的实现结构,其与现有技术中bank的实现结构相同,这里不赘述。
对于bank的第二种可能的实现结构举例,可以参考图4所举例的bank实现结构及其说明。
其中,本实施例中随机数发生器的实现也可以参考图3A所示的随机数发生器实例,区别仅在于本实施例中随机数发生器的比特位数可以为N4,且每个比特位连接的是第二交换器。
在实际应用中,不同bank的第二交换器的数量n2可以不同,不同bank的j1、j2等可以取相同或不同的数值,这里并不限定。其他bank中在行译码器中设置第二交换器后的结构与图4中bank的结构类似,区别仅在于n2的取值可能不同,j1、j2的取值可能不同,某些行地址子信号可能不存在对应的第二交换器,这里不赘述。
本领域技术人员根据上述实例,依照为至少一个bank的行译码器中的至少一个行地址子信号及其反相信号设置前述的第二交换器等原则对上述实例进行合理变形,可以得到本发明实施例包括任意个数个bank的非易失存储器的各种实现结构,这里不再一一赘述。
本实施例中,随机数发生器在非易失存储器上电时产生选择信号,控制各个第二变换器将对应的行地址子信号及其反相信号保持不变或者互换,当非易失存储器下电后再上电时,由于随机数发生器产生选择信号的随机性,使得非易失存储器下电后再上电时与非易失存储器下电前相比,同样的行地址子信号所对应的行选通信号不同,从而使得非易失存储器下电前存储的数据在非易失存储器下电后再上电时被打乱,达到加密效果,使得存储至非易失存储器的数据无法按照原来的存储地址顺序读取,从而使得其他人即便使用软件工具直接读取非易失存储器中的存储数据时也无法获得原始数据,难以将非易失存储器中存储的数据恢复成原始数据,保证非易失存储器中存储数据的安全性。
本发明非易失存储器第六实施例中,在第五实施例非易失存储器基础上,非易失存储器中至少一个bank还包括:设置于列译码器的第三信号生成器与第三译码器之间的n3个第三交换器,一个第三交换器对应列译码器的一个列地址子信号;其中,随机数发生器还用于:在非易失存储器上电时,分别为各个第三交换器随机生成选择信号,将生成的选择信号发送至对应的第三交换器;
每个bank的第k1个第三交换器,用于接收第k1个第三交换器对应的第k2个列地址子信号以及第k2个列地址子信号的反相信号;当接收到随机数发生器发送的选择信号为第五信号时,将第k2个列地址子信号作为列译码器的第k2个列地址子信号输出至第三译码器,将第k2个列地址子信号的反相信号作为行列码器的第k2个列地址子信号的反相信号输出至第三译码器;当接收到随机数发生器发送的选择信号为第六信号时,将第k2个列地址子信号的反相信号作为列译码器的第k2个列地址子信号输出至第三译码器,将第k2个列地址子信号作为列译码器的第k2个列地址子信号的反相信号输出至第三译码器;1≤k1≤n3,1≤k2≤m3,1≤n3≤m3,m3是第k1个第三交换器所属列译码器的列地址子信号的总个数。
其中,k1和k2的取值可以相同或不同。
其中,第三交换器的总个数n3可以小于列译码器的输入信号也即列地址子信号的总个数m3,则只有n3个列地址子信号及其反相信号具有对应的第三交换器;第三交换器的总个数n3也可以等于列译码器的输入信号也即列地址子信号的总个数m3,则每个列地址子信号及其反相信号具有对应的第三交换器。其中,n3的数值越接近m3,则本发明实施例的加密效果越好。
其中,本发明实施例中的第五信号可以为高电平信号,则第六信号可以为低电平信号;或者,第五信号可以为低电平信号,则第六信号可以为高电平信号。
其中,随机数发生器可以包括:具有至少N5个比特位的线性反馈移位寄存器,线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为线性反馈移位寄存器的移位输入信号;N5是非易失存储器包括的第二交换器和第三交换器的总个数;每个第二交换器和每个第三交换器分别与线性反馈移位寄存器的一个比特位对应,将对应比特位作为随机数发生器发送的选择信号。
在本实施例中,非易失存储器仅包括1个bank时可以不设置bank译码器,非易失存储器包括两个或者两个以上的bank时可以设置bank译码器,这里并不限定。当非易失存储器中设置bank译码器时,bank译码器中可以不设置第一交换器,或者也可以设置第一交换器。当bank译码器中设置第一交换器时,其实现与第二实施例的非易失存储器结构相似,因此,本实施例中仅说明非易失存储器中不包括bank译码器或者bank译码器中不设置第一交换器,通过现有技术中的结构实现的情况。
在本实施例中,非易失存储器中包括的各个bank存在四种可能的实现结构:一、bank的行译码器中未设置第二交换器,列译码器中未设置第三交换器;二、bank的行译码器中设置有第二交换器,列译码器中未设置第三交换器;三、bank的行译码器中未设置第二交换器,列译码器中设置有第三交换器;四、bank的行译码器中设置有第二交换器,列译码器中设置有第三交换器。但是,非易失存储器中至少一个bank的行译码器中设置有第二交换器,且至少一个bank的列译码器中设置有第三交换器。
例如某个非易失存储器包括4个bank,bank1通过第二种可能的实现结构实现,bank2通过第四种可能的实现结构实现,bank3通过第三种可能的实现结构实现,bank4通过第一种可能的实现结构实现。
对于bank第一种可能的实现结构,其与现有技术中bank的实现结构相同,这里不赘述;对于bank第二种可能的实现结构,可以参考图4所示bank实现结构举例,这里不赘述;对于bank第三种可能的实现结构,可以参考图5所示bank实现结构举例,这里不赘述。
对于bank第四种可能的实现结构,可以参考图6所举例的bank实现结构及其说明。
其中,本实施例中随机数发生器的实现也可以参考图3A所示的随机数发生器实例,区别仅在于本实施例中随机数发生器的比特位数可以为N5,且每个比特位连接的是第二交换器或者第三交换器。
在实际应用中,不同bank中设置的第二交换器的数量n2可以不同,不同bank的j1、j2等可以取相同或不同的数值,不同bank中设置的第三交换器的数量n3可以不同,不同bank的k1、k2等可以取相同或不同的数值,这里并不限定。其他bank中在行译码器中设置第二交换器、在列译码器中设置第三交换器后的结构与图6中bank的结构类似,区别仅在于n2、n3、j1、j2、k1、k2的取值可能不同、某些行译码器中的行地址子信号可能不存在对应的第二交换器、某些列译码器中的列地址子信号可能不存在对应的第三交换器。
本领域技术人员根据本实施例及其实例,依照为至少一个bank的行译码器中的至少一个行地址子信号及其反相信号设置前述的第二交换器、为至少一个bank的列译码器中的至少一个列地址子信号及其反相信号设置前述的第三交换器等原则对该实例进行合理变形,得到本实施例包括任意个数个bank的非易失存储器的各种实现结构,这里不再一一赘述。
本实施例相对于第五实施例,随机数发生器在非易失存储器上电时产生选择信号,除了控制第二变换器外,还控制各个第三变换器将对应的列地址子信号及其反相信号保持不变或者互换,当非易失存储器下电后再上电时,由于随机数发生器产生选择信号的随机性,使得非易失存储器下电后再上电时与非易失存储器下电前相比,同样的行地址子信号所对应的行选通信号不同,同样的列地址子信号所对应的列选通信号不同,从而使得非易失存储器下电前存储的数据在非易失存储器下电后再上电时被打乱,达到加密效果,使得存储至非易失存储器的数据无法按照原来的存储地址顺序读取,从而使得其他人即便使用软件工具直接读取非易失存储器中的存储数据时也无法获得原始数据,难以将非易失存储器中存储的数据恢复成原始数据,保证非易失存储器中存储数据的安全性。
在本发明非易失存储器第七实施例中,非易失存储器包括:至少一个bank,每个bank包括存储阵列、存储阵列的行译码器和列译码器。该非易失存储器还包括:随机数发生器,至少一个bank还包括:设置于列译码器的第三信号生成器与第三译码器之间的n3个第三交换器,一个第三交换器对应列译码器的一个列地址子信号;其中,随机数发生器,用于在非易失存储器上电时,分别为各个第三交换器随机生成选择信号,将生成的选择信号发送至对应的第三交换器;
每个bank的第k1个第三交换器,用于接收第k1个第三交换器对应的第k2个列地址子信号以及第k2个列地址子信号的反相信号;当接收到随机数发生器发送的选择信号为第五信号时,将第k2个列地址子信号作为列译码器的第k2个列地址子信号输出至第三译码器,将第k2个列地址子信号的反相信号作为行列码器的第k2个列地址子信号的反相信号输出至第三译码器;当接收到随机数发生器发送的选择信号为第六信号时,将第k2个列地址子信号的反相信号作为列译码器的第k2个列地址子信号输出至第三译码器,将第k2个列地址子信号作为列译码器的第k2个列地址子信号的反相信号输出至第三译码器;1≤k1≤n3,1≤k2≤m3,1≤n3≤m3,m3是第k1个第三交换器所属列译码器的列地址子信号的总个数。
其中,k1和k2的取值可以相同或不同。
其中,第三交换器的总个数n3可以小于列译码器的输入信号也即列地址子信号的总个数m3,则只有n3个列地址子信号及其反相信号具有对应的第三交换器;第三交换器的总个数n3也可以等于列译码器的输入信号也即列地址子信号的总个数m3,则每个列地址子信号及其反相信号具有对应的第三交换器。其中,n3的数值越接近m3,则本发明实施例的加密效果越好。
其中,本发明实施例中的第五信号可以为高电平信号,则第六信号可以为低电平信号;或者,第五信号可以为低电平信号,则第六信号可以为高电平信号。
随机数发生器可以包括:具有至少N6个比特位的线性反馈移位寄存器,线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为线性反馈移位寄存器的移位输入信号;N6为非易失存储器中包括第三选择器的总个数;
每个第三交换器分别与线性反馈移位寄存器的一个比特位对应,将对应比特位作为随机数发生器发送的选择信号。
在本实施例中,非易失存储器仅包括1个bank时可以不设置bank译码器,非易失存储器包括两个或者两个以上的bank时可以设置bank译码器,这里并不限定。当非易失存储器中设置bank译码器时,bank译码器中可以不设置第一交换器,或者也可以设置第一交换器。当bank译码器中设置第一交换器时,其实现与第二实施例的非易失存储器结构相似,因此,本实施例中仅说明非易失存储器中不包括bank译码器或者bank译码器中不设置第一交换器,通过现有技术中的结构实现的情况。
在本实施例中,非易失存储器中的bank存在两种可能的实现结构:一、列译码器中未设置第三交换器;二、列译码器中设置第三交换器。但是,非易失存储器中至少一个bank通过第二种可能的实现结构实现。
对于bank的第一种可能的实现结构,其与现有技术中bank的实现结构相同,这里不赘述。
对于bank的第二种可能的实现结构举例,可以参考图5所举例的bank实现结构及其说明。
其中,本实施例中随机数发生器的实现也可以参考图3A所示的随机数发生器实例,区别仅在于本实施例中随机数发生器的比特位数可以为N6,且每个比特位连接的是第三交换器。
在实际应用中,不同bank的第三交换器的数量n3可以不同,不同bank的k1、k2等可以取相同或不同的数值,这里并不限定。其他bank中在列译码器中设置第三交换器后的结构与图5中bank的结构类似,区别仅在于n2的取值可能不同,j1、j2的取值可能不同,某些列地址子信号可能不存在对应的第三交换器,这里不赘述。
本领域技术人员根据上述实例,依照为至少一个bank的列译码器中的至少一个列地址子信号及其反相信号设置前述的第三交换器等原则对上述实例进行合理变形,可以得到本发明实施例包括任意个数个bank的非易失存储器的各种实现结构,这里不再一一赘述。
本实施例中,随机数发生器在非易失存储器上电时产生选择信号,控制bank中的各个第三变换器将对应的列地址子信号及其反相信号保持不变或者互换,当非易失存储器下电后再上电时,由于随机数发生器产生选择信号的随机性,使得非易失存储器下电后再上电时与非易失存储器下电前相比,同样的列地址子信号所对应的列选通信号不同,从而使得非易失存储器下电前存储的数据在非易失存储器下电后再上电时被打乱,达到加密效果,使得存储至非易失存储器的数据无法按照原来的存储地址顺序读取,从而使得其他人即便使用软件工具直接读取非易失存储器中的存储数据时也无法获得原始数据,难以将非易失存储器中存储的数据恢复成原始数据,保证非易失存储器中存储数据的安全性。
其中,本发明实施例中非易失存储器可以具体为相变存储器、可变电阻式存储器(ReRAM)等。
另外,本发明实施例还提供一种电子设备,包括上述任一实施例的非易失存储器。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种非易失存储器,所述非易失存储器包括bank译码器、以及至少两个存储体bank,所述存储体bank包括存储阵列、存储阵列的行译码器和存储阵列的列译码器,其特征在于,所述非易失存储器还包括:随机数发生器、设置于bank译码器的第一信号生成器与第一译码器之间的n1个第一交换器,一个所述第一交换器对应所述bank译码器的一个bank地址子信号;其中,
所述随机数发生器,用于在非易失存储器上电时,分别为各个第一交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第一交换器;
所述bank译码器的第i1个第一交换器,用于接收与所述第i1个第一交换器对应的第i2个bank地址子信号以及所述第i2个bank地址子信号的反相信号;当接收到的选择信号为第一信号时,将所述第i2个bank地址子信号作为所述第i2个bank地址子信号输出至第一译码器,将所述第i2个bank地址子信号的反相信号作为所述第i2个bank地址子信号的反相信号输出至第一译码器;当接收到的选择信号为第二信号时,将所述第i2个bank地址子信号的反相信号作为所述第i2个bank地址子信号输出至第一译码器,将所述第i2个bank地址子信号作为所述第i2个bank地址子信号的反相信号输出至第一译码器;1≤i1≤n1;1≤i2≤m1,1≤n1≤m1,m1是bank地址子信号的总个数。
2.根据权利要求1所述的非易失存储器,其特征在于,至少一个bank还包括:设置于行译码器的第二信号生成器与第二译码器之间的n2个第二交换器,一个第二交换器对应行译码器的一个行地址子信号;其中,
所述随机数发生器还用于:在非易失存储器上电时,分别为各个第二交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第二交换器;
每个bank的第j1个第二交换器,用于接收与所述第j1个第二交换器对应的第j2个行地址子信号以及所述第j2个行地址子信号的反相信号;当接收到的选择信号为第三信号时,将所述第j2个行地址子信号作为所述第j2个行地址子信号输出至第二译码器,将所述第j2个行地址子信号的反相信号作为所述第j2个行地址子信号的反相信号输出至第二译码器;当接收到的选择信号为第四信号时,将所述第j2个行地址子信号的反相信号作为所述第j2个行地址子信号输出至第二译码器,将所述第j2个行地址子信号作为所述第j2个行地址子信号的反相信号输出至第二译码器;1≤j1≤n2;1≤j2≤m2,1≤n2≤m2,m2是所述第j1个第二交换器所属行译码器的行地址子信号的总个数。
3.根据权利要求1所述的非易失存储器,其特征在于,至少一个bank还包括:设置于列译码器的第三信号生成器与第三译码器之间的n3个第三交换器,一个第三交换器对应列译码器的一个列地址子信号;其中,
所述随机数发生器还用于:在非易失存储器上电时,分别为各个第三交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第三交换器;
每个bank的第k1个第三交换器,用于接收所述第k1个第三交换器对应的第k2个列地址子信号以及所述第k2个列地址子信号的反相信号;当接收到的选择信号为第五信号时,将所述第k2个列地址子信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;当接收到的选择信号为第六信号时,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;1≤k1≤n3,1≤k2≤m3,1≤n3≤m3,m3是所述第k1个第三交换器所属列译码器的列地址子信号的总个数。
4.根据权利要求2所述的非易失存储器,其特征在于,至少一个bank还包括:设置于列译码器的第三信号生成器与第三译码器之间的n3个第三交换器,一个第三交换器对应列译码器的一个列地址子信号;其中,
所述随机数发生器还用于:在非易失存储器上电时,分别为各个第三交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第三交换器;
每个bank的第k1个所述第三交换器,用于接收所述第k1个第三交换器对应的第k2个列地址子信号以及所述第k2个列地址子信号的反相信号;当接收到的选择信号为第五信号时,将所述第k2个列地址子信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;当接收到的选择信号为第六信号时,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;1≤k1≤n3,1≤k2≤m3,1≤n3≤m3,m3是所述第k1个第三交换器所属列译码器的列地址子信号的总个数。
5.根据权利要求1所述的非易失存储器,其特征在于,所述随机数发生器包括:至少n1位的线性反馈移位寄存器,所述线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为所述线性反馈移位寄存器的移位输入信号;
所述n1个第一交换器分别与所述线性反馈移位寄存器的一个比特位对应,将对应比特位作为所述随机数发生器发送的选择信号。
6.根据权利要求2所述的非易失存储器,其特征在于,所述随机数发生器包括:具有至少N1个比特位的线性反馈移位寄存器,所述线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为所述线性反馈移位寄存器的移位输入信号;N1是非易失存储器中包括的第一交换器以及第二交换器的总个数;
每个所述第一交换器和每个所述第二交换器分别与所述线性反馈移位寄存器的一个比特位对应,将对应比特位作为所述随机数发生器发送的选择信号。
7.根据权利要求3所述的非易失存储器,其特征在于,所述随机数发生器包括:具有至少N2个比特位的线性反馈移位寄存器,所述线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为所述线性反馈移位寄存器的移位输入信号;N2是非易失存储器中包括的第一变换器和第三变换器的总个数;
每个所述第一交换器和每个所述第三交换器分别与所述线性反馈移位寄存器的一个比特位对应,将对应比特位作为所述随机数发生器发送的选择信号。
8.根据权利要求4所述的非易失存储器,其特征在于,所述随机数发生器包括:具有至少N3个比特位的线性反馈移位寄存器,所述线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为所述线性反馈移位寄存器的移位输入信号;N3是非易失存储器中包括的第一变换器、第二变换器和第三变换器的总个数;
每个所述第一交换器、每个所述第二交换器和每个所述第三交换器分别与所述线性反馈移位寄存器的一个比特位对应,将对应比特位作为所述随机数发生器发送的选择信号。
9.一种非易失存储器,所述非易失存储器包括至少一个存储体bank,每个所述bank包括存储阵列、存储阵列的行译码器和存储阵列的列译码器,其特征在于,还包括:随机数发生器,至少一个所述bank还包括:设置于行译码器的第二信号生成器与第二译码器之间的n2个第二交换器,一个第二交换器对应行译码器的一个行地址子信号;其中,
所述随机数发生器,用于在非易失存储器上电时,分别为各个第二交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第二交换器;
每个bank的第j1个第二交换器,用于接收所述第j1个第二交换器对应的第j2个行地址子信号以及所述第j2个行地址子信号的反相信号;当接收到的选择信号为第三信号时,将所述第j2个行地址子信号作为所述第j2个行地址子信号输出至第二译码器,将所述第j2个行地址子信号的反相信号作为所述第j2个行地址子信号的反相信号输出至第二译码器;当接收到的选择信号为第四信号时,将所述第j2个行地址子信号的反相信号作为所述第j2个行地址子信号输出至第二译码器,将所述第j2个行地址子信号作为所述第j2个行地址子信号的反相信号输出至第二译码器;1≤j1≤n2;1≤j2≤m2,1≤n2≤m2,m2是所述第j1个第二交换器所属行译码器的行地址子信号的总个数。
10.根据权利要求9所述的非易失存储器,其特征在于,至少一个所述bank还包括:设置于列译码器的第三信号生成器与第三译码器之间的n3个第三交换器,一个第三交换器对应列译码器的一个列地址子信号;其中,
所述随机数发生器还用于:在非易失存储器上电时,分别为各个第三交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第三交换器;
每个bank的第k1个所述第三交换器,用于接收所述第k1个第三交换器对应的第k2个列地址子信号以及所述第k2个列地址子信号的反相信号;当接收到的选择信号为第五信号时,将所述第k2个列地址子信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;当接收到的选择信号为第六信号时,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;1≤k1≤n3,1≤k2≤m3,1≤n3≤m3,m3是所述第k1个第三交换器所属列译码器的列地址子信号的总个数。
11.根据权利要求9所述的非易失存储器,其特征在于,所述随机数发生器包括:具有至少N4个比特位的线性反馈移位寄存器,所述线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为所述线性反馈移位寄存器的移位输入信号;N4为非易失存储器包括的第二交换器的总个数;
每个所述第二交换器分别与所述线性反馈移位寄存器的一个比特位对应,将对应比特位作为所述随机数发生器发送的选择信号。
12.根据权利要求10所述的非易失存储器,其特征在于,所述随机数发生器包括:具有至少N5个比特位的线性反馈移位寄存器,所述线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为所述线性反馈移位寄存器的移位输入信号;N5是非易失存储器包括的第二交换器和第三交换器的总个数;
每个所述第二交换器和每个所述第三交换器分别与所述线性反馈移位寄存器的一个比特位对应,将对应比特位作为所述随机数发生器发送的选择信号。
13.一种非易失存储器,所述非易失存储器包括至少一个存储体bank,每个所述bank包括存储阵列、存储阵列的行译码器和存储阵列的列译码器,其特征在于,还包括:随机数发生器,至少一个所述bank还包括:设置于列译码器的第三信号生成器与第三译码器之间的n3个第三交换器,一个第三交换器对应列译码器的一个列地址子信号;其中,
所述随机数发生器,用于在非易失存储器上电时,分别为各个第三交换器随机生成选择信号,将生成的选择信号发送至所述选择信号对应的第三交换器;
每个bank的第k1个第三交换器,用于接收所述第k1个第三交换器对应的第k2个列地址子信号以及所述第k2个列地址子信号的反相信号;当接收到的选择信号为第五信号时,将所述第k2个列地址子信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;当接收到的选择信号为第六信号时,将所述第k2个列地址子信号的反相信号作为所述第k2个列地址子信号输出至第三译码器,将所述第k2个列地址子信号作为所述第k2个列地址子信号的反相信号输出至第三译码器;1≤k1≤n3,1≤k2≤m3,1≤n3≤m3,m3是所述第k1个第三交换器所属列译码器的列地址子信号的总个数。
14.根据权利要求13所述的非易失存储器,其特征在于,所述随机数发生器包括:具有至少N6个比特位的线性反馈移位寄存器,所述线性反馈移位寄存器的任意两个比特位进行异或处理后得到的信号作为所述线性反馈移位寄存器的移位输入信号;N6为非易失存储器中包括第三选择器的总个数;
每个所述第三交换器分别与所述线性反馈移位寄存器的一个比特位对应,将对应比特位作为所述随机数发生器发送的选择信号。
15.一种电子设备,其特征在于,包括权利要求1至14任一项所述的非易失存储器。
CN201310613032.4A 2013-11-27 2013-11-27 非易失存储器及电子设备 Active CN103631732B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310613032.4A CN103631732B (zh) 2013-11-27 2013-11-27 非易失存储器及电子设备
PCT/CN2014/076595 WO2015078141A1 (zh) 2013-11-27 2014-04-30 非易失存储器及电子设备
EP14784396.5A EP2899639B1 (en) 2013-11-27 2014-04-30 Nonvolatile memory and electronic device
US14/559,177 US9424442B2 (en) 2013-11-27 2014-12-03 Nonvolatile memory and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310613032.4A CN103631732B (zh) 2013-11-27 2013-11-27 非易失存储器及电子设备

Publications (2)

Publication Number Publication Date
CN103631732A CN103631732A (zh) 2014-03-12
CN103631732B true CN103631732B (zh) 2016-09-07

Family

ID=50212814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310613032.4A Active CN103631732B (zh) 2013-11-27 2013-11-27 非易失存储器及电子设备

Country Status (3)

Country Link
EP (1) EP2899639B1 (zh)
CN (1) CN103631732B (zh)
WO (1) WO2015078141A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424442B2 (en) 2013-11-27 2016-08-23 Huawei Technologies Co., Ltd. Nonvolatile memory and electronic device
CN103631732B (zh) * 2013-11-27 2016-09-07 华为技术有限公司 非易失存储器及电子设备
CN108009438B (zh) * 2016-10-28 2021-08-17 中移(杭州)信息技术有限公司 一种数据存储方法和装置
CN109712665B (zh) * 2018-02-27 2020-09-15 上海安路信息科技有限公司 存储器及存储器的功能测试方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567689A (zh) * 2011-12-05 2012-07-11 清华大学 基于相变存储器的非易失内存数据机密性保护方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721227B2 (en) * 2002-02-11 2004-04-13 Micron Technology, Inc. User selectable banks for DRAM
CN100346321C (zh) * 2005-03-17 2007-10-31 上海华申智能卡应用系统有限公司 移动式大容量电子存储器的安全存储控制装置及实现方法
JP2008204582A (ja) * 2007-02-22 2008-09-04 Elpida Memory Inc 不揮発性ram
CN103222005B (zh) * 2009-12-31 2016-08-24 美光科技公司 用于相变存储器阵列的方法
IT1399916B1 (it) * 2010-04-30 2013-05-09 Balluchi Dispositivo di memoria ad accesso di registro indicizzato
CN102568573B (zh) * 2010-12-31 2014-11-05 张家港丽恒光微电子科技有限公司 Mems非易失存储器及存储单元
US8806171B2 (en) * 2011-05-24 2014-08-12 Georgia Tech Research Corporation Systems and methods providing wear leveling using dynamic randomization for non-volatile memory
KR20130039505A (ko) * 2011-10-12 2013-04-22 삼성전자주식회사 랜덤 코드 발생기를 포함하는 어드레스 변환 회로 및 이를 포함하는 반도체 메모리 장치
KR20130078455A (ko) * 2011-12-30 2013-07-10 삼성전자주식회사 메모리 특성 정보를 저장하는 반도체 메모리 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 반도체 메모리 장치의 동작방법
KR101962786B1 (ko) * 2012-03-23 2019-03-27 삼성전자주식회사 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법
CN103631732B (zh) * 2013-11-27 2016-09-07 华为技术有限公司 非易失存储器及电子设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567689A (zh) * 2011-12-05 2012-07-11 清华大学 基于相变存储器的非易失内存数据机密性保护方法

Also Published As

Publication number Publication date
CN103631732A (zh) 2014-03-12
EP2899639B1 (en) 2016-08-03
WO2015078141A1 (zh) 2015-06-04
EP2899639A4 (en) 2015-07-29
EP2899639A1 (en) 2015-07-29

Similar Documents

Publication Publication Date Title
CN103631732B (zh) 非易失存储器及电子设备
JP5980274B2 (ja) 多次元データのランダム化
CN112291056B (zh) 加密密钥生成器及传输系统
CN101040306B (zh) 伪随机数生成装置
CN104238995B (zh) 一种非线性反馈移位寄存器
CN102197436A (zh) 用于多电平单元存储器的数据路径,用于存储的方法及用于利用存储器阵列的方法
KR101818441B1 (ko) 데이터 처리 장치 및 이의 동작 방법
CN101689396A (zh) 同时多维字可寻址存储器架构
CN101939749A (zh) 程序模糊方法和用于执行模糊程序的处理设备
US7106859B2 (en) Parallel data scrambler
CN101431405B (zh) Des加密方法及其硬件电路实现方法
CN103746796A (zh) 一种实现智能卡sm4密码算法的协处理器
CN106487500A (zh) 采用流水线实现aes算法处理的方法
CN108255464B (zh) 数据加扰方法、解扰方法及其装置
CN102307090B (zh) 基于ⅱ型最优正规基的椭圆曲线密码协处理器
CN102265266B (zh) 一种数据地址编码的方法及装置
RU2014134714A (ru) Способ записи и считывания данных
CN104836634B (zh) 码长n最小距离n‑1的置换码构造方法和码字序列发生器
US9424442B2 (en) Nonvolatile memory and electronic device
CN110298181A (zh) 数据加密存储方法、数据解密方法以及加密存储器芯片
CN111082918A (zh) 一种二维随机加扰的aes抗功耗攻击系统和方法
Tech et al. A novel encryption system using layered cellular automata
CN105849808A (zh) 双晶体管三态随机存取存储器
CN105515761B (zh) 一种高速多模式循环移位的电路
CN206470746U (zh) 随机化加扰器与随机化解扰器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant