闪存设备的数据处理方法技术

技术编号:3081262 阅读:180 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种闪存设备数据处理方法,包括以下步骤:步骤S102,在初始化时,对闪存设备进行扫描,在主机内建立由具有相同逻辑块号的物理块组成的队列构成的逻辑块队列组、由具有用于写入数据的空数据空间的物理块构成的备用空物理块队列;以及步骤S104,根据上层系统的逻辑命令,利用逻辑块号寻找相应的逻辑块队列组,扫描逻辑块队列组中的物理块,根据扫描结果,借助于备用空物理块队列,来处理闪存设备中的数据。通过本发明专利技术的技术方案简化了逻辑映射关系,提高了效率,并且保证了数据稳定性,延长了闪存的使用寿命。

【技术实现步骤摘要】

本专利技术涉及数据处理技术,尤其涉及闪存设备的数据处理技术。技术背景相对于石更盘而言,Flash Memory (闪存)作为一种体积小、功 耗'J、的存储设备在嵌入式系统中得到越来越多的应用。它是一种基 于半导体技术的存储设备,有着其自身的特点。它的最主要的三个 特点决定了它的应用方式。首先,每种Flash设备的数据写入只能由l写成0或者由0写 成l。要想Flash设备能够重新写入新数据,只能对Flash进行擦除 后再写入新数据。这就意味着每当Flash中的某个数据区被写过之 后,就不能够再在这个区写入新数据,即使这片区的数据已经作废, 必须先将这部分区域擦除才能写入新的数据,而不能象硬盘那样直 接写入。其次,Flash设备的擦除操作按照块进行擦除,每个擦除块的大 小为4K到128K不等,不是按照字节来擦除。这就意味着即使要》务 改1 byte的数据,也要一察除一个整块来进行数据l奮改。最后,Flash的擦除次数有限,当擦除次数超过规定次数时,会 造成Flash的永久性损坏。在现有技术中,都对Flash的这些特性进行处理。在对Flash进 行数据操作时,上层操作系统都是根据逻辑本文档来自技高网...

【技术保护点】
一种闪存设备数据处理方法,其特征在于包括以下步骤:    步骤S102,在初始化时,对闪存设备进行扫描,在主机内建立由具有相同逻辑块号的物理块组成的队列构成的逻辑块队列组、由具有用于写入数据的空数据空间的物理块构成的备用空物理块队列;以及    步骤S104,根据上层系统的逻辑命令,利用所述逻辑块号寻找相应的所述逻辑块队列组,扫描所述逻辑块队列组中的所述物理块,根据扫描结果,借助于备用空物理块队列,来处理所述闪存设备中的数据。

【技术特征摘要】
1.一种闪存设备数据处理方法,其特征在于包括以下步骤步骤S102,在初始化时,对闪存设备进行扫描,在主机内建立由具有相同逻辑块号的物理块组成的队列构成的逻辑块队列组、由具有用于写入数据的空数据空间的物理块构成的备用空物理块队列;以及步骤S104,根据上层系统的逻辑命令,利用所述逻辑块号寻找相应的所述逻辑块队列组,扫描所述逻辑块队列组中的所述物理块,根据扫描结果,借助于备用空物理块队列,来处理所述闪存设备中的数据。2. 才艮据权利要求1所述的数据处理方法,其特征在于所述步骤 S104中包括数据读取步骤步骤S104-2,接收并解析上层系统传入的所述逻辑命令, 计算操作的所述逻辑块号和逻辑块内偏移扇区号;以及步骤S104-4,根据计算出的所述逻辑块号和逻辑块内偏 移扇区号扫描所述逻辑块队列组,找到只t应的扇区,读耳又l丈据。3. 才艮据权利要求1所述的数据处理方法,其特征在于所述步骤 S104中包括数据写入步骤步骤S104-6,在写t喿作的情况下,判断是在新扇区中写 入凄t据还是》多改原扇区中的凄t据,在新扇区中写入数据的情况下,若逻辑块队列中存在 所述新扇区,则直接写入数据到所述新扇区,否则从所述 备用空物理块队列中分配空闲物理块,将lt据写入所述空 闲物理块中;或者在4奮改原扇区中的数据的情况下,若所述原扇区所在 的所述逻辑块队列中存在空闲扇区,则在所述空闲扇区中 写入^t据,并更新扇区映射关系,否则乂人所述备用空物理 块队列中分配空闲物理块,将数据写入所述空闲物理块 中,并更新扇区映射关系。4. 根据权利要求3所述的数据处理方法,其特征在于所述步骤 S104-6包4舌以下步各聚步骤S104-6-2,若对所述逻辑块队列组进行扫描而未找到 对应所述逻辑块号的逻辑块队列,则/人所述备用空物理块队列 中分配空闲物理块,将数据写入所述空闲物理块中;或者步骤S104-6-4,若找到对应所述逻辑块号的逻辑块队列, 则在所述逻辑块队列中寻找块内偏移扇区号;步-骤S104-6-6,若未找到所述块内偏移扇区号,则判 断所述逻辑块队列中是否有空闲扇区若有所述空闲扇 区,则在所述空闲扇区中写入数据;若没有所述空闲扇区, 则乂人所述备用空物理块中分配空闲物理块,并将lt据写入 所述空闲物理块中;或者步-骤S104-6-8,若找到所述块内偏移扇区号,则判断 所述逻辑块队列中是否有空闲扇区若有所述空闲扇区, 则在所述空闲扇区中写入数据,并更新逻辑扇区映射关 系;若没有所述空闲扇区,则从所述备用空物理块中分配 空闲物理块,将数据写入所述空闲物理块,并更新逻辑扇 区映射关系。5. 才艮据权利要求1所述的数据处理方法,其特征在于所述步骤 S104中包括数据恢复步骤步骤S104-8,在数据写入过程中修改扇区数据的情况下, 将所述扇区标记为第一状态,将数据写入所述扇区所在的逻辑 块队列中的空闲扇区、或者不存在所述空闲扇区的情况下写入 乂人所述备用空物理块中分配的空闲物理块中,并^夸所述^ft修改 的所述扇区标记为第二状态,其属性置为无效;以及步骤S104-10,异常断电重启后,对所述逻辑块队列组中 各个物理块中的扇区进行扫描,才艮据扇区的状态对扇区中的数 据进4于恢复或纟察除处理。6. 才艮据4又利要求5所述的凄t据处理方法,其特征在于步骤 S104-10包4舌以下步-骤步-骤S104-10-2,异常断电重启后,对所述逻辑块队列组 中各个物理块中的扇区进^扫描,寻找标记为第 一状态的扇区;步骤S104-10-4,如果找到所述标记为第一状态的扇区, 则寻找与其具有相同逻辑块内偏移扇区号的扇区;步骤S104-10-6,若存在所述与其具有相同逻辑块内偏移 扇区号的扇区且其数据有效,则将所述第 一状态的扇区的属性 置为无效,并将其标记为第二状态,否则,纟丸4于以下步-骤;步骤S104-10-8,在所述逻辑块队列中的物理块中分配空扇区的情况下/人所...

【专利技术属性】
技术研发人员:曹小伟李灿伟
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利