一种闪存数据保存方法

文档序号:6469651阅读:248来源:国知局
专利名称:一种闪存数据保存方法
技术领域
本发明涉及一种数据存储方法,尤其涉及一种闪存数据保存方法。
背景技术
在许多应用场合都需要保存并可快速的读取和写入数据。电可擦除只读存 储器(EEPR0M)和闪存(flash memory)是两种可选的可擦写存储介质。在数字 电视领域中,经常有大量琐碎的信息需要保存。虽然每次保存的数据尺寸小, 但是种类繁多,占用空间绝对数值大。常用的EEPR0M往往因为空间不够而无 法适用,而闪存可以提供大容量存储成为可选方案。在擦除时间方面,由于闪 存只有在擦除整个扇区后才可以进行写操作,擦除时间相对较长。对于单次大 尺寸(例如与一个扇区容量相当)的数据存储,擦除时间的影响并不明显。但 是当数据尺寸小而写入频繁的时候,将造成系统的响应速度严重下降。具体表
现是界面操作缓慢,按键无反应等等。
因而需要一种适用于闪存的数据保存方案,以提高系统的响应速度。

发明内容
本发明所要解决的技术问题是提供一种适于小尺寸数据频繁写入的闪存数 据保存方法,来提高系统的响应速度。
本发明为解决上述技术问题而采用的技术方案是提出一种闪存数据保存 方法,其包括以下步骤-
在一数据保存过程中,向闪存中作为活动区域的一第一区域中多次写入数 据,其中每一数据具有一时间戳;以及
在一预设时间,将该第一区域中根据各数据的时间戳选择的有效数据备份 至作为备份区域的一第二区域,擦除该第一区域,并重新设定该第一区域为备 份区域,该第二区域为活动区域。
4在上述的闪存数据保存方法中,所述第一区域及第二区域分别包括至少一 扇区。
在上述的闪存数据保存方法中,所述第一区域及第二区域为大小相等的两 个区域。
在上述的闪存数据保存方法中,所述预设时间是所述第一区域写满的时刻。
在上述的闪存数据保存方法中,根据各数据的时间戳选择所述有效数据的 步骤包括对于同一类型的数据,选择时间戳最新的数据为有效数据。 在上述的闪存数据保存方法中,所述数据为数字电视系统的参数。 在上述的闪存数据保存方法中,还包括一闪存初始化备份步骤,其包括 判断闪存最后一次工作的活动区域;以及
判断该活动区域是否已损坏,若已损坏,则备份该活动区域的有效数据至 该备份区域,若未损坏,则清除该备份区域。
在上述的闪存数据保存方法中,判断闪存最后一次工作的活动区域的步骤 包括
比较第一区域与第二区域中的有效数据的数目,其中有效数据数目较多的 区域为活动区域;以及
若第一区域与第二区域中的有效数据的数目相等,则比较第一区域与第二 区域中的数据的时间戳,时间戳较新的区域为活动区域。
本发明由于采用以上技术方案,在采用大容量闪存作为小尺寸数据频繁写 入的载体后,利用双备份方式与一次擦除、多次写入机制,由于最耗时的擦除 次数极大的减少,于是,系统响应速度得到极大的提升。


为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发 明的具体实施方式
作详细说明,其中 图l示出闪存的存储区域。 图2示出根据本发明一实施例的数据结构。 图3示出根据本发明一实施例的闪存数据保存方法流程图。图4闪存初始化过程中的备份流程图。
图5示出活动区域的选定流程图。
具体实施例方式
图1示意性地示出闪存(flashmemory)的存储区域。参照图1所示,在闪存 100中,包含多个扇区(图中示例性的示出扇区(sector)A-D),每一扇区中可 储存数据。由于闪存的特征是只有擦除整个扇区后才可以进行写操作,而擦 除操作耗时较长。在小尺寸数据的频繁写入时,会造成响应速度下降。因此, 本发明提出一种闪存数据保存方法,采用一种rollback (回滚)机制,来实现数 据的双备份与快速写入。
在本发明的实施例中,使用闪存中的两个区域存储数据并做双备份。举例 来说,参照图l所示,以扇区A作为第一区域101,扇区B作为第二区域102。 当然,在另一实施例中,第一区域101和第二区域102也可包含多个扇区,例 如第一区域ioi包含扇区A和B,而第二区域102包含扇区C和D。第一区域 和第二区域例如是大小相等。闪存中可包含大量这样的第一区域和第二区域的 组合用于数据的储存。
第一区域101和第二区域102均可存储数据,并可交换作为活动区域或者 备份区域。举例来说,第一区域作为活动区域时,第二区域作为备份区域并处 于休眠状态。如果当前活动区域出问题(例如损坏),可以使用备份区域的有 效数据进行系统恢复。当前的活动区域可以写入数据,数据的写入可以连续进 行而不进行擦除动作。当活动区域被写满后,备份当前活动区域的有效数据至 备份区域,清除当前活动区域,然后交换活动区域。
在本发明中,数据是指任何可保存于诸如闪存的存储介质中的二进制位 流。有效数据是指对系统来说有用的数据,与此相对的无效数据被系统认为无 用而可丢弃的数据。在一个实例中,数据是数字电视系统中需要保存的各种参
数。例如菜单、节目信息等。而多次保存的同一类型(如菜单类)参数中,时 间上最新的参数被视为有效数据,其他数据被视为无效数据。
为此,在本发明中,闪存100的存储区域中保存的数据都会有一个时间戳。 同类型的数据,只有时间戳最新的是有效的。其他同类型的都是无效(过时)
6的。本发明的数据的一个示例性参照图2所示。
下面结合图1并参照图3具体描述根据本发明的一种闪存数据保存方法, 其包括以下步骤
步骤301,闪存100进行上电初始化,该初始化步骤除了会执行常规的闪 存初始化流程外,还会执行一后述备份流程,以恢复在上一次操作中因掉电或 不正常中断而造成的数据丢失。
步骤302,在数据保存过程中,向闪存100的第一区域101 (扇区A)中 多次写入数据,其中每一数据具有一时间戳(如图2所示),这一过程中,并 不需要进行扇区的擦除动作;
步骤303,在预设时间(如第一区域写满的时刻),将第一区域中根据各 数据的时间戳选择的有效数据备份至第二区域102 (扇区B),擦除第一区域 (即清除其中的所有数据),然后交换活动区域,即重新设定第一区域101为 备份区域,第二区域102为活动区域。如此循环反复。
其中,根据各数据的时间戳选择有效数据的方式可以是,对于同一类型的 数据,选择时间戳最新的数据为有效数据。
在本发明的实施例中,上述的预设时间还可以是闪存工作过程中的定期时 间点,以便定期备份数据。
下面描述一闪存初始化备份步骤的具体流程,参照图4所示,其包括
步骤401,判断闪存最后一次工作的活动区域;
步骤402,判断该活动区域是否已损坏;若已损坏,跳转到步骤403,否 则跳转到步骤404。
步骤403,则备份该活动区域的有效数据至该备份区域; 步骤404,清除该备份区域。
另外,图5提供一种选定活动区域的示例性方法,这种方法可以使用于上 述的步骤401或者其他需要判断活动区域的场合,以图l中的第一区域(扇区 A)和第二区域(扇区B)的活动区域选定为例,其包括以下步骤
首先比较扇区A与扇区B中的有效数据的数目;首先如步骤501,判断扇 区A中有效数据的数目是否多于扇区B (简记为A>B),若是,则表明扇区A 为活动区域(步骤502),若不是,进入步骤503,判断扇区A中有效数据的
7数目是否少于扇区B (简记为A<B),若是,则表明扇区B为活动区域(步骤 504),若不是,则表明二者有效数据数目相等(步骤505)。这时,可比较扇 区A与扇区B中哪一扇区中数据的时间戳更新,如步骤506。如果扇区A中数 据的时间戳更新,则表明扇区A为活动区域(步骤507),否则,扇区B为活 动区域(步骤508)。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本 领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善, 因此本发明的保护范围当以权利要求书所界定的为准。
权利要求
1. 一种闪存数据保存方法,包括以下步骤在一数据保存过程中,向闪存中作为活动区域的一第一区域中多次写入数据,其中每一数据具有一时间戳;以及在一预设时间,将该第一区域中根据各数据的时间戳选择的有效数据备份至作为备份区域的一第二区域,擦除该第一区域,并重新设定该第一区域为备份区域,该第二区域为活动区域。
2. 如权利要求1所述的闪存数据保存方法,其特征在于,所述第一区域及第二区域分别包括至少一扇区。
3. 如权利要求1所述的闪存数据保存方法,其特征在于,所述第一区域及第二区域为大小相等的两个区域。
4. 如权利要求1所述的闪存数据保存方法,其特征在于,所述预设时间是所述第一区域写满的时刻。
5. 如权利要求1所述的闪存数据保存方法,其特征在于,根据各数据的时间戳选择所述有效数据的步骤包括对于同一类型的数据,选择时间戳最新的数据为有效数据。
6. 如权利要求1所述的闪存数据保存方法,其特征在于,所述数据为数字电视系统的参数。
7. 如权利要求l所述的闪存数据保存方法,其特征在于,还包括一闪存初始化备份步骤,其包括判断闪存最后一次工作的活动区域;以及判断该活动区域是否已损坏,若已损坏,则备份该活动区域的有效数据至该备份区域,若未损坏,则清除该备份区域。
8.如权利要求7所述的闪存数据保存方法,其特征在于,判断闪存最后一 次工作的活动区域的步骤包括比较第一区域与第二区域中的有效数据的数目,其中有效数据数目较多的 区域为活动区域;以及若第一区域与第二区域中的有效数据的数目相等,则比较第一区域与第二 区域中的数据的时间戳,时间戳较新的区域为活动区域。
全文摘要
本发明涉及一种适用于小尺寸数据频繁写入的闪存数据保存方法,其包括以下步骤在一数据保存过程中,向闪存中作为活动区域的一第一区域中多次写入数据,其中每一数据具有一时间戳;以及在一预设时间,将该第一区域中根据各数据的时间戳选择的有效数据备份至作为备份区域的一第二区域,擦除该第一区域,并重新设定该第一区域为备份区域,该第二区域为活动区域。本发明的方法通过一次擦除、多次写入的机制来提高数据保存的速度。
文档编号G06F11/14GK101499033SQ20081020723
公开日2009年8月5日 申请日期2008年12月18日 优先权日2008年12月18日
发明者顾亚平 申请人:上海全景数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1