一种利用Flash存储空间的方法及装置的制作方法

文档序号:6480084阅读:191来源:国知局
专利名称:一种利用Flash存储空间的方法及装置的制作方法
技术领域
本发明涉及数据存储领域,尤其是涉及一种利用Flash存储空间的方法及装置。
背景技术
闪存(Flash Memory)是一种长寿命的非易失性(在断电情况下仍能保持所存储 的数据信息)的存储器,已经成为了目前最成功、流行的一种固态内存,可运用在U盘、闪存 卡(Flash Card) 、 MP3 (MPEG Audio Layer3)播放器、MP4 (Motion Picture Experts Group 4)播放器、手机、数码相机,掌上电脑等数码产品上。闪存卡根据不同的生产厂商和不同 的应用,可以分为Smart Media(SM卡)、Compact Flash(CF卡)、Multi Media Card(匪C 卡)、Secure Digital (SD卡)、Memory Stick (记忆棒)、XD-PictureCard (XD卡)和微硬 盘(MICRODRIVE)。 闪存可分为NOR型和NAND型,NAND型闪存以块(block)为单位进行擦除操作,而
编程的基本单位是比块小一级的单位页(Page),一般每个块包含若干个页。 在对现有技术的研究和实践过程中,本发明的发明人发现现有技术存在以下问
题 当NAND型闪存块中的部分页出错或者失效时,控制器会将该块标记为坏块(bad block),并将其弃用,从而导致该块中的没有出错的有效页也不能使用。例如包含64个页 的块仅一个页失效时,控制器也会弃用该块,则该块中的其余63个有效页不能使用,严重 浪费资源。

发明内容
本发明实施例提供一种利用Flash存储空间的方法及装置,使得控制器可以使用
NAND型闪存中包含无效页的块中的有效页,最大限度地利用可存储空间。 为解决上述技术问题,本发明所提供的实施例是通过以下技术方案实现的 —种存储数据的方法 获取到块内的每个页是否为有效状态; 将获取到的包含无效页的块附加标识,并创建有效页表,所述有效页表记录有附 加标识的块包含的有效页; 在控制器需要操作附加标识的块时,指示控制器根据所述有效页表得到该块包含 的有效页的个数,并将操作对象页的地址偏移到所述有效页。
—种存储数据的装置,包括 获取页状态单元,用于获取到块内的每个页是否为有效状态; 创建有效页表单元,用于将获取到的包含无效页的块附加标识,并创建有效页表, 所述有效页表记录有附加标识的块包含的有效页; 操作转换单元,用于在控制器需要操作附加标识的块时,指示控制器根据所述有 效页表得到该块包含的有效页的个数,并将操作对象页的地址偏移到所述有效页。
由上述技术方案可以看出,本发明实施例通过将获取到的包含无效页的块附加标 识,并创建有效页表记录附加标识的块包含的有效页,使得控制器需要操作附加标识的块 时,可以根据所述有效页表得到该块包含的有效页的个数,并将操作对象地址偏移到所述 有效页,则使用了NAND型闪存包含无效页的块中的有效页,最大限度地利用了可存储空 间。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
图1是本发明实施例一的方法流程示意图; 图2是本发明实施例二的包含无效页的块中页状态示意图; 图3是本发明实施例装置的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。 随着多级单元(Multi Level Cell, MLC)技术的出现,Flash制程的提高,对于控 制器的纠错能力的需求也大大提高。因此,面对具备同样纠错能力的控制器时,Flash的稳 定性不如从前了 ,具体表现为包含无效页的块增多了 。 实施例一、参见图1详细说明,图1为本实施例的方法流程示意图。
步骤101 :获取到块内的每个页是否为有效状态。 获取块内的每个页的状态,可在量产阶段由扫描代码扫描每个页的状态,然后返
回给量产工具。 步骤102 :将获取到的包含无效页的块附加标识,并创建有效页表,所述有效页表 记录有附加标识的块包含的有效页。 例如,block-0包含16个page,量产工具获取到其中的第1至第8个page为无效 page,则将该block附加标识,并创建有效页表。标识可以是某字段或者是其他能将该块与 其他不包含无效页的块区分开的任何标记。 有效页表可以使用两种方式记录有效页一种为用Byte表示有效页的地址;一种 为用Bit表示每个页的状态,O为有效,1为无效。 如上例,第一种方式的有效页表记录该block中的有效页的地址为第9至第16 个;第二种方式的有效页表则记录为0000000011111111,表示前八个页无效,后八个页有 效。 可将所述有效页表写入闪存的配置表,配置表是用来记录Flash及控制器的一些 关键参数的表。
步骤103 :在控制器需要操作附加标识的块时,指示控制器根据所述有效页表得 到该块包含的有效页的个数,并将操作对象页的地址偏移到所述有效页。 本发明实施例的执行主体可以是量产工具。量产工具为改写其相对应的主控芯片 内的数据的工具,可以是能批量将应用闪存技术的相关产品(如U盘、闪存卡、MP3播放器、 MP4播放器、手机等数码产品)进行格式化的工具软件。操作附加标识的块可以是向该块中 存储数据或者其他操作。 本发明实施例通过将获取到的包含无效页的块附加标识,并创建有效页表记录附
加标识的块包含的有效页,使得控制器需要操作所述附加标识的块时,可以根据所述有效
页表得到所述附加标识的块包含的有效页的个数,并将操作对象地址偏移到所述有效页,
则使用了 NAND型闪存包含无效页的块中的有效页,最大限度地利用了可存储空间。 以下实施例二以一包含64个页但只有32个页有效的闪存为例,有效页表用Byte
表示有效页的地址进行具体说明,当然,用Bit表示每个页的状态,O为有效,1为无效的方
式也不影响本发明的实现。显然,有效页数目为21或35等其他数字也不影响本发明实施
例的实现。 实施例二、 步骤201 :获取到块内的每个页是否为有效状态。 获取的block-2中每个页的状态如图2所示,64个页中的32个页为无效,32个页 有效,地址分别为0、1、4、5、6、7、8、9、 E、10、11、19、1A、1B、1C、1E、20、21、23、24、25、26、28、 29、2E、33、34、35、36、3D、3E、3F。 步骤202 :将获取到的包含无效页的块附加标识,并创建有效页表,所述有效页表 记录有所述附加标识的块包含的有效页。 将block-2附加标识,并创建有效页表,可如下表1所示
01456789E1011191A1B1C1E
20212324252628292E333435363D3E3F 表l 表1包含了 block-2中32个有效页的地址。 在实际应用中,限于闪存的物理结构,多个包含无效页的块的有效页位置通常是
一样的,因此,有效页位置相同时可用同一张有效页表表示多个包含无效页的块的有效页
位置,节约内存空间,不影响本发明实施例的实现。在多个包含无效页的块的有效页位置不
同时,则可创建对应每个包含无效页的块的有效页表,也不影响本发明实施例的实现。 可将所述有效页表写入闪存的配置表,配置表是用来记录Flash及控制器的一些
关键参数的表。 步骤203 :在控制器需要操作附加标识的块时,指示控制器根据所述有效页表得 到该块包含的有效页的个数,并将操作对象页的地址偏移到所述有效页。
当控制器将数据存储到block-2时,查询有效页表,得知block-2包含32个有效 页。例如将数据存储到block-2的第16个页时,则根据有效页表对应查找到block-2的第 16个页的物理地址为1E,则将数据存储到1E,将现有技术不可使用的包含无效页的块中的
5有效页的存储空间充分利用起来。 当有效页表以Bit表示每个页的状态,O为有效,l为无效的方式创建时,可由韧件 (Firmware)根据每个Page的状态来决定是否使用。本实施例所示的有效页表则为
换成十六进制表示为0xlF87BC84AlFCBC0C。 当控制器需要操作的Page落在此Block内时,假设LogicalPage offset = 0x08, 可根据此表循环右移,得到第0x08个lb' 0时所对应的右移过的bit数目即为所应对应操 作的物理Page地址。回到此例上来,则Physical Page offset应为OxOE。
有效页表以Bit表示每个页的状态,O为有效,1为无效的方式创建时,占用更少的 资源,以此例来讲仅8个Byte而已;而本例用有效页表用Byte表示有效页的地址时,有效 页表需要占用32个Byte。 这样,本发明实施例通过将获取到的包含无效页的块附加标识,并创建有效页表
记录附加标识的块包含的有效页,使得控制器需要操作附加标识的块时,可以根据所述有
效页表得到该块包含的有效页的个数,并将操作对象地址偏移到所述有效页,则使用了
NAND型闪存包含无效页的块中的有效页,最大限度地利用了可存储空间。 并且,所述有效页表可以用表示有效页的地址和表示每个页的状态两种方式创
建,其中,表示每个页的状态的方式则更为节约资源,前者则效率较高。 目前市面上流通有相当一部分生产线上的失败品或次品,即DowngradeFlash ;或
者是闪存因本身结构、使用次数等原因造成了块中含有无效页,导致闪存内大量空间无法
使用,现有技术对这些产品无计可施;而本发明实施例乃针对这些产品提出,使得一个包
含无效页的块内只要还包含一个有效页,该有效页就不会被浪费。本发明实施例对于闪
存本身结构并无任何特殊要求,可以应付市面上所碰到的很多由于部分Page出错而导致
BadBlock过多以致无法使用的Downgrade Flash,从而将不能用的"电子垃圾"重新赋予生
命,变废为宝。 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列 的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为 依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知 悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明 所必须的。 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部 分,可以参见其他实施例的相关描述。 以上提供了一种利用Flash存储空间的方法,本发明实施例还提供一种利用 Flash存储空间的装置。 —种利用Flash存储空间的装置30,参见图3,图3为本发明实施例装置的结构示 意图,包括 获取页状态单元31,用于获取到块内的每个页是否为有效状态。
创建有效页表单元32,用于将获取到的包含无效页的块附加标识,并创建有效页 表,所述有效页表记录有附加标识的块包含的有效页的地址,或者记录有所述附加标识的 块的所有页的状态,包括有效页的有效状态和无效页的无效状态。
6
操作转换单元,用于在控制器需要操作附加标识的块时,指示控制器根据所述创 建有效页表单元32创建的有效页表得到该块包含的有效页的个数,并将操作对象页的地 址偏移到所述有效页。 本发明实施例通过将获取到的包含无效页的块附加标识,并创建有效页表记录所 述附加标识的块包含的有效页,使得控制器需要操作附加标识的块时,可以根据所述有效 页表得到该块包含的有效页的个数,并将操作对象地址偏移到所述有效页,则使用了NAND 型闪存包含无效页的块中的有效页,最大限度地利用了可存储空间。 本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可 以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介 质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为 磁碟、光盘、只读存储记忆体(Read-0nly Memory,ROM)或随机存储记忆体(Random Access Memory,廳)等。 以上对本发明实施例所提供的一种利用Flash存储空间的方法及装置进行了详 细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说 明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据 本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不 应理解为对本发明的限制。
权利要求
一种利用F1ash存储空间的方法,其特征在于获取到块内的每个页是否为有效状态;将获取到的包含无效页的块附加标识,并创建有效页表,所述有效页表记录有附加标识的块包含的有效页;在控制器需要操作附加标识的块时,指示控制器根据所述有效页表得到该块包含的有效页的个数,并将操作对象页的地址偏移到所述有效页。
2. 根据权利要求1所述的方法,其特征在于,所述有效页表记录有附加标识的块包含 的有效页具体为有效页表记录有单个附加标识的块包含的有效页。
3. 所述有效页表记录有附加标识的块包含的有效页具体为 所述有效页表记录有至少两个附加标识的块包含的相同的有效页。
4. 根据权利要求1所述的方法,其特征在于,所述有效页表记录有附加标识的块包含 的有效页具体为所述有效页表记录有附加标识的块包含的有效页的地址。
5. 根据权利要求1所述的方法,其特征在于,所述有效页表记录有附加标识的块包含 的有效页具体为所述有效页表记录有附加标识的块包含的所有页的状态,包括有效页的有效状态和无 效页的无效状态。
6. 根据权利要求1至5任一项所述的方法,其特征在于,还包括 将所述有效页表写入配置表。
7. —种利用Flash存储空间的装置,其特征在于,包括 获取页状态单元,用于获取到块内的每个页是否为有效状态;创建有效页表单元,用于将获取到的包含无效页的块附加标识,并创建有效页表,所述 有效页表记录有附加标识的块包含的有效页;操作转换单元,用于在控制器需要操作附加标识的块时,指示控制器根据所述有效页 表得到该块包含的有效页的个数,并将操作对象页的地址偏移到所述有效页。
8. 根据权利要求7所述的装置,其特征在于,所述创建有效页表单元具体用于创建记 录有单个或者至少两个附加标识的块包含的有效页的有效页表。
9. 根据权利要求7或8所述的装置,其特征在于,所述创建有效页表单元具体用于创建 记录有附加标识的块包含的有效页的地址,或者记录有附加标识的块包含的所有页的状态 的有效页表,所述所有页的状态包括有效页的有效状态和无效页的无效状态。
全文摘要
本发明实施例公开了一种利用Flash存储空间的方法及装置,所述方法为获取到块内的每个页是否为有效状态;将获取到的包含无效页的块附加标识,并创建有效页表,所述有效页表记录有附加标识的块包含的有效页;在控制器需要操作附加标识的块时,指示控制器根据所述有效页表得到该块包含的有效页的个数,并将操作对象页的地址偏移到所述有效页。本发明实施例使得控制器需要操作附加标识的块时,可以根据所述有效页表得到该块包含的有效页的个数,并将操作对象地址偏移到所述有效页,则使用了NAND型闪存包含无效页的块中的有效页,最大限度地利用了可存储空间。
文档编号G06F12/06GK101770427SQ20091000039
公开日2010年7月7日 申请日期2009年1月7日 优先权日2009年1月7日
发明者陈伟 申请人:芯邦科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1