CN108073528B - 非易失性存储器中的存储 - Google Patents
非易失性存储器中的存储 Download PDFInfo
- Publication number
- CN108073528B CN108073528B CN201710271670.0A CN201710271670A CN108073528B CN 108073528 B CN108073528 B CN 108073528B CN 201710271670 A CN201710271670 A CN 201710271670A CN 108073528 B CN108073528 B CN 108073528B
- Authority
- CN
- China
- Prior art keywords
- scrambling
- address
- volatile memory
- logical
- addresses
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/79—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/402—Encrypted data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及非易失性存储器中的存储,例如,一种用于加扰非易失性存储器中按页(P)组织的地址的方法,其中:该存储器展现包括一个或多个字节的字写入粒度(W);该存储器包括块擦除粒度(B),该块擦除粒度包括每个具有若干字的一个或多个页(P);以及当符合以下条件时,将逻辑地址(L‑ADD)转换成物理地址:当符合这些页的结构时,加扰(32)这些数据地址;以及当符合这些字的结构时,加扰(31)这些代码地址。
Description
技术领域
本说明书总体上涉及电子电路,并且更具体地涉及使用非易失性存储器的电路。本说明书更具体地旨在对非易失性存储器中(更具体地闪存中)的信息(数据和程序)的存储进行管理。
背景技术
集成电路可以包括鉴于他们处理的数据(如认证密钥、签名等)或他们使用的算法(如加密或解密算法)的安全性而被视为敏感的电路或信息(被称为秘密信息)。这种信息不得由第三方或未授权的电路传达,也不可被它们检测到。具体地,必须确保不能检测非易失性存储器中的这种信息的位置。
用于分析集成电路的操作的技术变得越来越强大,并且黑客受益于日渐复杂的分析技术。具体地,经由隐藏信道的攻击(对电路的功率损耗的分析、对其电磁辐射的分析等)日渐复杂。
发明内容
需要提高对电子电路处理的安全信息的保护。
还存在一种需要,该需要更具体地涉及在写入、读取和擦除粒度差异方面展现特定约束的闪存。
一个实施例克服了用于保护集成电路处理的信息的已知技术的所有或部分缺点。
一个实施例更具体地提供了适配成用于闪存的解决方案。
由此,一个实施例提供一种用于加扰非易失性存储器中按页组织的地址的方法,其中:
该存储器展现包括一个或多个字节的字写入粒度;
该存储器包括块擦除粒度,该块擦除粒度包括每个具有若干字的一个或多个页;以及
当符合以下条件时,将逻辑地址转换成物理地址:
当符合该页的结构时,加扰这些数据地址;
当符合该字的结构时,加扰这些代码地址。
根据一个实施例,当符合这些块的结构时,进一步加扰这些代码地址和数据地址。
根据一个实施例,地址加扰函数涉及表示密钥的字,所述密钥针对所有这些函数是完全相同或不同的。
根据一个实施例,对这些地址的该加扰修改表示该地址的最高有效位,而不修改表示该字在该页内的该地址的这些位。
根据一个实施例,用于加扰这些数据地址的函数修改表示该地址的最低有效位,而不修改表示该页地址的这些位。
根据一个实施例,将这些块汇编成块组。
根据一个实施例,用于加扰这些代码地址的函数修改表示该地址的最低有效位,而不修改表示该块组的该地址的这些位的该地址。
一个实施例还提供一种电子电路,该电子电路包括:
处理单元;
至少一个非易失性存储器;以及
地址加扰电路,该地址加扰电路位于该处理单元与该非易失性存储器之间,被设计成用于实施所描述的方法。
附图说明
这些特征和优点连同其他特征和优点一起将在以下关于附图以非限制性示例的方式给出的具体实施例的描述中详细呈现,在附图中:
图1较示意性地并以框图的形式示出了所描述的实施例以示例的形式应用于的类型的电子电路的一个实施例;
图2较示意性地并以框图的形式示出了配备有地址加扰电路的存储器电路的一个实施例;
图3较示意性地展示了存储器在逻辑空间和物理空间方面的组织;
图4较示意性地并以框图的形式示出了地址加扰电路的一个实施例;
图5示出了用于加扰代码地址的函数的一个示例性实施例;
图6示出了图5中用于处理代码地址的函数的一个示例性实施例;
图7示出了用于加扰数据地址的函数的一个示例性实施例;以及
图8示出了地址加扰函数的一个示例性实施例。
具体实施方式
在不同附图中,已经使用相同参考号标识相似元件。
为了清楚起见,仅示出和详述对于理解要描述的实施例有帮助的步骤和元件。
图1较示意性地并以框图的形式示出了将要描述的实施例以示例的形式应用于的类型的电子电路1的一个实施例。
电路1包括:
一个或多个处理单元11(PU),例如状态机、微处理器、可编程逻辑电路等;
一个或多个易失性存储区域12(RAM)(例如RAM存储器类型或寄存器),用于在处理操作期间临时存储信息(指令、地址、数据);
一个或多个非易失性存储区域13(NVM)(例如闪存类型),用于以永久性方式并且特别当电路未通电时存储信息;
一个或多个总线14,用于电路1内部的不同元件之间的数据、地址和/或命令;以及
一个或多个输入-输出接口15(I/O)(例如串行总线类型),用于与电路1的外部进行通信。当需要时,电路1还结合NFC(近场通信)通信类型的非接触式通信电路(CLF-非接触式前端)。
此外,电路1可以根据应用结合由图1中的框16(FCT)表示的其他函数,例如,密码处理器、其他接口、其他存储器等。
电路1或电路的包括至少一个非易失性存储器、易失性存储器元件和执行单元的一部分被认为是安全的,换言之,执行单元可以采用安全的方式从一个或多个存储器中提取信息并将信息存储在其中,并且还以安全的方式处理此信息。
另一方面,必须确保存储在非易失性存储器中的信息无法被不安全电路或执行单元利用。
所描述的实施例包括以特定方式对非易失性存储器中的信息的存储进行组织,以便防止对存储器的访问经由隐藏信道可被攻击者检测到。根据一个优选实施例,本发明还防止对此信息的读取可由未经授权的电路或单元使用。
在以下内容中,将描述更具体地适用于闪存的示例。然而,所有这些实施例更一般地适用于任何非易失性存储器。
非易失性存储器中的存储设备使用负责将逻辑地址转换为物理地址的接口或地址解码器。简单地说,逻辑地址与处理单元使用的地址相对应,并且物理地址定位信息在存储器中的物理位置。
根据所描述的实施例,以特定方式对存储器中的数据和代码进行加扰,以便使电路或单元在存储器中读取的不可用信息不拥有存储设备的组织规则。
图2较示意性地并以框图的形式示出了配备有地址加扰电路的存储器2的一个实施例。
存储器2包括由存储器单元的矩阵阵列形成的存储器平面22(MEM ARRAY)和地址解码器24(DECOD),该地址解码器负责将从地址总线26接收到的逻辑地址L-ADD解码成物理地址,以便将接收的信息INF定向到总线28上(写入)或提供在此总线28上读取的信息INF(读取)。总线28通常表示“数据总线”,这种数据表示存储在存储器中的内容。然而,在所描述的实施例中,从这些存储的数据值当中区分代码或指令(要执行的一个或多个程序以及算法)以及像这样的数据或变量,总线28任意表示“信息总线”,以便将其与地址总线区分开。
在图2中所示出的实施例中,地址加扰电路3(SCR UNIT)拦截逻辑地址L-ADD,以便在向将这些加扰的地址S-ADD转换为物理地址的地址解码器24提供加扰的地址S-ADD之前对它们进行加扰。由此,解码器24不直接转换逻辑地址L-ADD,而是加扰或混合(逻辑)地址。因此,因为读取信息不与期望的信息相对应,所以在不应用单元3的加扰法则的情况下,存储器中基于解码器24直接解码的逻辑地址L-ADD的读取信息提供不可用信息。
图3较示意性地展示了存储器2在逻辑空间和物理空间方面的组织。
逻辑存储器LOG(换言之,在地址方面的逻辑存储器空间)被分成具有完全相同或不同大小的两个区域I和II,旨在分别包含代码或指令CODE(要执行的一个或多个代码以及算法)以及像这样的数据DATA。假设数据随时间变化(换言之,改变值),而假设除了代码自身的更新外,代码是固定的。该数据对应于例如变量值、地址值、操作数等。
根据一个实施例,物理存储器或存储器平面22(其物理寻址)被分成具有一个或多个页的若干块B,每一页被分成具有一个或多个字节的字W。字与物理寻址的用于在存储器中写入或读取信息(数据或代码)的粒度相对应。块B与物理寻址的用于在存储器中擦除信息的粒度相对应。在实践中,对闪存而言,读取和写入粒度是字节,并且擦除粒度是页。然而,为了优化寻址,用于写入和读取的若干字节(一个字)以及用于擦除的若干页(一个块)可以以物理寻址级汇编。
想法是针对将以不同方式加扰的代码地址和数据地址。在此,利用如下事实:代码是固定的,这意味着其仅需要被读取访问,而数据值是可变的,并且因此必须是可写入的并且还是可擦除的。由此,将针对代码以字级并且针对数据以块级(或作为变体,以页级)粒度对地址进行加扰。当符合块结构时,进一步加扰所有代码地址和数据地址。
图4较示意性地并以框图的形式示出了地址加扰电路3的一个实施例。
根据此实施例,电路3包括用于在不改变区域地址(I或II)的情况下对分别接收逻辑代码地址和逻辑数据地址的地址进行加扰的两个单元或函数31和32。功能上,一分为二,接收逻辑地址L-ADD(例如从处理单元11)的地址总线26可以在多路复用器33上发送,负责将地址路由朝向一个或另一个单元31和32。当符合限定了存储器中的读取与写入之间的最小粒度的字W的结构时,单元31(W-ADD SCR)加扰地址。当符合限定了存储器中擦除的粒度的页P的(作为变体,块的)结构时,单元32(P-ADD SCR)加扰地址。多路复用器33由标识逻辑区域I或II的位上信号C/D控制,由此不论它是数据还是代码位。作为变体,多路复用器33被省略,并且地址总线26直接连接至单元31和32的地址输入端。
在所示出的实施例中,块也被混合,换言之,块的位置独立于它们包含数据或代码的事实而被混合。功能上,合二为一,多路复用器34接收由单元31和32加扰的地址,并将它们发送至用于以块级加扰地址(换言之混合存储空间中的块的位置)的单元35(B-ADDSCR)。单元35向解码器24(图2)提供加扰的地址S-ADD。多路复用器34由信号C/D控制。
在一个简化实施例中,将由多路复用器34提供的加扰的地址直接提供给地址解码器24,换言之数据的块保持相同的顺序,并且仅修改每个块中的页的顺序,而代码字的位置在每个块的内部被混合。
假设逻辑地址在逻辑空间内增加,信号C/D可以例如来自逻辑地址L-ADD相对于表示区域II的第一地址的阈值的比较。
执行的处理操作符合地址的大小,例如,k位。
对每个单元而言,每个单元31、32或35实施的加扰法则可以完全相同或不同。加扰法则可以预定义(换言之,被固定)或者可以取决于分别彼此完全相同或不同的加扰密钥KW、KP或KB。加扰密钥的使用例如允许加扰从一个电路到另一个电路的单独化。
图5至图8示出了用于加扰地址的函数31、32和35的示例性实施例。
任意假设前三个地址位(最低有效位——lsb)标识一个字中的字节。例如,考虑64位(即8字节)的代码或指令字,地址的三个最低有效位标识字中的字节,并且k-3个剩余地址位因此标识该字。
还假设所有加扰函数使用表示密钥KB、KW和KP的相同密钥“key”。
图5示出了用于加扰代码地址的函数31的一个示例性实施例。
将地址L-ADD的k-3个最高有效位msb发送至块加扰函数A1,而3个最低有效位在不被修改的情况下通过单元31。函数A1接收例如16位的密钥“key”,以便加扰k-3个最高有效位。由此,在逻辑存储器中具有连续地址的代码的字被加扰(划分)成若干存储器页,优选地被发送至不同块。加扰适用于k-3个最高有效位,这因此指2^3=8字节(64位)的字的加扰。加扰符合字的结构,该字的结构是存储器的最小读取单元。
根据一个变体实施例,由于还期望保护以阻止外部电路的未经授权的读取,因此还将混合每个字中的字节。为此目的,添加在输入端接收三个最低有效位以及在输出端提供三个加扰位的块。密钥“key”以及k-3个最高有效地址位可以例如被用作针对字节的加扰密钥。由此,还加扰k-3个地址位,最高有效位表示字W。
图6示出了图5中用于处理地址L-ADD的k-3位(L-ADD[3:k])的函数A1的一个示例性实施例。
假设考虑块组或宏块。例如,在2^k字节的存储器中,存在2^r个每个大小为2^s字节的组。在k位中,r个最高有效位标识该组,并且随后的s位(包括在k-r与k-r-3之间)标识该区域中的字节。
应当注意的是,存储器的大小不必是二的次幂。例如,可能存在每个为2^s字节的R<=2^r个组。在这种情况下,构成了在大小不必等于2的次幂的整数集合(地址)上的置换,换言之,x和y取自在[0;R*2^s-1]内的值集合内的函数y=f(x)。然而,更容易构造如图6中所示出的保持块组中的结构的加扰。图4中的框35负责在所有组上延伸加扰,同时符合块结构。
组越大,加扰越佳,但是这降低了存储器区域的可能提供的粒度。例如,对64千字节(s=16)的组而言,假设应用需要130千字节,需要提供具有192千字节的粒度。
在图6中的示例中,表示组的数量的值r被用作多样化值。这些r位不被函数A1修改。该s(或k-3-r)个剩余位通过异或类型的函数A2与密钥“key”和该r位相组合,密钥和该r位级联。函数A2是一个特别简单的示例,但是可以提供任何其他随机置换。
函数A1的第二可选步骤在于一一对应地使用最低有效位对最高有效位进行置换。列的位k-3-r变成列的位4,列的位k-r-1变成列的位5等,直到变成列的位k-3-r的列的位4。此第二步骤提高了函数A2操作的加扰的鲁棒性,以便增加两个连续代码字位于不同块中的可能性。
图7示出了用于加扰数据地址的函数32的一个示例性实施例。
在此,期望不仅符合块结构而且符合页结构,以便与按页擦除相兼容。实际上,对代码而言,可能已经应用了相同的函数,但是然后将造成以下问题:在页擦除操作过程中,事实上将有必要临时保存整个区域II并擦除此区域的所有页,这在实践中是不切实际的。
在所示出的实施例中,假设2^n字节的页和2^m页的块。存储器的大小然后是R*2^s字节(R<=2^r),并且因此存储器中存在R*2^(s-m-n)个块。根据一个具体的示例性实施例,n=9,m=2,s=15,k=18,以及由此r=3。
任意假设代码字和数据字不具有相同大小,并且例如数据字超过32位,而代码字超过64位。
根据图7中所展示的此示例,考虑到两个最低有效位表示数据字内一个字节的地址。因此,这些位通过函数32,而不被修改。
在k-2个剩余位当中,表示字在页内的地址的n-2个最低有效位经历函数B1。根据一个简化实施例,此函数B1是具有k-n个最高有效位和密钥“key”的异或类型的函数。
在地址L-ADD的k-n个最高有效位当中,k-m-n位例如保持不变,并且m个剩余位经历函数B2(例如,具有m个最高有效位和密钥“key”的异或类型的函数)。
图7中的示例符合数据字结构(相同逻辑字中的两字节将保留在相同物理字中)、页结构(相同逻辑页中的两个字保留在相同物理页中)和块结构。图7不加扰这些块,换言之,k-m-n个最高有效位不被加扰。
图8示出了用于加扰(用于置换)这些块的函数35的一个示例性实施例。
来自函数31和32的地址C-ADD和D-ADD在符合块结构时经历加扰。由此,不修改k个地址位的m+n个最低有效位,而k-m-n个最高有效位经历函数D1。
已经描述的实施例的一个优势是它们允许地址以对处理单元和对存储器的地址解码器两者透明的方式被加扰。
已经描述了不同实施例。应注意的是,可以结合这些不同实施例和它们的变体。对本领域技术人员而言其他变化和修改将是明显的。最后,基于上文给出的函数指示,本领域技术人员可获得已经描述的实施例的实际实施方式。具体地,尽管本说明书使用与硬件实施方式相对应的词汇,但是软件实施方式是可能的。
Claims (30)
1.一种用于加扰非易失性存储器(2)中按页(P)组织的地址的方法,其中:
所述存储器展现包括一个或多个字节的字写入粒度(W);
所述存储器(2)包括块擦除粒度(B),所述块擦除粒度包括每个具有若干字的一个或多个页(P);以及
当符合以下条件时,将逻辑地址(L-ADD)转换成物理地址:
当符合所述页的结构时,加扰数据地址(32);以及
当符合所述字的结构时,加扰代码地址(31),其中对所述数据地址的加扰不同于对所述代码地址的加扰。
2.根据权利要求1所述的方法,其中,当符合所述块(B)的结构时,进一步加扰所述代码地址和所述数据地址(35)。
3.根据权利要求1和2中任一项所述的方法,其中,地址加扰函数(31,32,35)涉及对表示密钥的字的使用,所述密钥针对所有所述函数是完全相同或不同的。
4.根据权利要求1所述的方法,其中,对所述地址的所述加扰修改表示所述地址的最高有效位(k-3;k-2),而不修改表示所述字在所述页内的所述地址的所述位。
5.根据权利要求1所述的方法,其中,用于加扰所述数据地址的函数(32)修改表示所述地址的最低有效位(n),而不修改表示所述页地址的所述位(n)。
6.根据权利要求1所述的方法,其中,将所述块汇编成块组。
7.根据权利要求6所述的方法,其中,用于加扰所述代码地址的函数(31)修改表示所述地址的最低有效位(k-r),而不修改表示所述块组的所述地址的所述位(r)的所述地址。
8.一种电子电路(1),包括:
处理单元(11);
至少一个非易失性存储器(13);以及
地址加扰电路(3),所述地址加扰电路位于所述处理单元与所述非易失性存储器之间,被设计成用于实施根据权利要求1至7中任一项所述的方法。
9.一种加扰方法,包括:
通过以下操作将逻辑地址加扰到物理地址,该加扰使用了以页面组织的并且具有一个或多个字节的字写入粒度和一个或多个页面的块擦除粒度的非易失性存储器的加扰电路:
基于所述非易失性存储器的页面结构加扰逻辑数据地址;以及
基于所述非易失性存储器的字结构加扰逻辑代码地址,其中对所述逻辑数据地址的加扰不同于对所述逻辑代码地址的加扰;并且
根据所述物理地址执行内存操作。
10.根据权利要求9所述的方法,包括基于所述非易失性存储器的块结构加扰所述逻辑地址。
11.根据权利要求9所述的方法,其中,所述加扰是基于与所述非易失性存储器的所述字结构、所述页面结构和所述块结构中的一个或多个相关联的一个或多个密钥。
12.根据权利要求9所述的方法,其中,所述加扰包括修改表示地址的一组最高有效位,而不修改表示页面内的字的位。
13.根据权利要求9所述的方法,其中加扰数据地址包括修改表示所述数据地址的一组最低有效位,而不修改表示所述数据地址的页面的位。
14.根据权利要求9所述的方法,其中,所述块被组织成块组。
15.根据权利要求14所述的方法,其中,加扰代码地址包括修改表示所述代码地址的一组最低有效位,而不修改表示一组块的地址的位。
16.一种电路,包括:
至少一个非易失性存储器,以页面形式组织并且具有一个或多个字节的字写入粒度和一个或多个页面的块擦除粒度;以及
加扰电路,耦合到所述非易失性存储器,并且在操作中,通过以下操作将逻辑地址转换为物理地址:
基于所述非易失性存储器的页面结构加扰逻辑数据地址;以及
基于所述非易失性存储器的字结构加扰逻辑代码地址,其中对所述逻辑数据地址的加扰不同于对所述逻辑代码地址的加扰。
17.根据权利要求16所述的电路,其中所述加扰电路在操作中基于所述非易失性存储器的块结构加扰所述逻辑地址。
18.根据权利要求16所述的电路,其中所述加扰电路在操作中基于与所述非易失性存储器的所述字结构、所述页面结构和所述块结构中的一个或多个相关联的一个或多个密钥加扰地址。
19.根据权利要求16所述的电路,其中所述加扰电路在操作中加扰地址是通过:修改表示地址的一组最高有效位,而不修改表示页面内的字的位。
20.根据权利要求16所述的电路,其中所述加扰电路在操作中加扰数据地址是通过:修改表示所述数据地址的一组最低有效位,而不修改表示所述数据地址的页面的位。
21.根据权利要求16所述的电路,其中所述非易失性存储器的块被组织成块组。
22.根据权利要求16所述的电路,其中所述加扰电路在操作中加扰代码地址是通过:修改表示所述代码地址的一组最低有效位,而不修改表示一组块的地址的位。
23.一种非暂态计算机可读介质,具有使非易失性存储器的加扰电路将逻辑地址加扰成物理地址的内容,所述非易失性存储器以页面形式组织并且具有一个或多个字节的字写入粒度和一个或多个页面的块擦除粒度,所述加扰包括:
基于所述非易失性存储器的页面结构加扰逻辑数据地址;以及
基于所述非易失性存储器的字结构加扰逻辑代码地址,其中使用所述物理地址执行所述非易失性存储器中的操作,并且对所述逻辑数据地址的加扰不同于对所述逻辑代码地址的加扰。
24.根据权利要求23所述的非暂态计算机可读介质,其中,所述加扰包括基于所述非易失性存储器的块结构来加扰所述逻辑地址。
25.根据权利要求23所述的非暂态计算机可读介质,其中,所述加扰基于与所述非易失性存储器的所述字结构,所述页面结构和所述块结构中的一个或多个相关联的一个或多个密钥。
26.根据权利要求23所述的非暂态计算机可读介质,其中所述加扰电路包括处理器,并且所述内容包括由所述处理器执行的指令。
27.一种加扰***,包括:
数据处理电路;
非易失性存储器,以页面形式组织并且具有一个或多个字节的字写入粒度和一个或多个页面的块擦除粒度;以及
加扰电路,耦合在所述数据处理电路和所述非易失性存储器的解码器之间,其中所述加扰电路在操作中通过以下操作将逻辑地址转换为物理地址:
基于所述非易失性存储器的页面结构加扰逻辑数据地址;以及
基于所述非易失性存储器的字结构加扰逻辑代码地址,其中对所述逻辑数据地址的加扰不同于对所述逻辑代码地址的加扰。
28.根据权利要求27所述的***,其中,所述加扰电路在操作中基于所述非易失性存储器的块结构加扰所述逻辑地址。
29.根据权利要求27所述的***,其中,所述加扰电路在操作中加扰地址是通过:修改表示地址的一组最高有效位,而不修改表示页内字的位。
30.根据权利要求27所述的***,其中,所述***包括集成电路,所述集成电路至少包括所述非易失性存储器和所述加扰电路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1661108A FR3058813A1 (fr) | 2016-11-16 | 2016-11-16 | Stockage dans une memoire non volatile |
FR1661108 | 2016-11-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108073528A CN108073528A (zh) | 2018-05-25 |
CN108073528B true CN108073528B (zh) | 2021-10-29 |
Family
ID=58009979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710271670.0A Active CN108073528B (zh) | 2016-11-16 | 2017-04-24 | 非易失性存储器中的存储 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10649916B2 (zh) |
EP (1) | EP3324327B1 (zh) |
CN (1) | CN108073528B (zh) |
FR (1) | FR3058813A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408403A (zh) * | 2018-10-12 | 2019-03-01 | 深圳市硅格半导体有限公司 | 基于存储设备底层的映射方法、装置、***及存储介质 |
TW202223667A (zh) * | 2020-09-03 | 2022-06-16 | 美商Flc科技集團公司 | 具有預擾頻器之雜湊函數 |
TWI774183B (zh) * | 2021-01-08 | 2022-08-11 | 瑞昱半導體股份有限公司 | 具有位址打亂機制的記憶體存取裝置及其記憶體存取方法 |
US11573854B2 (en) * | 2021-02-02 | 2023-02-07 | Nvidia Corporation | Techniques for data scrambling on a memory interface |
US11695429B2 (en) | 2021-07-29 | 2023-07-04 | Samsung Display Co., Ltd. | Systems and methods for transition encoding with protected key |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5943283A (en) * | 1997-12-05 | 1999-08-24 | Invox Technology | Address scrambling in a semiconductor memory |
GB2424089A (en) * | 2005-03-09 | 2006-09-13 | Sharp Kk | Side channel attack prevention in data processing apparatus such as a smart card |
CN101370121A (zh) * | 2007-08-17 | 2009-02-18 | 陈意辉 | Ibtv矩阵环流数字电视与数据广播单向点播*** |
CN101673581A (zh) * | 2008-06-13 | 2010-03-17 | 三星电子株式会社 | 存取半导体存储设备的存储***和方法 |
CN103777904A (zh) * | 2014-02-12 | 2014-05-07 | 威盛电子股份有限公司 | 数据储存装置以及数据加扰与解扰方法 |
CN104156317A (zh) * | 2014-08-08 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种非易失性闪存的擦写管理方法及*** |
CN104995634A (zh) * | 2013-03-18 | 2015-10-21 | 英特尔公司 | 信任单元之间的密钥刷新 |
CN105324956A (zh) * | 2013-06-27 | 2016-02-10 | 高通股份有限公司 | 加密明文数据的方法及设备 |
CN105608050A (zh) * | 2015-12-31 | 2016-05-25 | 华为技术有限公司 | 数据存储方法及*** |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6523119B2 (en) * | 1996-12-04 | 2003-02-18 | Rainbow Technologies, Inc. | Software protection device and method |
FR2814620B1 (fr) * | 2000-09-28 | 2002-11-15 | Gemplus Card Int | Procede de transmission accelere de signature electronique |
JP3595540B2 (ja) * | 2002-01-29 | 2004-12-02 | 株式会社関西総合環境センター | 育苗用の開放型空調装置 |
US8843693B2 (en) * | 2011-05-17 | 2014-09-23 | SanDisk Technologies, Inc. | Non-volatile memory and method with improved data scrambling |
US9459955B2 (en) * | 2012-05-24 | 2016-10-04 | Sandisk Technologies Llc | System and method to scramble data based on a scramble key |
US20140245020A1 (en) * | 2013-02-22 | 2014-08-28 | Guardtime Ip Holdings Limited | Verification System and Method with Extra Security for Lower-Entropy Input Records |
US10176121B2 (en) * | 2013-07-15 | 2019-01-08 | Infineon Technologies Ag | Apparatus and method for memory address encryption |
US9959077B2 (en) * | 2014-11-18 | 2018-05-01 | Tidal Systems, Inc. | Data randomization for flash memory |
ES2750652T3 (es) * | 2015-06-30 | 2020-03-26 | Ericsson Telefon Ab L M | Métodos y dispositivos para manejar firmas de datos basados en árboles hash |
US20170093823A1 (en) * | 2015-09-25 | 2017-03-30 | Vinodh Gopal | Encrypting Observable Address Information |
US10417122B2 (en) * | 2015-09-30 | 2019-09-17 | Seagate Technology Llc | Data randomization using memory block access counts |
US10372948B2 (en) * | 2015-12-15 | 2019-08-06 | Taiwan Semiconductor Manufacturing Company Ltd. | Scrambling apparatus and method thereof |
-
2016
- 2016-11-16 FR FR1661108A patent/FR3058813A1/fr active Pending
-
2017
- 2017-04-05 EP EP17165116.9A patent/EP3324327B1/fr active Active
- 2017-04-13 US US15/486,947 patent/US10649916B2/en active Active
- 2017-04-24 CN CN201710271670.0A patent/CN108073528B/zh active Active
-
2020
- 2020-04-06 US US16/841,403 patent/US11003595B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5943283A (en) * | 1997-12-05 | 1999-08-24 | Invox Technology | Address scrambling in a semiconductor memory |
GB2424089A (en) * | 2005-03-09 | 2006-09-13 | Sharp Kk | Side channel attack prevention in data processing apparatus such as a smart card |
CN101370121A (zh) * | 2007-08-17 | 2009-02-18 | 陈意辉 | Ibtv矩阵环流数字电视与数据广播单向点播*** |
CN101673581A (zh) * | 2008-06-13 | 2010-03-17 | 三星电子株式会社 | 存取半导体存储设备的存储***和方法 |
CN104995634A (zh) * | 2013-03-18 | 2015-10-21 | 英特尔公司 | 信任单元之间的密钥刷新 |
CN105324956A (zh) * | 2013-06-27 | 2016-02-10 | 高通股份有限公司 | 加密明文数据的方法及设备 |
CN103777904A (zh) * | 2014-02-12 | 2014-05-07 | 威盛电子股份有限公司 | 数据储存装置以及数据加扰与解扰方法 |
CN104156317A (zh) * | 2014-08-08 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种非易失性闪存的擦写管理方法及*** |
CN105608050A (zh) * | 2015-12-31 | 2016-05-25 | 华为技术有限公司 | 数据存储方法及*** |
Non-Patent Citations (1)
Title |
---|
基于PRESENT算法的智能卡芯片存储加密;王亚楠等;《清华大学学报(自然科学版)》;20131215;第1708-1712页 * |
Also Published As
Publication number | Publication date |
---|---|
US10649916B2 (en) | 2020-05-12 |
CN108073528A (zh) | 2018-05-25 |
FR3058813A1 (fr) | 2018-05-18 |
EP3324327A1 (fr) | 2018-05-23 |
EP3324327B1 (fr) | 2018-11-28 |
US20180137061A1 (en) | 2018-05-17 |
US20200233815A1 (en) | 2020-07-23 |
US11003595B2 (en) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108073528B (zh) | 非易失性存储器中的存储 | |
US8347114B2 (en) | Method and apparatus for enforcing a predetermined memory mapping | |
US7185208B2 (en) | Data processing | |
US7876894B2 (en) | Method and system to provide security implementation for storage devices | |
US11411747B2 (en) | Nonvolatile memory device with regions having separately programmable secure access features and related methods and systems | |
US9343162B2 (en) | Protection against side-channel attacks on non-volatile memory | |
KR102208072B1 (ko) | 데이터 처리 시스템 | |
US8867746B2 (en) | Method for protecting a control device against manipulation | |
JP4611027B2 (ja) | 不揮発性メモリモジュールを有する回路構成および不揮発性メモリモジュールにおけるデータの暗号化/暗号解読の方法 | |
KR20040041642A (ko) | 대량 저장 장치의 암호화/복호화를 위한 방법 및 장치 | |
CN103824032A (zh) | 在微控制器中用于数据安全性处理的方法和装置 | |
CN106487499B (zh) | Rijndael算法的保护 | |
US11783094B2 (en) | System and method for providing protected data storage in data memory | |
KR20060135467A (ko) | 보호된 비휘발성 메모리를 사용하는 시스템 및 방법 | |
JP2022554288A (ja) | メモリサブシステムへの暗号鍵の委任 | |
CN112395654A (zh) | 存储装置 | |
EP3096259B1 (en) | Security ram block with multiple partitions | |
KR100838671B1 (ko) | 암호코드 대조기능을 갖는 휴대형 정보처리 장치 | |
KR20180059217A (ko) | 메모리 데이터 보안 처리 장치 및 방법 | |
CN109471809B (zh) | 一种芯片的flash加密保护方法、装置、flash控制器及芯片 | |
CN114153376A (zh) | 安全闪存控制器 | |
JP2000181802A (ja) | 半導体記憶装置 | |
US11061996B2 (en) | Intrinsic authentication of program code | |
CN113536331B (zh) | 存储器和计算***的数据安全 | |
KR100398620B1 (ko) | 암호화 회로를 포함하는 메모리 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230516 Address after: Geneva, Switzerland Patentee after: STMicroelectronics International N.V. Address before: Rousse Patentee before: STMICROELECTRONICS (ROUSSET) S.A.S. Patentee before: PROTON WORLD INTERNATIONAL N.V. |
|
TR01 | Transfer of patent right |