闪存的存储块的标识方法

文档序号:6774837阅读:159来源:国知局
专利名称:闪存的存储块的标识方法
闪存的存储块的标识方法所属技术领域本发明涉及一种闪存(FlashMemory)的存储块的管理的方法, 尤其涉及 一 种闪存的存储块的标识方法。背景技术
近年来,闪存(FlashMemory)因其没有机械部件,可靠性高, 节省电力,得到快速的发展。闪存没有移动部件,所以抗震性较强; 同时可以做到机器运转无噪音,运行时将更加安静。因而,闪存被广 泛应用于存储卡、MP3播放器、笔记本电脑等消费电子产品。符合 消费类电子产品体积小、重量轻、速度快、携带方便的发展趋势。如图l所示,现有的闪存的存储块分为数据区和标识区,标识区 根据数据区是否存有数据而相应标识为忙或空。当向闪存的存储块写 入数据时,首先,根据写入操作指令将该所要写入的存储块的逻辑地 址转换为物理地址,若该物理地址对应的数据区存储有数据时,则需 先将数据擦除成为不存储数据的空置块后,再对该空置块写入数据。 其中,在对数据进行擦除操作时,数据写入操作处于等待状态,即, 必需等待数据擦除后在写入数据。从而,数据写入因需先擦除数据而 占用不必要的等待时间,耗费时间整个数据写入时间,降低闪存的数 据写入的效率。
由此,如何提供一种提高闪存的写入数据的速度,则成为当前提 高闪存的存储块的数据读写效率的发展趋势。
发明内容本发明提供一种闪存的存储块的标识方法,提高数据的写入速 度,提升闪存的存储块的数据读写效率。本发明还提供一种基于上述闪存的存储块的标识方法进行数据 写入的方法,减少数据写入的时间,提高闪存的使用性能。为实现上述发明目的,本发明提供一种闪存的存储块的标识方 法,闪存的存储块包括数据区及标识区,其中,标识区分为逻辑地址标识区、^:据状态标识区及记录区,逻辑地址标识区对应标识每一数 据区的逻辑地址标识,数据状态标识区对应每一数据区的状态分别标 识为空、忙,记录区对应记录数据区的读写更新次数。本发明还提供基于上述闪存的存储块的写入数据的方法,数据处 理系统与所述闪存建立连接后,闪存的控制器根据闪存的标识区的信 息,构建地址映射表,建立数据块堆栈,建立标识区堆栈,之后,向 上述闪存的存储块写入数据的操作,包括如下步骤1. )系统发出写入数据操作指令;2. )将数据所需写入的逻辑地址转换位相对应的物理地址,并根 据地址映射表进行寻址找到对应的第 一数据区;3. )若第一数据区的数据标识状态为空,则将数据写入该第一数 据区,同时将该第一数据区的数据状态标识为忙,对应的读写控制区
更新为存储;4. )若第一教:据区的数据标识状态为忙,则查询读写控制区,并 寻址到数据状态标识为空的第二数据区,将数据写入第二数据区;5. )更新地址映射表,将第二数据区的逻辑地址标识改为第一数 据区的逻辑;也址标识;6. )将第二数据区的数据状态改为忙,读写控制区改为存储;7. )将第一数据区的读写控制区改为擦除,将第一数据区的逻辑 地址标识更新并与其他待擦除的数据区进行排序。8. )数据的写入操作完成。由上述技术方案可知,本发明闪存的存储块的标识方法,通过将 标识区区分为逻辑地址标识区、数据状态标识区及记录区,数据状态 标识区记录数据区的空、忙的状态,当需写入数据的数据区为忙的状 态时,将数据写入状态为空的另一数据区中,因此,省略了数据写入 过程中需先等待数据区进行擦除的操作时间,提高闪存的数据写入速 度,当闪存的存储块处于非读写数据的状态时,再对需擦除的数据区 进行擦除操作,提高了闪存读写数据的效率。
图1现有技术的闪存的存储块的结构示意图。 .图2是本发明闪存的存储块的示意图。图3是本发明闪存的存储块的写入数据后的示意图。 图4是发明闪存的存储块进行擦除搡作后的示意图。 图5是发明闪存的存储块的标识方法的存储块的写入数据的操 作的流程图。
具体实施方式为进一步阐述本实用新型达成预定目的所采取的技术手段及功 效,以下结合附图及实施例,对本发明闪存的存储块结构及其标识方 法,其具体实施方式
、结构特征及其功效,详细说明如下。请参阅图2,本发明闪存的存储块区分为数据区及与数据区相对应的标识区。标识区包括逻辑地址标识区、教:据状态标识区、记录区 及读写控制区。标识区的逻辑地址标识区标记相应数据区的逻辑地址 标识,闪存具有控制电路,在闪存加电使用时,控制电路根据各数据 区的逻辑地址标识分别建立与物理地址相对应的地址映射表,从而需 对不同的数据区读写数据时,仅需按照逻辑地址标识操作即可。例如,速辑地址标识为Bl时,则该逻辑地址Bl相对应的数据区为标识为 Al的数据区,从而使得需对逻辑地址标识为Bl的数据区进行操作 时,即对数据区A1进行操作。数据状态标志区标识数据区的存储状态,当数据区存储有数据 时,则该数据区的数据状态标识区的标志则为忙,即该数据快暂时不 能写入数据;若该数据区没有存储数据,则相应的数据状态标识区的 标识为空;若该数据区中的数据是需要擦除的数据,则在数据读写过 程中,该数据区的数据状态仍然标识为忙,而等待闪存的存储块处于 非读写数据状态时,再对该数据区进行擦除操作。
据区的更新次数,即,该数据区写入数据并被 擦除完成后,该记录区的相应数字加1,表示该数据区被更新操作1 次。读写控制区针对数据区的数据状态所需进行的操作信息进行记录,当数据区的数据状态标识为忙时,读写控制区的标识为存储;当 数据区的数据状态标识为忙,但此时数据需写入该数据区,则数据会 写入另 一数据状态标识为空更新次数最少的数据区,从而读写控制区 将该本应写入数据的数据区标识为擦除;如该读写控制区的数据状态 标识为空时,则该数据相应的读写控制区记录为待写,表示该数据区 等待写入数据。如图2所示,具体地,以数据区Al举例说明数据区与标识区中 的逻辑地址标识区、数据状态标识区、记录区及读写控制区之间的关 系。逻辑地址标识区标识为Bl对应数据区Al中存储有数据,其数 据状态标识区标识为忙,根据数据区Al记录区标识得知,数据区 Al已经进行过一次数据更新操作,当闪存处于读写数据过程中,数 据区Al的读写控制区的标识为存储,若需向数据区Al写入数据, 此时因数据区Al存储有数据时,则读写控制区将数据区Al记录为 擦除,等待闪存的存储块处于非读写数据状态时,根据数据区A1的 读写控制区的擦除信息对数据区Al进行擦除操作。为详细说明本发明闪存的存储块的标识方法,下面具体以写入数 据至数据区的操作过程为例进行描述。闪存与外部数据处理系统电性连接时,闪存的控制电路初始化 时,建立各数据块的逻辑地址标识与物理地址之间的地址映射表并存 储于控制器的随机存储器(RAM)中。当向本发明闪存的存储块写 入数据时,将数据所需写入的逻辑地址转换为物理地址,例如,当数 据所要写入的逻辑地址标识为Bl的数据区,由地址映射表得知,数 据需要写入对应的数据区Al中,根据数据状态标识区判断数据区 Al的状态,由图2可知,数据区A1处于忙的状态,则将数据区A1 对应的读写控制区标识为擦除,此时,控制电路查询读写控制区的信 息可知数据区A2为待写,将数据直接写入数据区A2,更新数据区 A2的地址映射表,从而,当读取数据时,可依据逻辑地址标识B2 读取到写入数据的数据区A2中的数据,而不是错误读取到数据区 Al中的数据,如图3所示。当本发明闪存的存储块处于非读写数据状态时,则读写控制区依 据记录的信息,而对需要擦除的各数据区,如,对数据区A1、 A3进 行擦除操作,同时,对应的记录区加l,如,将数据区A1、 A3的纪 录区标识相应更新为2、 3,相应地,数据状态标识区更改为空,读 写控制区标识为待写,并按损耗均衡算法(WearLeveling)对数据区 Al、 A3进行排序,并据此将更新后的A1、 A3对应的逻辑地址标识 区写入地址映射表以待进行下次数据写入操作,如图4所示。如图5,为基于本发明闪存的存储块的标志方法进行数据写入操 作步骤的流程图。数据处理系统与所述闪存建立连接后,闪存的控制 器根据闪存的各空闲区的信息,构建地址映射表,建立数据块堆栈, 建立空闲区堆栈,之后,向上述闪存的存储块写入数据的操作,包括 如下,该数据写入步骤包括
1. )系统发出写入数据操作指令;2. )将数据所需写入的逻辑地址转换位相对应的物理地址,并根 据地址映射表进行寻址找到对应的数据区Al;3. )若数据区Al的数据标识状态为空,则将数据写入数据区Al, 同时将数据区Al的数据状态标识为忙,对应的读写控制区更新为保存;4. )若数据区Al的数据标识状态为忙,则查询读写控制区,并 寻址到数据状态标识为空的数据区A2,将数据写入数据区A2;5. )更新逻辑地址映射表,将数据区A2的逻辑地址改为数据区 Al的逻辑地址;6. )将数据区A2的数据状态改为忙,读写控制区改为存储;7. )将数据区Al的读写控制区改为擦除,并将数据区Al的逻辑 地址与其他待擦除的数据区进行排序,以待擦除。8. )数据的写入4喿作完成。当上述写入数据的操作完成后,且闪存的各存储块处于非读写数 据状态时,系统根据读写控制区的状态对标识为擦除的各数据区进行 数据擦除操作,擦除后的各数据区的数据状态标识去更新为空,读写 控制区标识为待写,之后,系统根据损耗均衡算法对擦除后的各数据 区进行排序,并相应地把擦除后的各数据区的逻辑地址标志区中的逻 辑地址标识写入系统的地址映射表中。综上所述,本发明闪存的存储块的标识方法,将闪存的标识区区 分为逻辑地址标识区、数据状态标识区、记录区及读写控制区,从而, 当需向本发明的闪存写入数据时,若该数据所要写入的数据区存储有 数据时,则将数据写入数据状态标识区标识为空的另一数据区中,等 待闪存处于非读写数据状态时,再对需擦除的数据区进行擦除操作, 因此,数据写入的操作过程中,仅需对数据区的数据状态作判断为非 空状态后,将数据写入数据状态为空的空置的数据区中,直接省略了 对数据状态为非空的数据区进行进一步的擦除操作,节省数据写入的 等待擦除操作时间,从而明显提高闪存的存储块的数据写入操作速 度,有利地提高了闪存的操作效率。此外,本发明闪存的存储块的标识方法在对需擦除的数据区进行 擦除操作后的排序中,采用损耗均衡算法,有效地减小各数据区的操 作更新次数的不均衡对闪存的使用寿命的影响,保证闪存的读写效率 的同时,提高闪存的存储块的数据区的使用效率。
权利要求
1、一种闪存的存储块的标识方法,闪存的存储块包括数据区及标识区,其特征在于标识区分为逻辑地址标识区、数据状态标识区及记录区,逻辑地址标识区对应标识数据区的逻辑地址标识,数据状态标识区对应数据区的状态分别标识为空、忙,记录区对应记录数据区的更新次数。
2、 根据权利要求1所述的闪存的存储块的标识方法,其特征在 于所述的数据区的数量与逻辑地址标识区、数据状态标识区及控制 区相等。
3、 根据权利要求1所述的闪存的存储块的标识方法,其特征在 于所述的数据状态标识区依次将数据状态标识为空的数据区按损耗 均衡算法排序,当数据写入的数据区的状态为忙时,根据记录区的更 新次数,将数据写入状态为空且更新次数最少的数据区。
4、 根据权利要求1所述的闪存的存储块的标识方法,其特征在 于所述标识区还包括读写控制区,所述读写控制区分别才艮据数据区 的空、忙状态标识为待写、存储、擦除,当所述数据所要写入的数据 区为忙时,读写控制区将该数据写入状态为空的数据区,并将该状态 为空的数据区的逻辑地址标识更新为所述状态为忙的数据区的逻辑 地址标识,同时,所述写入数据的状态为空的数据区对应的读写控制 区标识为存储,数据状态标识区相应地将该写入数据的数据区的数据 状态标识为忙,其读写控制区对应标识为擦除。
5、 根据权利要求4所述的闪存的存储块的标识方法,其特征在 于当闪存处于空闲状态时,系统根据所迷读写控制区为擦除的数据 区进行擦除操作,并按照记录区的标识对擦除后的数据区进行损耗均 衡算法排序,同时更新数据区对应的逻辑地址标识。
6、 根据权利要求1所述的闪存的存储块的写入数据的方法,数 据处理系统与所述闪存建立连接后,闪存的控制器4艮据闪存的标识区 的信息,构建地址映射表,建立数据块堆栈,建立标识区堆栈,之后, 向上述闪存的存储块写入数据的操作,包括如下步骤1. )系统发出写入数据搡作指令;2. )将数据所需写入的逻辑地址转换位相对应的物理地址,并根 据地址映射进行寻址找到对应的第 一数据区;3. )若第一数据区的数据标识状态为空,则将数据写入该第一数 据区,同时将该第一凝:据区的数据状态标识为忙,对应的读写控制区 更新为存储;4. )若第一数据区的数据标识状态为忙,则查询读写控制区,并 寻址到数据状态标识为空的第二数据区,将数据写入第二数据区;5. )更新地址映射表,将第二数据区的逻辑地址标识改为第一数 据区的逻辑地址标识; 6. )将第二数据区的数据状态改为忙,读写控制区改为存储;7. )将第一数据区的读写控制区改为擦除,将第一数据区的逻辑 地址标识更新并与其他待擦除的数据区进行排序。8. )数据的写入操作完成。
7、根据权利要求6所述的闪存的存储块的写入数据的方法,其 特征在于步骤8.)还进一步包括当所述的闪存的存储块处于非 读写数据的状态时,系统根据读写控制区的状态对标识为擦除的数据 区进行数据擦除操作,擦除后的数据区的数据状态标识更新为空,读 写控制区标识为待写,之后,系统根据损耗均衡算法对擦除后的数据 区进行排序,并相应地把擦除后的数据区的逻辑地址标志区中的逻辑 地址标识写入系统的地址映射表中。
全文摘要
本发明提供一种闪存的存储块的标识方法,将存储块的标识区分为逻辑地址标识区、数据状态标识区及读写控制区,逻辑地址标识区对应标识数据区的逻辑地址标识,数据状态标识区分别对应标识数据区的为空、忙、擦除状态,读写控制区对应记录数据区的存储、待写、擦除状态。当需写入数据的数据区存储有数据时,省略了写入过程中需先等待该数据区进行擦除的操作时间,提高闪存的数据写入速度。当闪存处于非读写数据时,对读写控制区为擦除的数据区进行擦除操作,并对擦除后的数据区按损耗均衡算法进行排序,同时更新数据区的逻辑地址标识区,提高闪存操作效率的同时保证了闪存的使用寿命。
文档编号G11C16/06GK101162608SQ20061011362
公开日2008年4月16日 申请日期2006年10月10日 优先权日2006年10月10日
发明者周朝晖, 炜 梁 申请人:北京华旗资讯数码科技有限公司;北京华旗数码技术实验室有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1