CN117215488A - 用于nfc安全元件的数据存储方法、装置及nfc安全元件 - Google Patents
用于nfc安全元件的数据存储方法、装置及nfc安全元件 Download PDFInfo
- Publication number
- CN117215488A CN117215488A CN202311233480.1A CN202311233480A CN117215488A CN 117215488 A CN117215488 A CN 117215488A CN 202311233480 A CN202311233480 A CN 202311233480A CN 117215488 A CN117215488 A CN 117215488A
- Authority
- CN
- China
- Prior art keywords
- page number
- physical address
- data
- virtual address
- page
- 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.)
- Pending
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 title description 11
- 238000013507 mapping Methods 0.000 claims abstract description 72
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000005856 abnormality Effects 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 4
- 230000000875 corresponding effect Effects 0.000 description 42
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 7
- 238000013519 translation Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000001824 photoionisation detection Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Abstract
本申请涉及数据处理技术领域,公开一种用于NFC安全元件的数据存储方法,包括:响应于数据存储指令;在数据存储指令为写入指令的情况下,计算待写入数据在NFC安全元件中的第一目标虚拟地址的第一虚拟地址页面号;在NFC安全元件的物理地址空间中查找未与已有虚拟地址建立映射关系的空闲物理地址,并将空闲物理地址的页面号作为目标物理地址页面号;将待写入数据写入目标物理地址页面号所对应的目标物理地址,并将页面映射表中的第一虚拟地址页面号与目标物理地址页面号相关联。该方法在保证访问容量的情况下,提高非易失性存储器的寿命。本申请还公开一种用于NFC安全元件的数据存储装置及NFC安全元件。
Description
技术领域
本申请涉及数据处理技术领域,例如涉及一种用于NFC安全元件的数据存储方法、装置及NFC安全元件。
背景技术
目前,NFC(Near Field Communication,近场通信)在通信过程中,由与其连接的SE(Secure Element,安全元件)芯片提供安全可信的执行安全可信的执行环境。SE芯片上运行基于Java card技术的卡片操作系统,该系统可运行各种Java card的应用程序。其中,部分应用程序对flash数据存储寿命有较高的要求,且这些应用程序对应的存储空间是采用动态申请的方式,这使得对应的存储空间可能面临极高擦写次数,影响flash寿命。
相关技术中公开一种面向非易失性内存的磨损均衡及访问方法,包括:在满足预设触发条件时,将非易失性内存在逻辑上划分为p个级别的物理单位,所述非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数;在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
相关技术使得每个级别的物理单位的容量受限,如果某一级别的擦写次数较高,仍会影响寿命。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于NFC安全元件的数据存储方法、装置及NFC安全元件,在保证访问容量的情况下,提高非易失性存储器的寿命。
在一些实施例中,所述方法包括:
响应于数据存储指令;在数据存储指令为写入指令的情况下,计算待写入数据在NFC安全元件中的第一目标虚拟地址的第一虚拟地址页面号;在NFC安全元件的物理地址空间中查找未与已有虚拟地址建立映射关系的空闲物理地址,并将空闲物理地址的页面号作为目标物理地址页面号;将待写入数据写入目标物理地址页面号所对应的目标物理地址,并将页面映射表中的第一虚拟地址页面号与目标物理地址页面号相关联。
在一些实施例中,所述装置包括:处理器和存储有程序指令的存储器,所述处理器被配置为在运行所述程序指令时,执行如前述的用于NFC安全元件的数据存储方法。
在一些实施例中,所述NFC安全元件包括:
非易失性储存器,包括:虚拟地址空间,被配置为存储虚拟地址;物理地址空间,被配置为存储物理地址;
地址转换组件,分别与虚拟地址空间与物理地址空间连接,被配置为完成虚拟地址和物理地址之间的转换,并存储虚拟地址与物理地址的页面映射表;和,
如前述的用于NFC安全元件的数据存储装置,被安装于非易失性储存器。
本公开实施例提供的用于NFC安全元件的数据存储方法、装置及NFC安全元件,可以实现以下技术效果:
本公开实施例中,在向NFC安全元件的非易失性存储器写入数据时,获得待写入的第一目标虚拟地址对应的第一虚拟地址页面号。并在NFC安全元件物理地址空间中查找空闲物理地址对应的页面号,即未与已有虚拟地址页面号建立映射关系的空闲物理地址页面号。而后向该空闲物理地址页面号对应的目标物理地址写入数据,并将页面映射表中的第一虚拟地址页面号与目标物理地址页面号相关联。这样,使得非易失性存储器页面擦写时,第一目标虚拟地址对应的原物理地址会轮换为空闲物理地址即目标物理地址。如此,避免了某些物理地址的页面被反复擦写,有助于提高非易失性存储器的寿命。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1是本公开实施例提供的一个NFC安全元件的结构示意图;
图2是本公开实施例提供的另一个NFC安全元件的结构示意图;
图3是本公开实施例提供的一个用于NFC安全元件的数据存储方法的示意图;
图4是本公开实施例提供的一个MapTable的结构示意图;
图5是本公开实施例提供的一个页面映射关系的示意图;
图6是本公开实施例提供的另一个用于NFC安全元件的数据存储方法的示意图;
图7是本公开实施例提供的一个日志记录数据的格式示意图;
图8是本公开实施例提供的另一个用于NFC安全元件的数据存储方法的示意图;
图9是本公开实施例提供的另一个用于NFC安全元件的数据存储方法的示意图;
图10是本公开实施例提供的一个用于NFC安全元件的数据存储装置的示意图;
图11是本公开实施例提供的另一个NFC安全元件的示意图。
附图标记:
100:MCU/处理器;200:地址转换组件;201:MMU;202:RAM;300:非易失性储存器;400:数据存储装置;500:NFC安全元件;102:通信接口;101:存储器;103:总线。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
术语“对应”可以指的是一种关联关系或绑定关系,A与B相对应指的是A与B之间是一种关联关系或绑定关系。
结合图1和图2,NFC安全元件包括MCU(Micro Controller Unit,微控制单元)100、地址转换组件200和非易失性储存器(如Flash)300。其中,地址转换组件200连接MCU和非易失性储存器。非易失性储存器包括物理地址空间和虚拟地址空间。在MCU产生虚拟地址对非易失性储存器进行数据存储时,通过地址转换组件将虚拟地址转换为物理地址,以对非易失性储存器进行数据存储。且地址转换组件存储虚拟地址与物理地址的页面映射表。
地址转换组件200包括MMU(Memory Management Unit,内存管理单元)201和RAM(Random Access Memory,随机存取器)202。MMU与MCU、非易失性储存器分别通过总线连接。RAM存储器与MMU总线连接,用于存储物理地址和虚拟地址的页面映射表。在MCU产生虚拟地址时,MMU通过RAM中的页面映射表查询对应的物理地址,而后基于物理地址对非易失性储存器进行数据访问。
可选地,物理地址空间包括分配区空间和备份区空间。分配区空间容量大于或等于虚拟地址空间容量,从而实现物理地址页面的轮换。在分配区空间容量不足时,则通过备份区空间进行数据存储,从而保证有冗余的物理地址页面进行轮换。
可选地,非易失性储存器还包括日志区空间,在页面映射表更新时,存储页面映射表的更新记录数据。防止RAM存储器的页面映射表数据丢失后,无法重构页面映射表。进一步地,日志区空间的容量与分配区空间的容量正相关。如此,保证页面轮换记录数据均能得到保存。
可选地,非易失性储存器还包括MTR(Mini-Transaction,物理事物)区空间。用于存储页面映射表的数据,在日志区空间写满后,将最新的页面映射表数据存储至MTR存储空间进行保存。这样,可以将日志区空间的记录数据清除,以便再次记录。同时,最新的页面映射表数据也得到保存。在RAM存储器的页面映射表数据丢失后,可根据日志区空间和MTR存储空间中的数据,重新构建页面映射表。进一步地,MTR区空间的容量大于或等于两倍页面映射表的容量。如此,保证页面映射表能够保存于MTR区空间。
可选地,RAM还包括预设寄存器,在通过软件修改页面映射表前,被写入字符;如果写入的字符和预设字符匹配,则允许通过软件修改映射关系表。如此,避免非法修改页面映射表。
基于上述NFC安全元件,结合图3所示,本公开实施例提供一种用于NFC安全元件的数据存储的方法,包括:
S101,处理器响应于数据存储指令。
S102,在数据存储指令为写入指令的情况下,处理器获得待写入数据在NFC安全元件中的第一目标虚拟地址的第一虚拟地址页面号。
S103,处理器在NFC安全元件的物理地址空间中查找未与已有虚拟地址建立映射关系的空闲物理地址,并将空闲物理地址的页面号作为目标物理地址页面号。
S104,处理器将待写入数据写入目标物理地址页面号所对应的目标物理地址,并将页面映射表中的第一虚拟地址页面号与目标物理地址页面号相关联。
数据存储包括数据的写入和数据的读取。本公开实施例涉及数据的写入,特别是涉及通过虚拟地址写入数据。处理器是指NFC安全元件中的MCU。这里,虚拟地址和物理地址之间的转换,是通过页面映射表中的虚拟地址和物理地址的映射关系进行转换。具体地,页面映射表为虚拟地址页面号和物理地址页面号(这里以符号VID表示虚拟地址页面号、符号PID表示物理地址页面号)的对应关系表。虚拟地址和虚拟地址页面号之间存在第一关系,且每个虚拟地址对应唯一一个虚拟地址页面号。物理地址和物理地址页面号之间存在第二关系,且每个物理地址对应唯一一个物理地址页面号。这样,虚拟地址和物理地址通过对应的页面号进行映射,从而实现虚拟地址到物理地址的转换。
其中,页面映射表是利用MapTable表进行数据映射管理。结合图4所示,MapTable表可理解为一维数组,数组的下标表示虚拟地址页面号(VID),数组的内容为对应的物理地址页面号(PID)。
在处理器接收到写入数据指令时,获取待写入的第一目标虚拟地址的第一虚拟地址页面号。而后在物理地址空间中查找未与虚拟地址页面号建立映射关系的空闲物理地址页面号,该空闲物理地址页面号即为目标物理地址对应的页面号。最后,将待写入数据存储于该目标物理地址,并在页面映射表中将第一虚拟地址页面号与目标物理地址页面号进行关联。如此,在向虚拟地址写入数据时,每次都在空闲物理地址中写入。这使得虚拟地址对应的物理地址在不断地更新,即实现新旧物理页面的轮换。
需要说明地是,在接收到写入数据指令时,如果待写入的地址为物理地址,则直接将待写入的数据存储于该物理地址。如果待写入的地址为虚拟地址,则通过上述方式确定目标物理地址进行数据存储。
采用本公开实施例提供的用于NFC安全元件的数据存储方法,在向NFC安全元件的非易失性存储器写入数据时,获得待写入的第一目标虚拟地址对应的第一虚拟地址页面号。并在NFC安全元件物理地址空间中查找空闲物理地址对应的页面号,即未与已有虚拟地址页面号建立映射关系的空闲物理地址页面号。而后向该空闲物理地址页面号对应的目标物理地址写入数据,并将页面映射表中的第一虚拟地址页面号与目标物理地址页面号相关联。这样,使得非易失性存储器页面擦写时,第一目标虚拟地址对应的原物理地址会轮换为空闲物理地址即目标物理地址。如此,避免了部分物理地址的页面被反复擦写,有助于提高非易失性存储器的寿命。
可选地,步骤S102,处理器获得待写入数据在NFC安全元件中的第一目标虚拟地址的第一虚拟地址页面号,包括:
处理器获得NFC安全元件中虚拟地址空间的虚拟页面大小。
处理器根据虚拟页面大小和第一目标虚拟地址确定第一虚拟地址页面号。
这里,地址轮换是以页面大小为单位,进行新旧页面的替换。因此,物理地址和虚拟地址分别对应物理页面大小和虚拟页面大小。其中,物理页面大小和虚拟页面大小为预设值,可自行设定。虚拟地址和虚拟地址页面号的第一关系,为基于虚拟页面大小的关系。具体地,虚拟地址为虚拟页面大小和虚拟地址页面号的乘积,即虚拟地址和虚拟地址页面大小的商即为虚拟地址对应的页面号(VID=Vaddr/Vsize,Vaddr为虚拟地址,Vsize为虚拟页面大小)。
可选地,步骤S103,处理器将空闲物理地址的页面号作为目标物理地址页面号包括:
处理器根据空闲物理地址和物理页面大小,确定空闲物理地址页面号。
这里,在写入数据时,扫描物理地址空间的所有页面(所有页面是指分配区空间和备份区空间中的所有页面),以获得空闲页面的空闲物理地址。其中,空闲物理地址为多个空闲物理地址中的任意一个。进而,基于物理页面大小,计算空闲物理地址页面号。如前文所述的虚拟地址页面号的计算方法,PID=Paddr/Psize,Paddr为物理地址,Psize为物理页面大小。
此外,在一些实施例中,写入数据时,可以在页面映射表中查询标记为空闲的PID,而后基于该PID和上文的公式,确定对应的空闲物理地址。以将数据写入该空闲物理地址的页面中。在这种情况下,空闲物理地址(即目标物理地址)通过以下方式确定:根据物理页面大小和目标物理地址页面号确定初始物理地址。利用虚拟地址页面偏移量对初始物理地址进行修正,以获得目标物理地址。其中,虚拟地址页面偏移量是第一目标虚拟地址和虚拟地址页面大小相除的余数。符号%表示取余,作为一种示例,Paddr=PID×Psize+Vaddr%Vsize。
可选地,步骤S104,处理器将页面映射表中的第一虚拟地址页面号与目标物理地址页面号相关联,包括:
处理器通过页面映射表确定第一虚拟地址页面号所对应的第一物理地址页面号。
处理器将第一物理地址页面号标记为空闲物理地址页面号。并,
处理器将第一虚拟地址页面号对应的物理地址页面号更新为目标物理地址页面号。
这里,将第一虚拟地址页面号和目标物理地址页面号相关联,包括两部分内容,这两部分内容不分先后顺序。第一部分内容,将第一虚拟地址页面对应的第一物理地址页面号(可以理解为旧物理地址页面号)标记为空闲的页面号,即将旧物理地址页面号释放。第二部分内容,将第一虚拟地址页面号与目标物理地址页面号进行映射,即第一虚拟地址页面号对应的物理地址页面号由第一物理地址页面号更新为目标物理地址页面号。如此,在向同一个虚拟地址高频写入数据时,与该虚拟地址对应的物理地址不停地进行轮换。从而避免某一物理地址页面被高频次擦写,降低非易失性储存器的寿命。
结合图5进行说明,具体地,非易失性储存器为Flash,Flash容量为2M。物理页面大小为2048字节。物理地址空间:0x0C000000~0x0C1FFFFF。虚拟地址空间:0x0A000000~0x0A1FBFFF。图中左侧表为虚拟地址页面号及对应的虚拟地址,右侧表为物理地址页面号及对应的物理地址,中间为页面映射表。以虚拟地址页面号6为例进行说明,当前虚拟地址页面号6与物理地址页面号7对应。同时假设物理地址空间中的地址0x0C1FFFFF页面为空闲页面。在写入数据且第一目标虚拟地址对应VID=6时,查找确定PID=max对应的物理地址为空闲物理地址,则向该物理地址页面写入数据。而后,将页面映射表中VID=6对应的PID更新为max,同时,将旧PID(即PID=6)进行释放,标记为空闲的PID。
结合图6所示,本公开实施例提供另一种用于NFC安全元件的数据存储的方法,包括:
S101,处理器响应于数据存储指令。
S102,在数据存储指令为写入指令的情况下,处理器获得待写入数据在NFC安全元件中的第一目标虚拟地址的第一虚拟地址页面号。
S103,处理器在NFC安全元件的物理地址空间中查找未与已有虚拟地址建立映射关系的空闲物理地址,并将空闲物理地址的页面号作为目标物理地址页面号。
S104,处理器将待写入数据写入目标物理地址页面号所对应的目标物理地址,并将页面映射表中的第一虚拟地址页面号与目标物理地址页面号相关联。
S205,处理器将页面映射表的数据更新记录保存至NFC安全元件的日志区。
S206,处理器在日志区数据写满的情况下,将最新页面映射表的数据写入NFC安全元件的存储区,并清除日志区的数据。
如前文所示,页面映射表即MapTable表存储于NFC安全元件的RAM空间。在NFC安全元件掉电或异常的情况下,MapTable表的数据丢失。为了避免MapTable表数据丢失后,无法读取数据。将MapTable表的更新记录保存在日志区,即每次MapTable表更新,均将更新记录进行保存。更新记录的内容包括VID,新PID,旧PID等信息。结合图7,作为一种示例,更新记录包括日志类型LOG_TYFE,当前物理页面的擦写次数COUNT,旧物理地址页面号OLD_PID,新物理地址页面号NEW_PID,虚拟地址页面号VID及校验值CRC。
可以理解地,日志区的存储空间有限,当存储空间存满后,则将最新的MapTable表数据存储于非易失性储存器的MTR区,进行永久保存。而后,清除日志区的数据。这样,新的MapTable表的更新记录又可以保存在日志区,如此反复。在MapTable数据丢失后,可通过调取MTR和日志数据,可以重新构建MapTable表。此外,与现有技术的实时更新MTR区空间数据相比,减少了MTR区空间物理页面的擦写次数,有助于非易失性储存器均衡非易失性存储器的擦写频次,提高寿命。
结合图8所示,本公开实施例提供另一种用于NFC安全元件的数据存储的方法,包括:
S101,处理器响应于数据存储指令。
S102,在数据存储指令为写入指令的情况下,处理器获得待写入数据在NFC安全元件中的第一目标虚拟地址的第一虚拟地址页面号。
S103,处理器在NFC安全元件的物理地址空间中查找未与已有虚拟地址建立映射关系的空闲物理地址,并将空闲物理地址的页面号作为目标物理地址页面号。
S104,处理器将待写入数据写入目标物理地址页面号所对应的目标物理地址,并将页面映射表中的第一虚拟地址页面号与目标物理地址页面号相关联。
S305,在数据存储指令为读取指令的情况下,处理器计算待读取数据在NFC安全元件中的第二目标虚拟地址的第二虚拟地址页面号。
S306,处理器通过页面映射表确定第二虚拟地址页面号所对应的第二物理地址页面号。
S307,处理器根据第二物理地址页面号的有效性确定待读取数据的读取结果。
本公开实施例中重点阐述读取数据的方法。可以理解地,读取数据表明数据已写入物理地址空间,且虚拟地址与存储数据的物理地址已建立映射关系。故计算第二虚拟地址页面号,并通过页面映射表查找第二虚拟地址页面号对应的第二物理地址页面号。而后基于第二虚拟地址页面号的有效性,确定读取结果。
其中,第二虚拟地址页面号的计算参见前文第一虚拟地址页面号的计算。第二物理地址页面号的有效性是指页面映射表中是否存在有效的第二物理地址页面号。作为一种示例,在NFC安全元件遭到攻击读取数据时,存在产生错误的第二物理地址页面号,即第二物理地址页面号不具备有效性。
可选地,步骤S307,处理器根据第二物理地址页面号的有效性确定待读取数据的读取结果,包括:
在第二物理地址页面号为无效值的情况下,处理器确定待读取数据的读取结果为设定值。
在第二物理地址页面号为有效值的情况下,处理器确定待读取数据的读取结果为第二物理地址页面号所对应的物理页面中的值。
在第二物理地址页面号为异常的情况下,处理器反馈异常。
这里,物理地址页面号作为物理页面的索引,可进行自定义。如定义物理地址空间的第一页为PID=0,则PID最大值为物理地址空间的总页数减去1。该部分PID的有效的PID,同时自定义无效的PID及无效PID对应的数据。作为一种示例,定义无效PID=0xFFEE,且无效PID映射的物理地址页面均为空页面,且所有空页面的数据均为0xFF。这样,在第二物理地址页面号为无效值时,则读取结果为设定值即0xFF。在第二物理地址页面号既不属于有效值,也不属于无效值时,则第二物理地址页面号为异常,反馈异常。
结合图9所示,本公开实施例提供另一种用于NFC安全元件的数据存储的方法,包括:
S101,处理器响应于数据存储指令。
S102,在数据存储指令为写入指令的情况下,处理器获得待写入数据在NFC安全元件中的第一目标虚拟地址的第一虚拟地址页面号。
S103,处理器在NFC安全元件的物理地址空间中查找未与已有虚拟地址建立映射关系的空闲物理地址,并将空闲物理地址的页面号作为目标物理地址页面号
S104,处理器将待写入数据写入目标物理地址页面号所对应的目标物理地址,并将页面映射表中的第一虚拟地址页面号与目标物理地址页面号相关联。
S305,在数据存储指令为读取指令的情况下,处理器计算待读取数据在NFC安全元件中的第二目标虚拟地址的第二虚拟地址页面号。
S306,处理器通过页面映射表确定第二虚拟地址页面号所对应的第二物理地址页面号。
S307,处理器根据第二物理地址页面号的有效性确定待读取数据的读取结果。
S408,在存在修改页面映射关系表需求的情况下,处理器向NFC安全元件的预设寄存器写入字符。
S409,在写入的字符与预设字符一致的情况下,处理器允许修改页面映射关系表。
这里,初始页面映射关系表是自定义的。且在数据储存过程中,可通过软件修改页面映射关系表的数据。为了避免非法更改页面映射关系表,对修改权限进行验证。当验证通过时,则允许修改页面映射关系表。具体地,设置预设寄存器及预设字符;在修改前,需向预设寄存器写入字符。如果写入预设寄存器的字符与预设字符匹配,则表明有权限修改页面映射关系表。如果不匹配,则无权限修改。
结合图10所示,本公开实施例提供一种用于NFC安全元件的数据存储装置400,包括处理器(processor)100和存储器(memory)101。可选地,该装置还可以包括通信接口(Communication Interface)102和总线103。其中,处理器100、通信接口102、存储器101可以通过总线103完成相互间的通信。通信接口102可以用于信息传输。处理器100可以调用存储器101中的逻辑指令,以执行上述实施例的用于NFC安全元件的数据存储方法。
此外,上述的存储器101中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器101作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器100通过运行存储在存储器101中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于NFC安全元件的数据存储方法。
存储器101可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器101可以包括高速随机存取存储器,还可以包括非易失性存储器。
结合图11所示,本公开实施例提供了一种NFC安全元件500,包括:NFC安全元件本体,以及上述的用于NFC安全元件的数据存储装置400。用于NFC安全元件的数据存储装置400被安装于产品本体。这里所表述的安装关系,并不仅限于在产品内部放置,还包括了与产品的其他元器件的安装连接,包括但不限于物理连接、电性连接或者信号传输连接等。本领域技术人员可以理解的是,用于NFC安全元件的数据存储装置400可以适配于可行的产品主体,进而实现其他可行的实施例。
本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述用于NFC安全元件的数据存储方法。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,例如:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (10)
1.一种用于NFC安全元件的数据存储方法,其特征在于,包括:
响应于数据存储指令;
在数据存储指令为写入指令的情况下,计算待写入数据在NFC安全元件中的第一目标虚拟地址的第一虚拟地址页面号;
在NFC安全元件的物理地址空间中查找未与已有虚拟地址建立映射关系的空闲物理地址,并将空闲物理地址的页面号作为目标物理地址页面号;
将待写入数据写入目标物理地址页面号所对应的目标物理地址,并将页面映射表中的第一虚拟地址页面号与目标物理地址页面号相关联。
2.根据权利要求1所述的数据存储方法,其特征在于,计算待写入数据在NFC安全元件中的第一目标虚拟地址的第一虚拟地址页面号,包括:
获得NFC安全元件中虚拟地址空间的虚拟页面大小;
根据虚拟页面大小和第一目标虚拟地址确定第一虚拟地址页面号。
3.根据权利要求1所述的数据存储方法,其特征在于,将空闲物理地址的页面号作为目标物理地址页面号,包括:
根据空闲物理地址和物理页面大小,确定空闲物理地址页面号。
4.根据权利要求1所述的数据存储方法,其特征在于,将页面映射表中的第一虚拟地址页面号与目标物理地址页面号相关联,包括:
通过页面映射表确定第一虚拟地址页面号所对应的第一物理地址页面号;
将第一物理地址页面号标记为空闲物理地址页面号;并,
将第一虚拟地址页面号对应的物理地址页面号更新为目标物理地址页面号。
5.根据权利要求1所述的数据存储方法,其特征在于,将页面映射表中的第一虚拟地址页面号与目标物理地址页面号相关联后,还包括:
将页面映射表的数据更新记录保存至NFC安全元件的日志区;
在日志区写满数据的情况下,将最新页面映射表的数据写入NFC安全元件的存储区,并清除日志区的数据。
6.根据权利要求1至5任一项所述的数据存储方法,其特征在于,还包括:
在数据存储指令为读取指令的情况下,计算待读取数据在NFC安全元件中的第二目标虚拟地址的第二虚拟地址页面号;
通过页面映射表确定第二虚拟地址页面号所对应的第二物理地址页面号;
根据第二物理地址页面号的有效性确定待读取数据的读取结果。
7.根据权利6所述的数据存储方法,其特征在于,根据第二物理地址页面号的有效性确定待读取数据的读取结果,包括:
在第二物理地址页面号为无效值的情况下,确定待读取数据的读取结果为设定值;和/或,
在第二物理地址页面号为有效值的情况下,确定待读取数据的读取结果为第二物理地址页面号所对应的物理页面中的值;和/或,
在第二物理地址页面号为异常的情况下,反馈异常。
8.根据权利要求1至5任一项所述的方法,其特征在于,还包括:
在存在修改页面映射表需求的情况下,向NFC安全元件的预设寄存器写入字符;
在写入的字符与预设字符一致的情况下,允许修改页面映射表。
9.一种用于NFC安全元件的数据存储装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在运行所述程序指令时,执行如权利要求1至8任一项所述的用于NFC安全元件的数据存储方法。
10.一种NFC安全元件,其特征在于,包括:
非易失性储存器,包括:虚拟地址空间,被配置为存储虚拟地址;物理地址空间,被配置为存储物理地址;
地址转换组件,分别与虚拟地址空间与物理地址空间连接,被配置为完成虚拟地址和物理地址之间的转换,并存储虚拟地址与物理地址的页面映射表;和,
如权利要求9所述的用于NFC安全元件的数据存储装置,被安装于非易失性储存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311233480.1A CN117215488A (zh) | 2023-09-21 | 2023-09-21 | 用于nfc安全元件的数据存储方法、装置及nfc安全元件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311233480.1A CN117215488A (zh) | 2023-09-21 | 2023-09-21 | 用于nfc安全元件的数据存储方法、装置及nfc安全元件 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117215488A true CN117215488A (zh) | 2023-12-12 |
Family
ID=89035098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311233480.1A Pending CN117215488A (zh) | 2023-09-21 | 2023-09-21 | 用于nfc安全元件的数据存储方法、装置及nfc安全元件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117215488A (zh) |
-
2023
- 2023-09-21 CN CN202311233480.1A patent/CN117215488A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI766339B (zh) | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置及主裝置 | |
US10437737B2 (en) | Data storage device | |
US9823878B2 (en) | Method and apparatus for erasing data in flash memory | |
CN105373486B (zh) | 计算系统中动态存储器地址的重新映射 | |
US10409717B2 (en) | Data storage device and method for operating data storage device | |
US6970890B1 (en) | Method and apparatus for data recovery | |
US8656083B2 (en) | Frequency distributed flash memory allocation based on free page tables | |
US11100011B2 (en) | Flash translation layer with hierarchical security | |
US20060109725A1 (en) | Apparatus and method for managing bad blocks in a flash memory | |
US8954705B2 (en) | Memory space management method and memory controller and memory storage device and memory storage using the same | |
US8275927B2 (en) | Storage sub-system for a computer comprising write-once memory devices and write-many memory devices and related method | |
CN108228385B (zh) | 数据储存装置及其数据维护方法 | |
CN109086219B (zh) | 去分配命令处理方法及其存储设备 | |
KR20040014971A (ko) | 비휘발성 메모리의 제어방법 | |
CN104220991A (zh) | 用于允许数据在nand闪存上的有效存储的架构 | |
CN109697170B (zh) | 存取闪存模块的方法及相关的闪存控制器与电子装置 | |
EP3336702B1 (en) | Metadata recovery method and device | |
CN104536847A (zh) | 一种提高数据写入完整性的方法 | |
CN111176579A (zh) | 使用norflash模拟eeprom的方法 | |
CN109508142A (zh) | 数据存储装置及其操作方法 | |
CN109521944A (zh) | 数据储存装置以及数据储存方法 | |
US20100325524A1 (en) | Control circuit capable of identifying error data in flash memory and storage system and method thereof | |
CN102473141A (zh) | 非易失性存储装置以及存储控制器 | |
CN111221747B (zh) | 一种随机种子保存的方法、装置、存储介质及计算机设备 | |
CN109815158A (zh) | 进行系统备份的方法、记忆装置及控制器、及电子装置 |
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 |