一种利用闪存的方法

文档序号:6779861阅读:141来源:国知局
专利名称:一种利用闪存的方法
技术领域
本发明涉及存储技术领域,特别是涉及一种利用闪存的方法。
背景技术
闪存(FlashMemory, Flash),作为一种非挥发性的半导体存储芯片, 它在没有电流供应的条件下也能够长久地保存数据,而挥发性的内存(如 DDR、 SDRAM或者RDRAM)只要停止电流供应,那么数据便无法保存。因 此,闪存成为了各类便携型数字设备的存储介质的基础,普遍应用于数码电 视、数码便携式摄像机、移动电话、数码相机、掌上电脑(Personal Digital Assistant , PDA)、游戏机、MP3播放器等设备中。
闪存由许多个块(block)组成,每个块(block)包括64页(page),每 一个页(page)包括4个扇区(sector)。闪存的写入4乘作必须在空白区域进 行,如果目标区域已经有数据,必须先4察除后写入,因此当对闪存进行读写 的次数多了, 一个块中就可能出现坏扇区。为了防止由于将婆:据写到坏扇区, 而造成数据的丟失,通常采用的方法为在使用闪存前,对闪存先进行初始 化扫描,只要一个块中出现一个坏扇区,即将整个块标记为坏块,然后将凄t 据存储到好块中,该方法通过防止将数据写到坏扇区来实现数据的安全存储。
4旦是,如上所述,运用这种方法,只要一个块中出现坏扇区时,即将整 个块标记为坏块,对整个块都进行屏蔽,那么在该块没有完全坏掉的时,这 个块中的好扇区会被屏蔽掉,由于该方法无法对出现坏扇区的块中的好扇区 进行有效利用,造成了有限的闪存存储资源的浪费。

发明内容
有鉴于此,本发明解决的问^A提供一种利用闪存的方法,可以充分地 利用闪存中的好扇区进行数据存储,提高闪存存储资源的利用率。为此,本发明提供了一种利用闪存的方法,包括以下步骤 扫描闪存,4艮据闪存的质量,对闪存进行分类; . 才艮据闪存分类的结果,存储相应重要程度的数据; 根据扫描结果,设置坏扇区所在页为禁止写入页,没有坏扇区的页为正 常页;
当扫描出的坏扇区数小于或等于预设值时,对正常页执行第一预定操
作;
当扫描出的坏扇区数大于预设值时,对正常页执行第二预定操作。
优选地,根据闪存的质量,对闪存进行扫描分类具体为
按照闪存类型抽取部分闪存样品;
用读或写操作模式扫描闪存样品,获得各个闪存的特性;
根据闪存的特性,对闪存进行扫描;
才艮据扫描结果,将闪存划分为不同的等级。
优选地,所述闪存的特性为所述闪存的奇数块的坏块比例高于偶数块的 坏块比例,或者为偶数块的坏块比例高于奇数块的坏块比例,或者为闪存按 顺序写入时不出错,随机写入时出错。
优选地,当所述闪存的特性为闪存的奇数块的坏块比例高于偶数块的坏 块比例时,对偶数块扫描一次,对奇数块进行多次扫描。
优选地,当所述闪存的特性为闪存偶数块的坏块比例高于奇数块的坏块 比例的闪存时,对奇数块进行一次扫描,对偶数块进行多次扫描。
优选地,当所述闪存的特性为所述闪存按顺序写入不出错,随机写入 出错,对闪存进行多次扫描。
优选地,所述第一预定才乘作为在每个正常页中的三个扇区写入需要存 储的数据,在余下的一个扇区写入特定数据。
优选地,所述特定数据通过对其他三个扇区中写入的数据执行异或运算 获得。
优选地,所述第二预定操作为将需要存储的数据写入每个正常页的四 个扇区。优选地,所述预设值根据所存储数据的重要性进行设定。 优选地,根据扫描结果,设置坏扇区所在页为禁止写入页,没有坏扇区 的页为正常页之后还包括步骤
设置一组预定数目的正常页为替换页;
当扫描出禁止写入页时,用替换页将其替换。
优选地,还包括步骤将替换出的禁止写入页放在替换页组之后。 与现有技术相比,本发明在根据闪存质量对闪存进行分类,在分类的基 础上进行相应重要程度数据的存储,并将没有坏扇区的页设置为正常页,根 据坏扇区数的数量对正常页执行相应存储操作,从而有效地利用了闪存中坏 扇区之外的正常页进行数据存储,而不是一个块中出现坏扇区时对整个块禁 止写入,有效地利用一个闪存中没有出现坏扇区的页,提高了闪存的利用率。


图1是本发明提供的一种利用闪存方法的实施例的流程图2为对闪存进行扫描分类的方法流程图3为一个正常页中存储数据A、 B、 C、 D的示意图4为一个正常页的扇区中存储数据E的示意图5为本发明对闪存中的禁止写入页进行动态补偿的流程图。
具体实施例方式
为使本领域技术人员更好地理解本发明,下面结合具体实施例对本发明 提供的利用闪存的方法作具体说明。
信息是通过语言、文字、声音、图形、图像等信号表示,信息不能独立 存在,它需要转化为某种物理形式存在,即我们通常所说的数据。数据是各 种各样的物理符号及其组合,它反映了信息的内容。数据的形式会随着物理 媒介的改变而发生变化。比如, 一首歌,用磁带录制下来,用CD刻录出来, 他们都可以传递歌曲。在磁带上,数据是磁性强度不同的磁信号,在光盘上, 他们是深浅不同的凹坑。但是他们记录的信息是相同的。在计算机领域,计算机的基本功能是对数据进行运算和加工处理,数据
的类型有两种 一种是数值数据,如3.1416、 -2.71828......,另一种是非数
值数据(信息),如A、 b、 +、=......。无论哪一种数据在计算机中都是用
二进制数码表示的。计算机中只有二进制数值,所有的符号都是用二进制数 值代码表示的,数的正、负号也是用二进制代码表示。数值的最高位用"0"、 'T,分别表示数的正、负号。 一个数(连同符号)在计算机中的表示形式称为 机器数,数值处理采用二进制运算,非数值处理采用二进制编码,它们具有 运算简单、电路实现方便、成本低廉等优点。
基于计算机领域中的数据是用二进制数码来表示,本发明提供了 一种利 用闪存的方法,保证数据存储安全的同时,充分地利用闪存中的好扇区进行 数据存储,提高闪存存储资源的利用率。参见图1,具体步骤如下
步骤S101:根据闪存的质量,对闪存进行扫描分类。
为了更有效地利用有限的闪存资源,可以根据数据的重要性程度将数据 存储到对应质量的闪存,即将重要的数据存储到质量高的闪存,将重要性较 低的数据存储到质量较低的闪存。
为了区分闪存的质量,使用户可以根据数据的重要性程度将数据存储到 对应质量的闪存,更好地利用有限的闪存资源,从而需要将闪存的质量分为 不同的等级。参见图2,具体进行闪存分类的流程为
步骤S101A:按照闪存类型抽取部分闪存样品。
闪存的类型主要有储存容量大的数据存储型(NAND)和处理速度快 的代码存储型(NOR)。
即使为同一种类型的闪存,由于在不同的生产批次生产,闪存特性可能 也不相同,因此,抽取的闪存样品需要为同一批次。
步骤S101B:用读或写操作模式扫描闪存样品。
需要说明的是,在闪存未进行初始化之前,只能通过读或写的操作模式 扫描闪存,从而得出闪存特性。
步骤S101C:根据扫描结果,获得各个闪存的特性。闪存的特性例如为奇数块的坏块数高于偶数块的坏块数或者偶数块的 坏块数高于奇数块的坏块数。
通过安装在测试单元中的量产模块,对闪存进行扫描,从而可以得出闪 存的特性。一^L来说, 一个测试单元可与多个测试架连4^,在一个测试架i殳 置一个闪存,因此,将特性相同的多个闪存设置在一个测试单元连接的测试
架上,可以才艮据相同的测试方法对多个闪存同时进行测试,^v而可以节约测
试闪存的成本和时间。例如奇数块的坏块比例高于偶数块的坏块比例的闪 存,或者偶数块的坏块比例高于奇数块的坏块比例的闪存,可以作为特性相 同的闪存一起设置于与测试单元连4^的测试架上。 上述的测试架通常由控制芯片厂家生产提供。 测试单元可以为电脑主机或其他具有控制、测试功能的装置。 步骤S101D:根据闪存的特性,对闪存进行扫描。
当闪存的特性为奇数块的坏块比例高于偶数块的坏块比例时,对偶数 块扫描一次,对奇数块进行多次扫描。
当闪存的特性为偶数块的坏块比例高于奇数块的坏块比例的闪存时, 对奇数块进行一次扫描,对偶数块进行多次扫描。
当闪存的特性为闪存按顺序写入时不出错,随机写入时出错,对整个 闪存进行多次扫描。
步骤S101E: 4艮据扫描结果,将闪存划分为不同的等级。
具体为将没有坏块的闪存划分为一级闪存;
当一个闪存中扫描出的坏块比例小于或等于预设值时,划分该闪存为二 级闪存;
当 一个闪存中扫描出的坏块比例大于预设值时,划分该闪存为三级闪存。
当然,用户可以才艮据需要将闪存划分为多个等级。 步骤S102:根据闪存分类的结果,存储相应重要程度的数据。如上所述,通过将闪存划分为不同的等级,将相应重要程度的数据存储 到对应等级的闪存中,可以更有效地利用有限的闪存资源,使用户能够才艮据 数据的重要性程度将数据存储到对应质量的闪存。
步骤S103: 4艮据扫描结果,设置坏扇区所在页为禁止写入页,没有坏扇 区的页为正常页。
步骤S104:当扫描出的坏扇区数小于或等于预设值时,对正常页执行第 一预定操作;当扫描出的坏扇区数大于预设值时,对正常页执行第二预定操 作。
在数据存储前,需要对闪存进行初始化扫描。
需要说明的是,运用本发明提供的方法,在本次(即当前)需要对闪存 进行数据存储时,在初始化扫描中如果发现一个块的某个页中出现坏扇区, 则将该页标记为禁止写入页,禁止对出现问题的坏扇区所在页进行写入操作, 当然,该禁止写入页依然可以进行读取操作。
在这里,禁止写入页之外的其他页为正常页,由于不存在坏扇区,本发 明对其进行数据写入、读取操作。
需要说明的是,扫描出的坏块数体现了该闪存的稳定性,坏块数越多, 则该闪存越不稳定。
所述的预设值可以根据所存储数据的重要性进行调整设定,可以为闪存 总块数的一半、三分之一或其他预"i殳定的值。
基于闪存的每个页中包括有4个扇区,所述第一预定操作为在每个正 常页中的三个扇区写入需要存储的数据,在余下的一个扇区写入特定数据, 该特定数据通*于其他三个扇区中写入的数据执行异或运算后得到。
这里,异或是用于逻辑运算的数学运算符。
例如,本次需要存储时,在一个正常页中的三个扇区分别写入要存储的 数据A、 B、 C,在余下的扇区存储特定数据D,那么使所述特定数据D= A B C。图3为在一个正常页中存储数据A、 B、 C、 D的示意图。由于特 定数据D二A④B十C,那么根据异或运算法则,B=A@D C, C = A D B, A=B C D;所以下次对闪存进行读取数据B时,如果B数据所在的扇区损坏时,可以运算得到B; C数据所在的扇区损坏时,可以运算得到C; A 数据所在的扇区损坏时,可以运算得到A。
计算机中数据的存储是一字节(8BIT)来存储的,假设A为十进制数1, 存储时转化成二进制为00000001; B为十进制数2,存储时转化成二进制为 00000010; C为十进制数4,存储时转化成二进制为00000100,那么对A、 B、 C执行异或运算,D=A B C, D会被存储为二进制00000111,十进制 值为7。
由于闪存的每个页中包括有4个扇区,本次需要将数据写入闪存时,通 过在每个正常页的三个扇区用来存储需要写入的数据, 一个扇区用来存储特 定数据,从而即使在下次进行闪存数据读取时,扫描出数据存储页中的某个 扇区出现损坏,而将坏扇区所在页设置为禁止写入页时,由于可以对禁止写 入页进行读写操作,因此仍然可以还原得到在该扇区所存储的数据,达到安 全存储数据的目的。
目前在使用闪存前,对闪存先进行初始化扫描,只要一个块中出现一个 坏扇区,即将整个块标记为坏块,从而对该块进行屏蔽。本发明在本次存储 数据时,通过执行第一预定操作,使得不需由于闪存一个页中有一个坏扇区 时,而对该页所在的整个闪存块执行屏蔽操作,本发明只是禁止对出现问题 的页进行写入操作,从而有效利用了一个块中其他页剩余的好扇区,提高了 闪存的利用率。
所述第二预定操作为将需要存储的数据写入一个页的四个扇区。在本 次需要对闪存存储数据时,通过这个操作,只要在一个页的四个扇区中还存 在一个好的扇区,那么就能保证下次使用闪存时,能够读到所存储的数据, 使数据不会丟失。假定需要存储的数据为E,图4为在一个页的扇区中存储 数据E的示意图。
需要说明的是,目前的存储方法为如果一个块的一个扇区坏掉了,整 个坏都要屏蔽掉,这样严重减少闪存能够用来存储数据的容量,浪费闪存存 储资源。而运用本发明提供的方法,在本次需要存储数据时,在扫描中发现 有坏扇区,仅禁止对坏扇区所在页进行写入操作,仍然可以对所在页的其他好扇区进行读取操作,且通过执行第二预定操作,只要下次使用闪存时,闪 存块中存储数据的页的四个扇区中还存在一个好的扇区,就能保证用户可以 读取到所存储的数据,因此,本次存储数据时,通过执行第二预定操作,使 得下次使用闪存时,只有对数据存储页的扇区的扫描结果全是坏扇区时,才 无法读取到该页所存储的数据,从而有效提高了所存储数据的安全性。
为了更好地使用闪存,保证数据的存储安全,本发明可以对已经进行分 类的闪存,即在上述步骤S103之后,利用替换页对闪存中的禁止写入页进行
动态补偿,来减少闪存出错的概率。参见图5,具体进行动态补偿的流程如下
步骤S501:设置一组预定数目的正常页为替换页。
替换页需要为本次扫描闪存扫描出的没有坏扇区的正常页,用于替换坏 扇区所在页(即禁止写入页)。
所述预定数目与闪存的容量成正比、与闪存的质量等级成反比关系。例 如对于两个容量相同的闪存,质量等级高的闪存的替换页的预定数目小于 质量等级低的闪存的替换页预定数目;对于两个质量等IM目同的闪存,容量 大的闪存的替换页预定数目大于容量小的闪存的替换页预定数目。
步骤S502:当扫描出禁止写入页时,用替换页将其替换。
通过上述动态补偿的方法,可以确保数据只在正常页进行写入和读取才喿 作,从而保证数据的存储安全。
对于已经精确分类质量等级的闪存,质量等级高的闪存的坏扇区数量并 不多,本发明采用替换页动态补偿坏扇区所在页(即禁止写入页)的方法, 对使用过程中由于闪存的不稳定性而出现的坏扇区进行处理,使用户在好的 存储页中进行数据存储,进一步保证数据的存储安全。
可以理解的是,本次扫描出的一个坏扇区,在下次扫描时可能显示为好 扇区,那么下次使用闪存时,该扇区所在页可能为正常页,因而在执行步骤 S502之后,可以将替换出的禁止写入页放在替换页组之后,那么下次使用闪 存时,该禁止写入页可能成为正常页而作为替换扇区使用。
以上所述仅是本发明的优选实施方式,并不用以限制本发明。应当指出, 对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可
ii以做出若干修改,所作的任何修改、等同替换、改进等,均应包含在本发明 的保护范围之内。
权利要求
1、一种利用闪存的方法,其特征在于,包括以下步骤扫描闪存,根据闪存的质量,对闪存进行分类;根据闪存分类的结果,存储相应重要程度的数据;根据扫描结果,设置坏扇区所在页为禁止写入页,没有坏扇区的页为正常页;当扫描出的坏扇区数小于或等于预设值时,对正常页执行第一预定操作;当扫描出的坏扇区数大于预设值时,对正常页执行第二预定操作。
2、 如权利要求1所述的方法,其特征在于,根据闪存的质量,对闪存 进行扫描分类具体为按照闪存类型抽取部分闪存样品;用读或写操作模式扫描闪存样品,获得各个闪存的特性;根据闪存的特性,对闪存进行扫描;才艮据扫描结果,将闪存划分为不同的等级。
3、 如权利要求2所述的方法,其特征在于,所述闪存的特性为所述闪 存的奇数块的坏块比例高于偶数块的坏块比例,或者为偶数块的坏块比例高 于奇数块的坏块比例,或者为闪存按顺序写入时不出错,随机写入时出错。
4、 如权利要求2或3所述的方法,其特征在于,当所述闪存的特性为 闪存的奇数块的坏块比例高于偶数块的坏块比例时,对偶数块扫描一次,对 奇数块进行多次扫描。
5、 如权利要求2或3所述的方法,其特征在于,当所述闪存的特性为 闪存偶数块的坏块比例高于奇数块的坏块比例的闪存时,对奇数块进行一次 扫描,对偶数块进行多次扫描。
6、 如权利要求2或3所述的方法,其特征在于,当所述闪存的特性为 所述闪存按顺序写入不出错,随机写入出错,对闪存进行多次扫描。
7、 如权利要求1所述的方法,其特征在于,所述第一预定操作为在 每个正常页中的三个扇区写入需要存储的数据,在余下的一个扇区写入特定 数据。
8、 如权利要求7所述的方法,其特征在于,所述特定数据通过对其他 三个扇区中写入的数据执行异或运算获得。
9、 如权利要求1所述的方法,其特征在于,所述第二预定操作为将 需要存储的数据写入每个正常页的四个扇区。
10、 如权利要求l所述的方法,其特征在于,所述预设值根据所存储数 据的重要性进行设定。
11、 如权利要求l所述的方法,其特征在于,才艮据扫描结果,设置坏扇 区所在页为禁止写入页,没有坏扇区的页为正常页之后还包括步骤设置一组预定数目的正常页为替换页; 当扫描出禁止写入页时,用替换页将其替换。
12、 如权利要求11所述的方法,其特征在于,还包括步骤将替换出的 禁止写入页放在替换页组之后。
全文摘要
本发明公开了一种利用闪存的方法,包括步骤扫描闪存,根据闪存的质量,对闪存进行分类;根据闪存分类的结果,存储相应重要程度的数据;根据扫描结果,设置坏扇区所在页为禁止写入页,没有坏扇区的页为正常页;当扫描出的坏扇区数小于或等于预设值时,对正常页执行第一预定操作;当扫描出的坏扇区数大于预设值时,对正常页执行第二预定操作。本发明在根据闪存质量对闪存进行分类,在分类的基础上进行相应重要程度数据的存储,并将没有坏扇区的页设置为正常页,根据坏扇区数的数量对正常页执行相应存储操作,从而有效地利用了闪存中坏扇区之外的正常页进行数据存储,提高了闪存的利用率。
文档编号G11C16/06GK101441891SQ20071018731
公开日2009年5月27日 申请日期2007年11月19日 优先权日2007年11月19日
发明者勤 范 申请人:芯邦科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1