非易失性存储器的管理方法和装置制造方法

文档序号:6765220阅读:175来源:国知局
非易失性存储器的管理方法和装置制造方法
【专利摘要】本发明涉及一种非易失性存储器的管理方法和装置。NVM包括复数个物理页,物理页划分为数据页和空闲页,每个物理页包括页头和数据区,该方法包括:通过扫描全部物理页的页头信息在内存中建立数据页查找表和空闲页查找表,设置一个指向空闲页查找表中的一个物理页号的空闲页指针;当进行目标数据页的写操作时,根据空闲页查找表在空闲页指针指向的物理页号对应的空闲页中写入页头和数据,根据数据页查找表擦除目标数据页的物理页号对应的数据页,将数据页查找表中目标数据页的物理页号与空闲页查找表中空闲页指针指向的空闲页的物理页号互换,配置空闲页指针指向空闲页查找表的下一个物理页号。本发明可以提高写数据的效率和NVM的寿命。
【专利说明】非易失性存储器的管理方法和装置
【技术领域】
[0001]本发明涉及存储器领域,尤其涉及一种非易失性存储器的管理方法和装置。
【背景技术】
[0002]在社会高速发展的今天,非易失性存储器(Nonvolatile memory,简称:NVM)的使用已经随处可见,并跟生活息息相关,常见的NVM有,电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称:EEPROM)和闪存(FlashMemory,简称:FLASH)。比如,公交、社保、银行、电力、身份识别等各个领域都用到的智能卡都广泛使用了 NVM。因此,保证NVM中数据高效安全存储就显得尤为重要。智能卡在工作过程中,如果发生断电或其他不可预知的错误,导致智能卡擦除或者写入数据过程异常终止,将会使写入数据不正确,这样就严重威胁数据完整性和安全性。因此需要有一种解决方案来完成数据的断电保护问题。
[0003]当前,解决断电保护问题一般是采用备份区来完成,S卩,在存储区申请一块备份区,用户更新数据的流程如下:
[0004]步骤1、擦除备份区;
[0005]步骤2、写旧数据到备份区;
[0006]步骤3、写备份区标识;
[0007]步骤4、擦除原数据区;
[0008]步骤5、写新数据到原数据区;
[0009]步骤6、写备份区清空标识。
[0010]通过上述这种方法来完成数据安全写入,这样,可以保证数据要么就全部写对,要么就没有写数据,不会出现其他情况,从而保证了数据的完整性。但是利用这种方法,安全更新一次数据需要写4次和擦两次,导致写数据的效率较低。而且,每写一次数据就需要写一次备份区和擦一次备份区,擦写备份区的次数就会很多,将大大减少NVM的寿命。

【发明内容】

[0011]本发明提供一种非易失性存储器的管理方法和装置,用以实现提高写数据的效率,提闻NVM的寿命。
[0012]本发明提供一种非易失性存储器的管理方法,所述非易失性存储器包括复数个物理页,所述物理页划分为数据页和空闲页,每个物理页包括页头和数据区,所述方法包括:
[0013]通过扫描全部物理页的页头信息在内存中建立数据页查找表和空闲页查找表,其中,所述数据页查找表用于建立从所述数据页的逻辑页号到所述数据页的物理页号的映射,所述空闲页查找表用于存储所述空闲页的物理页号,设置一个指向所述空闲页查找表中的一个物理页号的空闲页指针;
[0014]当进行目标数据页的写操作时,根据所述空闲页查找表在所述空闲页指针指向的物理页号对应的空闲页中写入页头和数据,根据所述数据页查找表擦除所述目标数据页的物理页号对应的数据页,将所述数据页查找表中所述目标数据页的物理页号与所述空闲页查找表中所述空闲页指针指向的空闲页的物理页号互换,配置所述空闲页指针指向所述空闲页查找表的下一个物理页号。
[0015]本发明还提供一种非易失性存储器的管理装置,所述非易失性存储器包括复数个物理页,所述物理页划分为数据页和空闲页,每个物理页包括页头和数据区,所述装置包括:
[0016]查找表建立模块,用于通过扫描全部物理页的页头信息,在内存中建立数据页查找表和空闲页查找表,其中,所述数据页查找表用于建立从所述数据页的逻辑页号到所述数据页的物理页号的映射,所述空闲页查找表用于存储所述空闲页的物理页号;
[0017]指针设置模块,用于设置一个指向所述空闲页查找表中的一个物理页号的空闲页指针;
[0018]第一数据写模块,用于当进行目标数据页的写操作时,根据所述空闲页查找表在所述空闲页指针指向的物理页号对应的空闲页中写入页头和数据,根据所述数据页查找表擦除所述目标数据页的物理页号对应的数据页,将所述数据页查找表中所述目标数据页的物理页号与所述空闲页查找表中所述空闲页指针指向的空闲页的物理页号互换,控制所述空闲页指针指向所述空闲页查找表的下一个物理页号。
[0019]在本发明中,执行一次写操作只需要对NVM进行一次页写操作和一次页擦除操作,相对于现有技术中执行一次写操作需要对NVM写4次和擦两次,极大地节省了操作时间,提高了写数据的效率。由于对NVM的操作次数减少了,提高了 NVM的寿命。
【专利附图】

【附图说明】
[0020]图1为本发明NVM的管理方法实施例的流程示意图;
[0021]图2为本发明NVM的管理方法实施例中一个写数据实例的原理示意图;
[0022]图3为本发明非易失性存储器的管理装置实施例的结构示意图。
【具体实施方式】
[0023]下面结合说明书附图和【具体实施方式】对本发明作进一步的描述。
[0024]NVM的管理方法实施例
[0025]在本实施例中,该NVM包括复数个物理页,复数个物理页划分为数据页和空闲页,每个物理页包括页头和数据区。
[0026]如图1所示,为本发明NVM的管理方法实施例的流程示意图,该方法可以包括如下步骤:
[0027]步骤11、通过扫描全部物理页的页头信息在内存中建立数据页查找表和空闲页查找表;
[0028]其中,数据页查找表用于建立从数据页的逻辑页号到数据页的物理页号的映射,空闲页查找表用于存储空闲页的物理页号;优选地,该步骤在系统上电时执行;内存为易失性存储器;
[0029]步骤12、设置一个指向空闲页查找表中的一个物理页号的空闲页指针;
[0030]步骤13、当进行目标数据页的写操作时,根据空闲页查找表在空闲页指针指向的物理页号对应的空闲页中写入页头和数据,根据数据页查找表擦除目标数据页的物理页号对应的数据页,将数据页查找表中目标数据页的物理页号与空闲页查找表中空闲页指针指向的空闲页的物理页号互换,配置空闲页指针指向空闲页查找表的下一个物理页号。
[0031]在步骤13中,写操作的输入为目标数据页的逻辑页号。写数据时,根据空闲页指针查找空闲页查找表得到空闲页的物理页号,计算页头,然后根据空闲页的物理页号在NVM中找到空闲页,将数据和页头写入空闲页中;接下来,根据数据页查找表找到目标数据页的物理页号,在NVM中找到该目标数据页的物理页号对应的数据页,然后将该数据页擦除。
[0032]在步骤13中,在内存中查找空闲页查找表和数据页查找表所花费的时间相对于在NVM中写数据和擦数据所花费的时间可以忽略不计。
[0033]在本实施例中,执行一次写操作只需要对NVM进行一次页写操作和一次页擦除操作,相对于现有技术中执行一次写操作需要对NVM写4次和擦两次,极大地节省了操作时间,提高了写数据的效率。由于对NVM的操作次数减少了,提高了 NVM的寿命。
[0034]此外,由于采用了空闲页指针来实现空闲页轮转机制,即使每次NVM数据写入都
集中到同一个逻辑地址,每个物理页被写入数据的概率为
【权利要求】
1.一种非易失性存储器的管理方法,其特征在于,所述非易失性存储器包括复数个物理页,所述物理页划分为数据页和空闲页,每个物理页包括页头和数据区,所述方法包括: 通过扫描全部物理页的页头信息在内存中建立数据页查找表和空闲页查找表,其中,所述数据页查找表用于建立从所述数据页的逻辑页号到所述数据页的物理页号的映射,所述空闲页查找表用于存储所述空闲页的物理页号,设置一个指向所述空闲页查找表中的一个物理页号的空闲页指针; 当进行目标数据页的写操作时,根据所述空闲页查找表在所述空闲页指针指向的物理页号对应的空闲页中写入页头和数据,根据所述数据页查找表擦除所述目标数据页的物理页号对应的数据页,将所述数据页查找表中所述目标数据页的物理页号与所述空闲页查找表中所述空闲页指针指向的空闲页的物理页号互换,配置所述空闲页指针指向所述空闲页查找表的下一个物理页号。
2.根据权利要求1所述的方法,其特征在于,还包括: 执行所述建立数据页查找表和空闲页查找表时,根据页头信息判定上次写操作非正常结束时,执行异常处理程序。
3.根据权利要求2所述的方法,其特征在于,所述异常处理程序包括: 根据页头信息判定在写数据的过程中或者在擦除数据的过程中掉电,则将写入了部分数据的物理页或擦除了部分数据的物理页擦除并将该物理页的物理页号存储到空闲页查找表中; 根据页头信息判定在写数据之后、擦除之前掉电,则在数据页查找表中建立保存有新数据的物理页的逻辑页号到物理`页号的映射,将保存有旧数据的物理页擦除并将该物理页的物理页号存储到空闲页查找表中。
4.根据权利要求1所述的方法,其特征在于,所述设置一个指向所述空闲页查找表中的一个物理页号的空闲页指针具体为: 为所述空闲页指针分配一个随机数,使得所述空闲页指针随机指向所述空闲页查找表中的一个物理页号。
5.根据权利要求1所述的方法,其特征在于,还包括: 当进行目标数据页的写操作时,根据所述数据页查找表判定所述目标数据页的物理页号对应的数据页为空白页,在所述目标数据页的物理页号对应的数据页中写数据。
6.一种非易失性存储器的管理装置,其特征在于,所述非易失性存储器包括复数个物理页,所述物理页划分为数据页和空闲页,每个物理页包括页头和数据区,所述装置包括: 查找表建立模块,用于通过扫描全部物理页的页头信息,在内存中建立数据页查找表和空闲页查找表,其中,所述数据页查找表用于建立从所述数据页的逻辑页号到所述数据页的物理页号的映射,所述空闲页查找表用于存储所述空闲页的物理页号; 指针设置模块,用于设置一个指向所述空闲页查找表中的一个物理页号的空闲页指针; 第一数据写模块,用于当进行目标数据页的写操作时,根据所述空闲页查找表在所述空闲页指针指向的物理页号对应的空闲页中写入页头和数据,根据所述数据页查找表擦除所述目标数据页的物理页号对应的数据页,将所述数据页查找表中所述目标数据页的物理页号与所述空闲页查找表中所述空闲页指针指向的空闲页的物理页号互换,控制所述空闲页指针指向所述空闲页查找表的下一个物理页号。
7.根据权利要求6所述的装置,其特征在于,还包括: 异常处理模块,用于根据所述查找表建立模块提供的信息判定上次写操作非正常结束时,执行异常处理程序。
8.根据权利要求7所述的装置,其特征在于,所述异常处理模块包括: 第一掉电处理单元,用于根据所述查找表建立模块提供的信息判定在写数据的过程中或者在擦除数据的过程中掉电,则将写入了部分数据的物理页或擦除了部分数据的物理页擦除并将该物理页的物理页号存储到空闲页查找表中; 第二掉电处理单元,用于根据所述查找表建立模块提供的信息判定在写数据之后、擦除之前掉电,则在数据页查找表中建立保存有新数据的物理页的逻辑页号到物理页号的映射,将保存有旧数据的物理页擦除并将该物理页的物理页号存储到空闲页查找表中。
9.根据权利要求6所述的装置,其特征在于,所述指针设置模块包括: 随机数生成单元,用于生成随机数; 指针控制单元,用于将所述随机数分配给所述空闲页指针,使得所述空闲页指针随机指向所述空闲页查找表中的一个物理页号。
10.根据权利要求6所述的装置,其特征在于,还包括: 第二数据写模块,用于当进行目标数据页的写操作时,根据所述数据页查找表判定所述目标数据页的物理页号对应的数据页为空白页,在所述目标数据页的物理页号对应的数据页中写数据。
【文档编号】G11C16/14GK103456360SQ201310419099
【公开日】2013年12月18日 申请日期:2013年9月13日 优先权日:2013年9月13日
【发明者】刘忠志 申请人:北京昆腾微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1