一种对NAND flash存储器进行虚拟空间管理的方法,建立映射表,把虚拟的连续可用的逻辑块映射到非连续的可用物理块上,并把映射表存储到虚拟空间管理模块中,可以将不相关的各个程序模块的坏块处理部分省略,使它们只能够看到好用的逻辑块,而逻辑空间管理模块提供相应的坏块映射机制和根据逻辑块号找到对应的物理块号的功能,通过本方法,手机终端中很多软件模块可以避免重复考虑坏块处理问题,也避免了不能同时运行的两个终端程序在遇到都能访问的坏块时的复杂处理。
【技术实现步骤摘要】
本专利技术涉及闪存存储器的
,具体涉及到对NAND FLASH闪存存储器的物理块建立逻辑映射表来进行虚拟空间管理的方法。
技术介绍
目前,随着科学技术的发展,更多、更好的存储介质被研发出来,使我们的生活发生着日新月异的变化。这些变化给移动通讯终端提供了更多的选择,更好的性能。存储器访问速度的提高以及存储空间的不断扩大,也使移动通讯终端具有更好的多媒体功能。为了得到更多的存储空间,并且价格更加便宜,NAND FLASH存储器应运而生。NAND FLASH存储器与NORFLASH存储器同属于闪存存储器,但是NAND FLASH存储器在移动通讯终端的大容量存储中有着更好的性能价格比,正在迅速的替代NOR存储器的地位。下面简单列举一下NAND FLASH和NORFLASH两种存储器的区别。NOR FLASH可以进行读写,能够ACCESS,也就是说,它上面存储的内容可以被执行。擦除方式按照block方式,写入方式按照word写入,永不损坏。NAND FLASH在低廉价格的前提下,可以使存储空间变得很大。NAND FLASH存储器可以进行读写,但是不能够ACCESS,也就是说,它上面存储的内容只能被装入到内存中才能够被执行。擦除方式按照block方式,写入方式按照page方式,一次必须写入一个page。NAND FLASH存储器除了第一块block能够保证永不损坏外,其他的块均存在坏掉的可能性。一般来说,一个block有固定个字节,但是,这仅仅是寻址空间可以看到的地方,其实每一个block在最后还有一部分空间即备用区域是看不到的,它用来标示本块block是否已经损坏,防止读写时使用该坏块。由于NAND FLASH存储器会随机地出现坏块,目前对坏块的处理,一般采用跳过该坏块的方法。即烧写FLASH时,发现某一块坏掉,终端烧写程序或者BOOT LOADER程序仅仅是跳到下一个可用块进行读写操作,这里的BOOT LOADER就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。目前采取的这种跳过坏块的方法存在的缺点如下,由于坏块的存在,将本来应该写到某一地址的内容写到了下一个block,使得程序IMAGE(编译后的可执行程序影像文件)与烧写到NAND FLASH存储器里面的内容不能一一对应,即从整个NAND FLASH来看,存在许多“空洞”。然而随着移动通讯终端能力变得越来越强大,一些应用程序必须到指定地址去寻找内容,比如说某些应用要求读取地址0X00A00000的内容,这个地址是对应着NAND FLASH的第1块,而第1块恰好是坏块,这里地址0X00A00000内容被如上所说的跳过坏块的机制烧写到后面的某个块J中去了。因此,移动通讯终端的所有应用程序都必须有跳过坏块的处理机制,程序模块之间需要协作,这就使得终端程序做的很复杂。如随着3G的来临,FOTA(移动终端空中下载软件升级)功能又成为运营商必选的内容,需要终端程序能够在空中更新并且能够平滑的进行程序执行,这样,目前的坏块跳过的处理办法就难以满足3G终端的要求。
技术实现思路
本专利技术的目的就是提供一种对NAND FLASH存储器进行逻辑块虚拟空间管理的办法,通过该办法,能够屏蔽NAND FLASH存储器中的物理坏块,向上层应用软件模块提供统一的、连续的、可用的存储介质的操作方法。克服了传统的坏块跳过处理办法带来的终端程序复杂性的问题,能够简单快捷地解决终端程序下载和存储到存储器中的情况。本专利技术包括以下步骤1)初始化NAND FLASH存储器,检测所有物理坏块;2)建立映射表,把虚拟的连续可用的逻辑块映射到非连续的可用物理块上,并把映射表存储到虚拟空间管理模块中;3)每个应用单元通过虚拟空间管理模块访问NAND FLASH存储器;4)虚拟空间管理模块找到逻辑块对应的物理块,进行读、写和擦除操作。在NAND FLASH的频繁操作使用过程中,也有可能产生坏块,因此对NAND FLASH存储器进行虚拟空间管理的方法,还包括以下步骤5)NAND FLASH存储器的物理块在读、写和擦除操作中出现错误,识别为坏块;6)把逻辑块映射到一个可用且为空的物理块上,并把新的映射表存储到虚拟空间管理模块中;7)逻辑块不变,重新找到新对应物理块,再次进行读、写和擦除操作。在所述的映射表中,逻辑空间0块映射到物理空间0块,逻辑空间第N块映射到物理空间从第N块包括第N块开始的第一个可用的物理块,N大于等于1。即逻辑空间1块映射到物理空间时,如果物理空间第1块可用,则映射到物理空间第1块,如果物理空间第1块是坏块,则继续向下寻找直到可用的物理块。NAND FLASH存储器中划出一部分作为预留存储区域,用于物理块在读写操作出现损坏时重新映射的存储物理块。NAND FLASH存储器提供统一的读写控制接口,非同时运行的每个应用单元调用连续可用的NAND FLASH存储器逻辑块。采用NAND flash存储器作为数据存储装置的产品有手机、MP3、U盘、数码相机和PDA。通过本专利技术,上层应用软件单元就可用把下层实际存在物理坏块的NAND FLASH存储器映射成统一的、连续的、可用的线性存储介质,上层应用软件软件这样就完全可以透明地去进行对NAND FLASH存储器的逻辑空间进行读取存储操作,而不必在各种应用软件单元中考虑复杂的坏块跳过问题了,本专利技术通过统一的读写控制接口,能够简单快捷地解决手机终端程序下载和存储。附图说明图1是存储器内逻辑块和物理块的映射关系示意图;图2是运行应用出现坏块时,存储器逻辑块和物理块的映射关系示意图;图3是虚拟空间管理流程图。具体实施例方式下面结合附图和实施例对本专利技术做进一步的说明。如图1所示,虚拟内存管理模块中逻辑块和物理块的映射关系,是每一个逻辑块按照顺序映射到实际的物理块上,如果对应的物理块坏了,则映射到下一个物理块上,然后建立起一个映射表。例如在NAND FLASH存储器中存在坏块5、6、11等等。这样我们的逻辑地址的对应关系就会像下面这样,逻辑0对应物理0;逻辑1对应物理1;逻辑2对应物理2;逻辑3对应物理3;逻辑4对应物理4;逻辑5对应物理7;逻辑6对应物理8;逻辑N对应物理M。其中物理0块是保证不会坏掉的,而其他的物理块有会出现坏块的可能性,坏块分为两种,一种存储器生产出来后就存在的初始坏块,另一种是存储器的运行过程中出现的随机产生的坏块。建立起NAND FLASH坏块映射表,并把逻辑块与实际物理块的映射关系以映射表的形式存储在NAND FLASH的固定位置上。这样就能够向上层应用提供统一的NAND FLASH读写控制接口,并向上层应用提供连续的逻辑地址空间。上层应用程序通过这些接口对NAND FLASH进行读写操作,在使用这些接口时,不必考虑NAND FLASH中实际坏块的存在,只是假定下层整个NAND FLASH是连续可用的。初始坏块的检测,用烧写工具把相应IMAGE写到手机的NAND FLASH后,手机第一次开机BOOT LOADER运行时,BOOT LOADER中的逻辑空间管理模块部分启动并检测NAND FL本文档来自技高网...
【技术保护点】
一种对NANDFLASH存储器进行虚拟空间管理的方法,其特征在于包括以下步骤:1)初始化NANDFLASH存储器,检测所有物理坏块;2)建立映射表,把虚拟的连续可用的逻辑块映射到非连续的可用物理块上,并把映射表存储到 虚拟空间管理模块中;3)每个应用单元通过虚拟空间管理模块访问NANDFLASH存储器;4)虚拟空间管理模块找到逻辑块对应的物理块,进行读、写和擦除操作。
【技术特征摘要】
1.一种对NAND FLASH存储器进行虚拟空间管理的方法,其特征在于包括以下步骤1)初始化NAND FLASH存储器,检测所有物理坏块;2)建立映射表,把虚拟的连续可用的逻辑块映射到非连续的可用物理块上,并把映射表存储到虚拟空间管理模块中;3)每个应用单元通过虚拟空间管理模块访问NAND FLASH存储器;4)虚拟空间管理模块找到逻辑块对应的物理块,进行读、写和擦除操作。2.根据权利要求1所述的对NAND FLASH存储器进行虚拟空间管理的方法,其特征在于还包括以下步骤5)NAND FLASH存储器的物理块在读、写和擦除操作中出现错误,识别为坏块;6)把逻辑块映射到一个可用且为空的物理块上,并把新的映射表存储到虚拟空间管理模块中;7)逻辑块不变,重新找到新对应物理块,再次进行读、写和擦除操作。3.根据权利要求1所述的对NAND FLASH存储器进行虚拟空间管理的...
【专利技术属性】
技术研发人员:刘刚,唐尊良,
申请(专利权)人:海信集团有限公司,青岛海信移动通信技术股份有限公司,
类型:发明
国别省市:95[中国|青岛]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。