CN112131040A - 一种智能卡掉电备份区的磨损均衡管理方法和系统 - Google Patents
一种智能卡掉电备份区的磨损均衡管理方法和系统 Download PDFInfo
- Publication number
- CN112131040A CN112131040A CN202011057624.9A CN202011057624A CN112131040A CN 112131040 A CN112131040 A CN 112131040A CN 202011057624 A CN202011057624 A CN 202011057624A CN 112131040 A CN112131040 A CN 112131040A
- Authority
- CN
- China
- Prior art keywords
- page
- backup
- power
- area
- identification
- 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.)
- Granted
Links
- 238000007726 management method Methods 0.000 title claims abstract description 29
- 238000005192 partition Methods 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 15
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 238000011084 recovery Methods 0.000 claims description 3
- 230000009191 jumping Effects 0.000 description 8
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Power Sources (AREA)
Abstract
本发明提出了一种智能卡掉电备份区的磨损均衡管理方法和系统,所述方法包括:系统上电,从互备份配置区中选定一个可用的掉电保护配置页,并直接加载配置信息;接收智能卡业务写入请求,根据备份标识地址数组的游标和掉电保护配置页中的备份标识区地址数组,查找一个未被占用的备份标识页;根据页分配区的游标和占用分区表在所述页分配区中查找空闲页,对空闲页写入更新的整页数据,记录已完成的备份页和目标页,形成一条备份标识记录并计算CRC,同时置为有效位,然后写入到上述备份标识页中,并结束本次备份操作。本发明通过随机数游标自增的方式,能够最大限度的平均利用掉电备份区各个物理页的擦写寿命。
Description
技术领域
本发明涉及智能卡领域,尤其涉及一种智能卡掉电备份区的磨损均衡管理方法和系统。
背景技术
智能卡在数据写过程中,由于Flash物理特性,需要先擦除要更改的地址空间所在的页面,每次擦除的物理页大小一般为512字节。智能卡由外部供电,在写入过程中随时存在掉电的情况,如出现则有可能导致COS崩溃或者写入数据不完全。因此,智能卡COS必须提供掉电保护机制保证Flash数据的擦写完整性。
掉电备份区就是智能卡COS的一种掉电保护机制,在写入数据时,先将修改后的多个页数据写入掉电备份区中,并写入备份记录及标志位,然后再根据备份记录把数据写入到实际存放的地址空间,最后清除备份标志位。由于Flash的擦写次数有限,而每次进行数据写时,都要对掉电备份区进行写操作,所以掉电备份区的写次数远远大于其他的数据空间,如果不对掉电备份区进行磨损均衡管理,则容易导致个别物理页因过度擦写而出现损坏。
发明内容
为了解决上述问题,有必要提供一种智能卡掉电备份区的磨损均衡管理方法和系统,能够最大限度的平均利用掉电备份区各个物理页的擦写寿命。
本发明第一方面提出一种智能卡掉电备份区的磨损均衡管理方法,包括以下步骤:
系统上电后,从互备份配置区中选择一个可用的掉电保护配置页,加载配置信息:版本号、序号、占用分区表以及备份标识区地址数组;
当接收智能卡业务写入请求后,根据备份标识地址数组的游标和备份标识区地址数组在所述页分配区中查找一个可用的备份标识页;
根据页分配区的游标和占用分区表在所述页分配区中查找空闲页,向空闲页写入整页业务数据,并对当前的页分配区的游标进行递增;如果向空闲页写入整页业务数据失败,则在其它掉电保护配置页的占用分区表中记录写失败的空闲页标识,加载其它掉电保护配置页的配置信息并进行掉电保护;记录已完成备份的备份页和目标页;重复当前步骤,直至所有业务数据均写入完成;
当所有业务数据均写入完成时,根据记录的已完成备份的备份页和目标页生成备份标识记录,并对所述备份标识记录进行CRC计算,同时置比特位为有效位,然后写入到对应的备份标识页中,如果写入失败,则根据页分配区的游标和占用分区表在所述页分配区中查找空闲页,并在其它掉电保护配置页中更新对应的备份标识地址和占用分区表中的空闲页标识,加载其它掉电保护配置页的配置信息并进行掉电保护;对当前的备份标识地址数组的游标进行递增,结束本次备份操作。
进一步的,所述互备份配置区包括至少两个掉电保护配置页,在从所述互备份配置区内选定一个可用的掉电保护配置页时,分别对所有掉电保护配置页的配置信息进行CRC计算,并核验CRC校验码是否正确,如果超过一个正确,则在正确的掉电保护配置页中选用版本号较高的掉电保护配置页进行配置加载;如果只有一个正确,则选用正确的掉电保护配置页进行配置加载;如果都不正确,则随机选择一个掉电保护配置页进行初始化配置,并写入对应的配置信息:版本号、序号、占用分区表以及备份标识区地址数组,同时计算CRC校验码并将其随上述配置信息一同保存在掉电保护配置页中。
进一步的,根据备份标识地址数组的游标和备份标识区地址数组在所述页分配区中查找一个可用的备份标识页时,执行:
判断当前备份标识地址数组的游标所指向的备份标识区地址所对应的备份标识页是否被占用,如果被占用,则对当前备份标识地址数组的游标的值进行递增,形成新的备份标识地址数组的游标,并继续查看新的备份标识地址数组的游标所指向的备份标识区地址所对应的备份标识页是否被占用;重复上述步骤,直至找到一个未被占用的备份标识页为止;如果依据备份标识地址数组的游标遍历备份标识区地址数组,仍未找到一个未被占用的备份标识页,则报错退出。
进一步的,根据页分配区的游标和占用分区表在所述页分配区中查找空闲页时,执行:
在页分配区中,查看页分配区的游标所指向的页是否为空闲页,如果不为空闲页,则对页分配区的游标的值进行递增,形成新的页分配区的游标,并继续查看新的页分配区的游标所指向的页是否为空闲页;重复上述步骤,直至找到一个空闲页为止;如果依据页分配区的游标遍历页分配区,仍未找到空闲页,则报错退出。
进一步的,如果向空闲页写入整页业务数据失败,则在其它掉电保护配置页的占用分区表中记录写失败的空闲页标识,加载其它掉电保护配置页的配置信息并进行掉电保护,具体包括:
标记该空闲页为坏块页,同时从剩余掉电保护配置页中重新选择一个掉电保护配置页,更新所述掉电保护配置页中的占用分区表的信息,并增加记录新的坏块页,然后更新所述掉电保护配置页的版本号为所有掉电保护配置页的最高版本,并对所述掉电保护配置页的配置信息进行计算CRC校验码;稍后加载所述掉电保护配置页的配置信息并进行后续备份操作。
进一步的,如果写入失败,则根据页分配区的游标和占用分区表在所述页分配区中查找空闲页,并在其它掉电保护配置页中更新对应的备份标识地址和占用分区表中的空闲页标识,具体包括:
标记该备份标识页为坏块页,查看页分配区的游标所指向的页是否为空闲页,如果不为空闲页,则对页分配区的游标的值进行递增,形成新的页分配区的游标,并继续查看新的页分配区的游标所指向的页是否为空闲页;重复上述步骤,直至找到一个空闲页为止;同时从剩余掉电保护配置页中重新选择一个掉电保护配置页,更新所述掉电保护配置页中的备份标识区地址数组,并将该备份标识页的地址替换为该空闲页的地址,然后更新所述掉电保护配置页的版本号为两个掉电保护配置页的最高版本,并对所述掉电保护配置页的配置信息进行计算CRC校验码;稍后加载所述掉电保护配置页的配置信息并进行后续备份操作。
进一步的,结束本次备份操作后,还包括:从当前掉电保护配置页中的备份标识区地址数组找到一个有效的备份标识页,如果不存在则结束退出;否则依次从所述备份标识页中取出备份页和目标页,把备份页的数据写入至目标页中,如果写入失败则报错退出,清除备份标识页中的有效位,并清除对应备份页的数据,然后继续进行其它备份标识页的业务数据恢复。
进一步的,还包括:系统上电后,随机产生两个整数作为备份标识地址数组的游标的初始值和页分配区的游标的初始值;
当接收下一个智能卡业务的写入请求后,备份标识地址数组的游标的初始值即为前一个智能卡业务的写入请求完成备份操作时,备份标识地址数组的游标的最终值;页分配区的游标的初始值即为前一个智能卡业务的写入请求完成备份操作时,页分配区的游标的最终值。
本发明第二方面还提出一种智能卡掉电备份区的磨损均衡管理系统,包括存储器、处理器、以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述的智能卡掉电备份区的磨损均衡管理方法。
本发明第三方面还提出一种智能卡,所述智能卡包括上述智能卡掉电备份区的磨损均衡管理系统。
本发明通过两个掉电保护配置页实现配置信息的互备,能够对配置信息的更新操作进行掉电保护。具体的,当向空闲页写入整页业务数据失败,则在其它掉电保护配置页的占用分区表中记录写失败的空闲页标识,加载其它掉电保护配置页的配置信息并进行后续备份操作;当将备份标识记录写入到对应的备份标识页中失败,则根据页分配区的游标和占用分区表在所述页分配区中查找空闲页,并在其它掉电保护配置页中更新对应的备份标识地址和占用分区表中的空闲页标识,加载其它掉电保护配置页的配置信息进行后续备份操作;通过在另一个掉电保护配置页中进行配置信息的更修修改,使得在修改过程中,并不会发生掉电从而能够确保当前掉电配置页数据的完整性。
同时本发明通过随机数游标自增的方式,能够最大限度的平均利用掉电备份区各个物理页的擦写寿命。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明一种智能卡掉电备份区的框架示意图;
图2示出了本发明一种智能卡掉电备份区的磨损均衡管理方法的流程图;
图3示出了本发明一种智能卡掉电备份区的磨损均衡管理方法的一个具体实施例的流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
请同时参阅图1和图2,本发明第一方面提出一种智能卡掉电备份区的磨损均衡管理方法,所述方法包括以下步骤:
系统上电后,从互备份配置区中选择一个可用的掉电保护配置页,加载配置信息:版本号、序号、占用分区表以及备份标识区地址数组;
当接收智能卡业务写入请求后,根据备份标识地址数组的游标和备份标识区地址数组在所述页分配区中查找一个可用的备份标识页;
根据页分配区的游标和占用分区表在所述页分配区中查找空闲页,向空闲页写入整页业务数据,并对当前的页分配区的游标进行递增;如果向空闲页写入整页业务数据失败,则在其它掉电保护配置页的占用分区表中记录写失败的空闲页标识,加载其它掉电保护配置页的配置信息并进行掉电保护;记录已完成备份的备份页和目标页;重复当前步骤,直至所有业务数据均写入完成;
当所有业务数据均写入完成时,根据记录的已完成备份的备份页和目标页生成备份标识记录,并对所述备份标识记录进行CRC计算,同时置比特位为有效位,然后写入到对应的备份标识页中,如果写入失败,则根据页分配区的游标和占用分区表在所述页分配区中查找空闲页,并在其它掉电保护配置页中更新对应的备份标识地址和占用分区表中的空闲页标识,加载其它掉电保护配置页的配置信息并进行掉电保护;对当前的备份标识地址数组的游标进行递增,结束本次备份操作。
根据本发明的实施例,从分区组成上看,所述掉电备份区包括互备份配置区和页分配区;所述互备份配置区包括至少两个掉电保护配置页,所述掉电保护配置页用于存储配置信息,所述配置信息包括版本号、序号、占用分区表以及备份标识区地址数组,其中,版本号可以在互备时进行不断更新,序号则代表对应掉电保护配置页中的序号标识,如掉电保护配置页1、掉电保护配置页2等;占用分区表使用比特位表示页分配区的占用情况,记录备份标识页和坏块页的占用情况,备份标识区地址数组用于记录已分配的备份标识页;
所述页分配区包括备份标识页、空闲页、数据备份页以及坏块页,所述备份标识页用于记录一次业务中数据的备份操作,所述空闲页既未被占用也未被分配,所述数据备份页用于备份存储业务中的数据,所述坏块页是指页分配区中受损且无法利用的物理页。
从层级关系上看,所述掉电备份区又分为三级,第一层级包括掉电保护配置页;第二层级包括备份标识页;第三层级包括数据备份页、空闲页和坏块页。进一步的,第二层级的多个备份标识页与第三层级的数据备份页、空闲页和坏块页共同组成所述页分配区。
进一步的,在从所述互备份配置区内选定一个可用的掉电保护配置页时,分别对所有掉电保护配置页的配置信息进行CRC计算,并核验CRC校验码是否正确,如果超过一个正确,则在正确的掉电保护配置页中选用版本号较高的掉电保护配置页进行配置加载;如果只有一个正确,则选用正确的掉电保护配置页进行配置加载;如果都不正确,则随机选择一个掉电保护配置页进行初始化配置,并写入对应的配置信息:版本号、序号、占用分区表以及备份标识区地址数组,同时计算CRC校验码并将其随上述配置信息一同保存在掉电保护配置页中。
需要说明的是,本发明的互备份配置区配设双掉电保护配置页,在上电时,以版本号较高(如V-3)且CRC校验码有效的掉电保护配置页1为准;在更新配置时,对版本号较低且CRC校验码有效的掉电保护配置页2进行更新,同时,将掉电保护配置页2的原版本号(如V-2)在掉电保护配置页1的版本号(如V-3)的基础上递增,并更新为V-4,稍后将会按照版本号较高(如V-4)且CRC校验码有效的掉电保护配置页2为准,上述方式能够保证在写过程中掉电引起的数据原子一致性。
具体的,根据页分配区的游标和占用分区表在所述页分配区中查找空闲页时,执行:
在页分配区中,基于起始游标依次查看页分配区的游标所指向的页是否为空闲页,如果不为空闲页,则对页分配区的游标的值进行递增,形成新的页分配区的游标,并继续查看新的页分配区的游标所指向的页是否为空闲页;重复上述步骤,直至找到一个空闲页为止;如果依据页分配区的游标遍历页分配区,仍未找到空闲页,则报错退出。
可以理解,由于占用分区表记录所有备份标识页和坏块页的占用地址,而每个备份标识页又暗含有对应的数据备份页的地址信息,整个页分配区中共包含有备份标识页、数据备份页、坏块页、空闲页,已知前面三个的地址信息,则根据页分配区的游标依次向后逐一筛查页分配区,即可找到对应的空闲页。
具体的,根据备份标识地址数组的游标和备份标识区地址数组在所述页分配区中查找一个可用的备份标识页时,执行:
判断当前备份标识地址数组的游标所指向的备份标识区地址所对应的备份标识页是否被占用,如果被占用,则对当前备份标识地址数组的游标的值进行递增,形成新的备份标识地址数组的游标,并继续查看新的备份标识地址数组的游标所指向的备份标识区地址所对应的备份标识页是否被占用;重复上述步骤,直至找到一个未被占用的备份标识页为止;如果依据备份标识地址数组的游标遍历备份标识区地址数组,仍未找到一个未被占用的备份标识页,则报错退出。
具体的,系统上电后,随机产生两个整数作为备份标识地址数组的游标的初始值和页分配区的游标的初始值;
当接收下一个智能卡业务的写入请求后,备份标识地址数组的游标的初始值即为前一个智能卡业务的写入请求完成备份操作时,备份标识地址数组的游标的最终值;页分配区的游标的初始值即为前一个智能卡业务的写入请求完成备份操作时,页分配区的游标的最终值。
可以理解,在初始化配置时,会为智能卡配置多个备份标识页,比如8个,且8个备份标识页对应的备份标识地址可以为连续的,也可以为不连续的;系统上电后,在8个备份标识地址中随机选用一个作为备份标识地址数组的起始游标,当接收到第一个业务写入请求,则会占用起始游标对应的备份标识占用页,当接收到第二个业务写入请求时,则会在起始游标基础上递增,跳转到下一个备份标识页,依次实现后续多个业务在8个备份标识页之间进行轮询,从而避免多个业务频繁在同一个备份标识页进行频繁擦除作业而发生坏块的问题。
具体的,如果向空闲页写入整页业务数据失败,则在其它掉电保护配置页的占用分区表中记录写失败的空闲页标识,加载其它掉电保护配置页的配置信息并进行掉电保护,具体包括:
标记该空闲页为坏块页,同时从剩余掉电保护配置页中重新选择一个掉电保护配置页,更新所述掉电保护配置页中的占用分区表的信息,并增加记录新的坏块页,然后更新所述掉电保护配置页的版本号为所有掉电保护配置页的最高版本,并对所述掉电保护配置页的配置信息进行计算CRC校验码;稍后加载所述掉电保护配置页的配置信息并进行后续备份操作。
具体的,如果写入失败,则根据页分配区的游标和占用分区表在所述页分配区中查找空闲页,并在其它掉电保护配置页中更新对应的备份标识地址和占用分区表中的空闲页标识,具体包括:
标记该备份标识页为坏块页,查看页分配区的游标所指向的页是否为空闲页,如果不为空闲页,则对页分配区的游标的值进行递增,形成新的页分配区的游标,并继续查看新的页分配区的游标所指向的页是否为空闲页;重复上述步骤,直至找到一个空闲页为止;同时从剩余掉电保护配置页中重新选择一个掉电保护配置页,更新所述掉电保护配置页中的备份标识区地址数组,并将该备份标识页的地址替换为该空闲页的地址,然后更新所述掉电保护配置页的版本号为两个掉电保护配置页的最高版本,并对所述掉电保护配置页的配置信息进行计算CRC校验码;稍后加载所述掉电保护配置页的配置信息并进行后续备份操作。
为便于理解,如图3所示,本发明以互备份配置区中有两个掉电保护配置页为例,给出一个详细完整的磨损均衡管理流程:
步骤1,系统上电,从互备份配置区中选定一个可用的掉电保护配置页,并直接加载配置信息:版本号、序号、占用分区表以及备份标识区地址数组;
步骤2,产生两个随机数整数并保存至变量BFA_POS和BP_POS中,BFA_POS作为备份标识地址数组的起始游标,BP_POS作为页分配区的起始游标;
步骤3,接收智能卡业务写入请求,根据BFA_POS和掉电保护配置页中的备份标识区地址数组,查找一个未被占用的备份标识页,如果当前地址已占用则跳到步骤4;如果找到则继续步骤5;
步骤4,对BFA_POS递增形成新的备份标识地址游标,并依次查看备份标识区地址数组中后续的备份标识页,如果全部已占用,则报错退出;否则跳到步骤3继续查找;
步骤5,根据BP_POS、占用分区表和页分配区,查找一个既不被占用也未被分配的空闲页,如果当前页已占用则跳到步骤6;如果找到则继续步骤7;
步骤6,对BP_POS递增后,并依次查询页分配区后续的页,如果全部已占用,则报错退出;否则跳到步骤5继续查找;
步骤7,对空闲页写入更新的整页数据,如果写入失败,则跳到步骤8;否则对BP_POS递增形成新的页分配区游标,然后继续步骤9;
步骤8,在其它掉电保护配置页的占用分区表中记录写失败的空闲页标识,加载其它掉电保护配置页的配置信息并进行掉电保护;
步骤9,记录已完成的备份页和目标页,如果仍有未更新的业务数据,则跳到步骤6,否则继续步骤10;
步骤10,形成一条备份标识记录,并对所述备份标识记录进行CRC计算,同时置比特位为有效位,然后写入到对应的备份标识页中,如果写入失败,则跳到步骤11,否则继续步骤12;
步骤11,根据当前页分配区游标、占用分区表和页分配区,查找一个既不被占用也未被分配的空闲页,如果当前页已占用则对当前页分配区游标递增后,然后继续查找;如果找到则在其它掉电保护配置页更新对应的备份标识地址和占用分区表中的空闲页标识,如果更新失败则报错退出;否则跳到步骤12;
步骤12,对当前的备份标识地址游标递增以形成新的备份标识地址游标,并结束本次备份操作。
可以理解,在业务数据备份处理时,首先,先从第一层级,选用版本高的掉电保护配置页进行加载,然后选可用的备份标识页对接当前业务,最后从页分配区轮询查找空闲区来作为当前业务的备份页。比如当前业务可能需要用3个空闲区,首先在第一个空闲区写完数据备份后,形成当前业务的第一个备份页,并将第一个备份页和对应的目标页的地址写入RAM的记录节点上,然后是第二个备份页、第三个备份页,最后计算CRC校验码,然后将比特位置为有效位,并形成当前业务的一条备份标识记录,然后将备份标识记录写入上述已占用的备份标识页中,假如写入不成功,可能该备份标识页是坏块页,此时对另外一个掉电保护配置页进行更新占用分区表中的坏块页,同时基于页分配区的当前页分配区的游标进行依次查询,直至查找到一个空闲页,然后将备份标识区地址数组中的坏掉的那个备份标识地址更换为该空闲页的地址,以实现更换备份标识页。可以理解,即使没有成功写入备份标识记录到对应的备份标识页,但由于备份标识记录仍保存在RAM中,此时RAM继续将备份标识记录写入更换后的备份标识页。
另外本发明还可以根据具体业务的需求灵活配置备份数据占用页分配区的空间大小。
本发明采用两个掉电保护配置页进行互备,在上电后,首先判断版本高的掉电保护配置页进行运行,当在业务运行时候发现有新的坏块页,则需要更新占用分区表,此时不会在当前的掉电保护配置页进行直接更新修改,如果在当前的掉电配置页进行修改,一旦在修改过程中,发生掉电,则将会导致当前的掉电配置页数据不完整。本发明可以选用另外一个掉电保护配置页进行更新修改,当更新修改完成后,将另外一个掉电保护配置页的版本号在当前掉电保护配置页的版本号基础上加1,并置为高版本,由于版本号已更新,稍后即可启用高版本的掉电保护配置页进行配置加载。
进一步的,结束本次备份操作后,还包括:从当前掉电保护配置页中的备份标识区地址数组找到一个有效的备份标识页,如果不存在则结束退出;否则依次从所述备份标识页中取出备份页和目标页,把备份页的数据写入至目标页中,如果写入失败则报错退出,清除备份标识页中的有效位,并清除对应备份页的数据,然后继续进行其它备份标识页的业务数据恢复。
实际应用中,后续在搬运备份区的数据时,则会轮询查看多个备份标识页中的备份标识记录的标志位是否有效,并在有效时,则可以将备份页的数据拷贝至目标页,在拷贝完成后,清除备份标识页中的有效位,说明本次业务的所有备份数据已完全写入至对应的目标页中。
可以理解,在将备份页的数据拷贝到目标页时,如果出现掉电现象,例如,该业务对应有3个数据备份页,数据备份页1已完成拷贝,且正在拷贝数据备份页2,此时掉电了,则已写入的目标页会自动清除,待下一次上电时,则会从数据备份页1进行重新拷贝,直到拷贝完3个数据备份页至对应的目标页,则清除备份标识页中的有效位,且3个数据备份页的数据将自动擦除,以用于接收其它业务的备份数据。
本发明第二方面还提出一种智能卡掉电备份区的磨损均衡管理系统,包括存储器、处理器、以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述的智能卡掉电备份区的磨损均衡管理方法。
本发明第三方面还提出一种智能卡,所述智能卡包括上述智能卡掉电备份区的磨损均衡管理系统。
本发明通过两个掉电保护配置页实现配置信息的互备,能够对配置信息的更新操作进行掉电保护。具体的,当向空闲页写入整页业务数据失败,则在其它掉电保护配置页的占用分区表中记录写失败的空闲页标识,加载其它掉电保护配置页的配置信息并进行后续备份操作;当将备份标识记录写入到对应的备份标识页中失败,则根据页分配区的游标和占用分区表在所述页分配区中查找空闲页,并在其它掉电保护配置页中更新对应的备份标识地址和占用分区表中的空闲页标识,加载其它掉电保护配置页的配置信息进行后续备份操作;通过在另一个掉电保护配置页中进行配置信息的更修修改,使得在修改过程中,并不会发生掉电从而能够确保当前掉电配置页数据的完整性。
同时本发明通过随机数游标自增的方式,能够最大限度的平均利用掉电备份区各个物理页的擦写寿命。另外本发明还可以根据具体业务的需求灵活配置备份数据占用页分配区的空间大小。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种智能卡掉电备份区的磨损均衡管理方法,其特征在于,包括以下步骤:
系统上电后,从互备份配置区中选择一个可用的掉电保护配置页,加载配置信息:版本号、序号、占用分区表以及备份标识区地址数组;
当接收智能卡业务写入请求后,根据备份标识地址数组的游标、备份标识区地址数组在所述页分配区中查找一个可用的备份标识页;
根据页分配区的游标和占用分区表在所述页分配区中查找空闲页,向空闲页写入整页业务数据,并对当前的页分配区的游标进行递增;如果向空闲页写入整页业务数据失败,则在其它掉电保护配置页的占用分区表中记录写失败的空闲页标识,加载其它掉电保护配置页的配置信息并进行掉电保护;记录已完成备份的备份页和目标页;重复当前步骤,直至所有业务数据均写入完成;
当所有业务数据均写入完成时,根据记录的已完成备份的备份页和目标页生成备份标识记录,并对所述备份标识记录进行CRC计算,同时置比特位为有效位,然后写入到对应的备份标识页中,如果写入失败,则根据页分配区的游标和占用分区表在所述页分配区中查找空闲页,并在其它掉电保护配置页中更新对应的备份标识地址和占用分区表中的空闲页标识,加载其它掉电保护配置页的配置信息并进行掉电保护;对当前的备份标识地址数组的游标进行递增,结束本次备份操作。
2.根据权利要求1所述的一种智能卡掉电备份区的磨损均衡管理方法,其特征在于,所述互备份配置区包括至少两个掉电保护配置页,在从所述互备份配置区内选定一个可用的掉电保护配置页时,分别对所有掉电保护配置页的配置信息进行CRC计算,并核验CRC校验码是否正确,如果超过一个正确,则在正确的掉电保护配置页中选用版本号较高的掉电保护配置页进行配置加载;如果只有一个正确,则选用正确的掉电保护配置页进行配置加载;如果都不正确,则随机选择一个掉电保护配置页进行初始化配置,并写入对应的配置信息:版本号、序号、占用分区表以及备份标识区地址数组,同时计算CRC校验码并将其随上述配置信息一同保存在掉电保护配置页中。
3.根据权利要求1所述的一种智能卡掉电备份区的磨损均衡管理方法,其特征在于,根据备份标识地址数组的游标和备份标识区地址数组在所述页分配区中查找一个可用的备份标识页时,执行:
判断当前备份标识地址数组的游标所指向的备份标识区地址所对应的备份标识页是否被占用,如果被占用,则对当前备份标识地址数组的游标的值进行递增,形成新的备份标识地址数组的游标,并继续查看新的备份标识地址数组的游标所指向的备份标识区地址所对应的备份标识页是否被占用;重复上述步骤,直至找到一个未被占用的备份标识页为止;如果依据备份标识地址数组的游标遍历备份标识区地址数组,仍未找到一个未被占用的备份标识页,则报错退出。
4.根据权利要求1所述的一种智能卡掉电备份区的磨损均衡管理方法,其特征在于,根据页分配区的游标和占用分区表在所述页分配区中查找空闲页时,执行:
在页分配区中,查看页分配区的游标所指向的页是否为空闲页,如果不为空闲页,则对页分配区的游标的值进行递增,形成新的页分配区的游标,并继续查看新的页分配区的游标所指向的页是否为空闲页;重复上述步骤,直至找到一个空闲页为止;如果依据页分配区的游标遍历页分配区,仍未找到空闲页,则报错退出。
5.根据权利要求1所述的一种智能卡掉电备份区的磨损均衡管理方法,其特征在于,如果向空闲页写入整页业务数据失败,则在其它掉电保护配置页的占用分区表中记录写失败的空闲页标识,加载其它掉电保护配置页的配置信息并进行掉电保护,具体包括:
标记该空闲页为坏块页,同时从剩余掉电保护配置页中重新选择一个掉电保护配置页,更新所述掉电保护配置页中的占用分区表的信息,并增加记录新的坏块页,然后更新所述掉电保护配置页的版本号为所有掉电保护配置页的最高版本,并对所述掉电保护配置页的配置信息进行计算CRC校验码;稍后加载所述掉电保护配置页的配置信息并进行后续备份操作。
6.根据权利要求1所述的一种智能卡掉电备份区的磨损均衡管理方法,其特征在于,如果写入失败,则根据页分配区的游标和占用分区表在所述页分配区中查找空闲页,并在其它掉电保护配置页中更新对应的备份标识地址和占用分区表中的空闲页标识,具体包括:
标记该备份标识页为坏块页,查看页分配区的游标所指向的页是否为空闲页,如果不为空闲页,则对页分配区的游标的值进行递增,形成新的页分配区的游标,并继续查看新的页分配区的游标所指向的页是否为空闲页;重复上述步骤,直至找到一个空闲页为止;同时从剩余掉电保护配置页中重新选择一个掉电保护配置页,更新所述掉电保护配置页中的备份标识区地址数组,并将该备份标识页的地址替换为该空闲页的地址,然后更新所述掉电保护配置页的版本号为两个掉电保护配置页的最高版本,并对所述掉电保护配置页的配置信息进行计算CRC校验码;稍后加载所述掉电保护配置页的配置信息并进行后续备份操作。
7.根据权利要求1所述的一种智能卡掉电备份区的磨损均衡管理方法,其特征在于,结束本次备份操作后,还包括:从当前掉电保护配置页中的备份标识区地址数组找到一个有效的备份标识页,如果不存在则结束退出;否则依次从所述备份标识页中取出备份页和目标页,把备份页的数据写入至目标页中,如果写入失败则报错退出,清除备份标识页中的有效位,并清除对应备份页的数据,然后继续进行其它备份标识页的业务数据恢复。
8.根据权利要求1所述的一种智能卡掉电备份区的磨损均衡管理方法,其特征在于,还包括:
系统上电后,随机产生两个整数作为备份标识地址数组的游标的初始值和页分配区的游标的初始值;
当接收下一个智能卡业务的写入请求后,备份标识地址数组的游标的初始值即为前一个智能卡业务的写入请求完成备份操作时,备份标识地址数组的游标的最终值;页分配区的游标的初始值即为前一个智能卡业务的写入请求完成备份操作时,页分配区的游标的最终值。
9.一种智能卡掉电备份区的磨损均衡管理系统,其特征在于,包括存储器、处理器、以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至8任意一项所述的智能卡掉电备份区的磨损均衡管理方法。
10.一种智能卡,所述智能卡包括权利要求9所述的智能卡掉电备份区的磨损均衡管理系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011057624.9A CN112131040B (zh) | 2020-09-30 | 2020-09-30 | 一种智能卡掉电备份区的磨损均衡管理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011057624.9A CN112131040B (zh) | 2020-09-30 | 2020-09-30 | 一种智能卡掉电备份区的磨损均衡管理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131040A true CN112131040A (zh) | 2020-12-25 |
CN112131040B CN112131040B (zh) | 2022-02-11 |
Family
ID=73843409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011057624.9A Active CN112131040B (zh) | 2020-09-30 | 2020-09-30 | 一种智能卡掉电备份区的磨损均衡管理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131040B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114490194A (zh) * | 2022-04-19 | 2022-05-13 | 海光信息技术股份有限公司 | 掉电处理方法、功能节点、处理系统、设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030198082A1 (en) * | 2000-02-15 | 2003-10-23 | Kia Silverbrook | Unathorised modification of values stored in flash memory |
CN102005245A (zh) * | 2010-11-30 | 2011-04-06 | 公安部第三研究所 | 一种智能卡擦写保护方法 |
CN103617101A (zh) * | 2013-12-12 | 2014-03-05 | 北京旋极信息技术股份有限公司 | 一种掉电保护方法及装置 |
CN104536847A (zh) * | 2014-12-18 | 2015-04-22 | 飞天诚信科技股份有限公司 | 一种提高数据写入完整性的方法 |
CN105095101A (zh) * | 2015-08-03 | 2015-11-25 | 昆腾微电子股份有限公司 | 向存储器写入数据的方法及装置、智能卡 |
US20180081797A1 (en) * | 2016-09-21 | 2018-03-22 | Institute of Geology and Geophysics, Chinese Academy of Sciences. | Wear-leveling nandflash memory reading/writing method |
CN111104253A (zh) * | 2019-11-22 | 2020-05-05 | 江苏恒宝智能系统技术有限公司 | 一种掉电保护智能卡及其工作方法 |
-
2020
- 2020-09-30 CN CN202011057624.9A patent/CN112131040B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030198082A1 (en) * | 2000-02-15 | 2003-10-23 | Kia Silverbrook | Unathorised modification of values stored in flash memory |
CN102005245A (zh) * | 2010-11-30 | 2011-04-06 | 公安部第三研究所 | 一种智能卡擦写保护方法 |
CN103617101A (zh) * | 2013-12-12 | 2014-03-05 | 北京旋极信息技术股份有限公司 | 一种掉电保护方法及装置 |
CN104536847A (zh) * | 2014-12-18 | 2015-04-22 | 飞天诚信科技股份有限公司 | 一种提高数据写入完整性的方法 |
CN105095101A (zh) * | 2015-08-03 | 2015-11-25 | 昆腾微电子股份有限公司 | 向存储器写入数据的方法及装置、智能卡 |
US20180081797A1 (en) * | 2016-09-21 | 2018-03-22 | Institute of Geology and Geophysics, Chinese Academy of Sciences. | Wear-leveling nandflash memory reading/writing method |
CN111104253A (zh) * | 2019-11-22 | 2020-05-05 | 江苏恒宝智能系统技术有限公司 | 一种掉电保护智能卡及其工作方法 |
Non-Patent Citations (1)
Title |
---|
吴俊军等: "面向耗损均衡的COS数据备份机制研究", 《计算机工程与科学》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114490194A (zh) * | 2022-04-19 | 2022-05-13 | 海光信息技术股份有限公司 | 掉电处理方法、功能节点、处理系统、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112131040B (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5734816A (en) | Nonvolatile memory with flash erase capability | |
CN110175001B (zh) | 一种nor-flash数据存储方法、计算机设备及存储介质 | |
US8397101B2 (en) | Ensuring a most recent version of data is recovered from a memory | |
CN101515276B (zh) | 一种文件数据写操作的方法、文件数据恢复方法及系统 | |
US7240178B2 (en) | Non-volatile memory and non-volatile memory data rewriting method | |
JP4079506B2 (ja) | 不揮発性半導体メモリシステムの制御方法 | |
US7702844B2 (en) | Address mapping method and mapping information managing method for flash memory, and flash memory using the same | |
CN112632643B (zh) | 防止闪存数据丢失的方法、固态硬盘控制器、固态硬盘 | |
US20020041517A1 (en) | Method of driving remapping in flash memory and flash memory architecture suitable therefor | |
DE102017124079A1 (de) | Speichervorrichtung zum Verarbeiten von beschädigten Metadaten und Verfahren zum Betreiben derselben | |
US20040139310A1 (en) | Information processing apparatus, memory management apparatus, memory management method, and information processing method | |
CN109165115B (zh) | 一种增强flash存储器可靠性的方法 | |
US20080104361A1 (en) | Storage Device, Memory Managing Apparatus, Memory Managing Method, and Program | |
US6636941B1 (en) | Enhanced stable disk storage | |
US10642731B2 (en) | Memory management method and storage controller | |
CN102239477A (zh) | 针对阵列缺陷使用高效管理方法的非易失性存储器(nvm)中的连续地址空间 | |
CN114968668A (zh) | 数据处理方法、装置、数据接入端及存储介质 | |
CN111581022A (zh) | 一种数据恢复方法及系统 | |
CN112131040B (zh) | 一种智能卡掉电备份区的磨损均衡管理方法和系统 | |
CN111124294B (zh) | 一种扇区映射信息的管理方法及装置、存储介质和设备 | |
US20070005929A1 (en) | Method, system, and article of manufacture for sector mapping in a flash device | |
US20210249098A1 (en) | Memory controller and flash memory system | |
CN117493070A (zh) | 存储坏块的处理方法及系统 | |
CN113190182A (zh) | 一种Flash中数据存储的管理方法 | |
CN115237351B (zh) | Nand块动态重映射、读写命令处理方法及存储设备 |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A wear balance management method and system for smart card power-off backup area Granted publication date: 20220211 Pledgee: Bank of Zhengzhou Co.,Ltd. Zhongyuan Science and Technology City Sub branch Pledgor: ZHENGZHOU XINDA JIEAN INFORMATION TECHNOLOGY Co.,Ltd. Registration number: Y2024980013861 |