提高NOR FLASH擦写寿命的方法技术

技术编号:7898103 阅读:676 留言:0更新日期:2012-10-23 04:19
本发明专利技术公开了一种提高NOR?FLASH擦写寿命的方法,通过将4K物理地址映射为1K的逻辑地址,在对同一个逻辑地址进行写操作时,只有在第5次写操作中才涉及到对NOR?FLASH的擦除操作,提升了写操作的速度,并将NOR?FLASH的擦写操作寿命延长了4倍。

【技术实现步骤摘要】

本专利技术涉及闪存领域,具体而言,涉及一种提高NOR FLASH擦写寿命的方法
技术介绍
NOR FLASH是目前市场上主要的非易失闪存技术之一,NOR FLASH的传输效率很高,在I 4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响到它的性能,NOR FLASH的擦写次数是十万次。EEPROM是电子擦除式只读存储器,它是一种非挥发性存储器,电源消失后,储存的数据依然存在,要消除储存在其中的内容,以电子 信号直接消除即可,EEPROM的擦写次数是百万次。从NOR FLASH和EEPROM的特点上能够看出,二者的擦写寿命差距很大。在嵌入式系统设计过程中,根据功能需要进行相应的软硬件设计,芯片选型满足主要需求后,外围资源的安排要考虑成本等各种因素,有的设计需要EEPROM存储器,主要芯片内没有EEPROM存储资源,但是有N0RFLASH存储资源,这种情况下如果能够通过设计改进把NOR FLASH资源当作EEPROM资源来使用,则可以省去增加EERPOM存储器的成本,并且硬件结构也比较精简。
技术实现思路
本专利技术提供一种提高NOR FLASH擦写寿命的方法,用以延长N0RFLASH的擦写寿命,降低硬件的成本。为达到上述目的,本专利技术提供了一种提高NOR FLASH擦写寿命的方法,其包括以下步骤S102,按照4K物理地址对应IK逻辑地址的原则,建立逻辑映射表T ,将NORFLASH的物理地址映射为逻辑地址,其中,m是逻辑地址页号,m的取值为0、1、2.....,n是有效数据的逻辑编号,T 的数值是有效数据存放的扇区号;S104,当进行逻辑写操作时,通过逻辑地址计算出m和n,查询逻辑映射表得到扇区编号,计算出物理地址并读出该物理地址的数据,并判断该数据是否为OxFFFF,若是,进入步骤S106,否则转入步骤S108 ;S106,将该数据写入该物理地址;S108,判断当前所在扇区是否为最后一个扇区,若当前所在扇区不是最后一个扇区,进入步骤S110,否则转入步骤S112 ;S110,将该数据写入当前所在扇区的下个扇区,并且更新逻辑映射表;S112,将所有m个扇区的有效数据都拷贝到内存中,擦除m个扇区的数据,再把有效数据从内存拷贝到第一个扇区,同时更新逻辑映射表。较佳的,按照4K物理地址对应IK逻辑地址的原则,建立逻辑映射表T ,将NOR FLASH的物理地址映射为逻辑地址步骤包括a,计算物理地址,并通过该物理地址读出I个半字数据,其中,物理地址=物理基地址+4X 1024Xm+p X 1024+2 Xn,p为扇区编号,其初始值为3 ;b,判断步骤a中读出的数据是否为OxFFFF,若是则进入步骤d,否则进入步骤c ;c,将该扇区编号赋值给T ,并将扇区编号减一,即p = p_l,转入步骤a ;d,若p等于0,则将T值赋为O。较佳的,上述提高NOR FLASH擦写寿命的方法还包括以下步骤当进行逻辑读操作时,通过逻辑地址算出m和n,其中m =(逻辑地址+1) /1024,n=(逻辑地址% 1024)/2,通过查询逻辑映射表得到扇区编号,并计算出该逻辑地址对应的物理地址,根据该物理地址读出数据。在上述实施例中,通过将4K物理地址映射为IK的逻辑地址,在对同一个逻辑地址进行写操作时,只有在第5次写操作中才涉及到对NOR FLASH的擦除操作,提升了写操作的速度,并将NOR FLASH的擦写操作寿命延长了 4倍,克服了现有技术中存在的问题。 附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为根据本专利技术一实施例的提高NOR FLASH擦写寿命的方法流程图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图I为根据本专利技术一实施例的提高NOR FLASH擦写寿命的方法流程图。如图I所示,该方法包括以下步骤S102,按照4K物理地址对应IK逻辑地址的原则,建立逻辑映射表T JfNORFLASH的物理地址映射为逻辑地址,其中,m是逻辑地址页号,m的取值为0、1、2.....,n是有效数据的逻辑编号,T 的数值是有效数据存放的扇区号;S104,当进行逻辑写操作时,通过逻辑地址计算出m和n,查询逻辑映射表得到扇区编号,计算出物理地址并读出该物理地址的数据,并判断该数据是否为OxFFFF,若是,进入步骤S106,否则转入步骤S108 ;S106,将该数据写入该物理地址;S108,判断当前所在扇区是否为最后一个扇区,若当前所在扇区不是最后一个扇区,进入步骤S110,否则转入步骤S112 ;S110,将该数据写入当前所在扇区的下个扇区,并且更新逻辑映射表;S112,将所有m个扇区的有效数据都拷贝到内存中,擦除m个扇区的数据,再把有效数据从内存拷贝到第一个扇区,同时更新逻辑映射表。其中,采用4K物理地址对应IK逻辑地址,用于将4K NO R FLASH模拟为IKEEPROM,逻辑地址用于存放有效数据。把NOR FLASH的4K划分为4个扇区,分别标识为O、1、2、3。由于NOR FLASH是16位,所以内部数据存储管理逻辑以半字为最小单元,IK逻辑地址内的有效数据为512个半字,逻辑编号从0到511,逻辑编号对应半字在扇区中的偏移量,有效数字存放在哪个扇区是不确定的。通过建立逻辑映射表来确定每个有效数据的存储扇区。 在本实施例中,通过将4K物理地址映射为IK的逻辑地址,在对同一个逻辑地址进行写操作时,只有在第5次写操作中才涉及到对NOR FLASH的擦除操作,提升了写操作的速度,并将NOR FLASH的擦写操作寿命延长了 4倍,克服了现有技术中存在的问题。例如,按照4K物理地址对应IK逻辑地址的原则,建立逻辑映射表T JfNORFLASH的物理地址映射为逻辑地址步骤包括a,计算物理地址,并通过该物理地址读出I个半字数据,其中,物理地址=物理基 地址+4X 1024Xm+p X 1024+2 Xn,p为扇区编号,其初始值为3 ;b,判断步骤a中读出的数据是否为OxFFFF,若是则进入步骤d,否则进入步骤c ;c,将该扇区编号赋值给T ,并将扇区编号减一,即p = p_l,转入步骤a ;d,若p等于0,则将T值赋为O。其中,建立映射区要从最高逻辑扇区向最低逻辑扇区依次查找。例如,上述提高NOR FLASH擦写寿命的方法还包括以下步骤当进行逻辑读操作时,通过逻辑地址算出m和n,其中m =(逻辑地址+1) /1024,n=(逻辑地址% 1024)/2,通过查询逻辑映射表得到扇区编号,并计算出该逻辑地址对应的物理地址,根据该物理地址读出数据。以下为本专利技术的一个较佳实施例用AC2512TSSX45 芯片的 128K NOR FLASH 来模拟 32KEEPR0M。128KN0R FLA本文档来自技高网...

【技术保护点】
一种提高NOR?FLASH擦写寿命的方法,其特征在于,包括以下步骤:S102,按照4K物理地址对应1K逻辑地址的原则,建立逻辑映射表T[m][n],将NOR?FLASH的物理地址映射为逻辑地址,其中,m是逻辑地址页号,m的取值为0、1、2.....,n是有效数据的逻辑编号,T[m][n]的数值是有效数据存放的扇区号;S104,当进行逻辑写操作时,通过逻辑地址计算出m和n,查询逻辑映射表得到扇区编号,计算出物理地址并读出该物理地址的数据,并判断该数据是否为0xFFFF,若是,进入步骤S106,否则转入步骤S108;S106,将该数据写入该物理地址;S108,判断当前所在扇区是否为最后一个扇区,若当前所在扇区不是最后一个扇区,进入步骤S110,否则转入步骤S112;S110,将该数据写入当前所在扇区的下个扇区,并且更新逻辑映射表;S112,将所有m个扇区的有效数据都拷贝到内存中,擦除m个扇区的数据,再把有效数据从内存拷贝到第一个扇区,同时更新逻辑映射表。

【技术特征摘要】

【专利技术属性】
技术研发人员:甘景全崔志民张平贺毅杨大勇李利
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1