[发明专利]资料储存型闪存的数据更新方法及装置、存储设备有效
申请号: | 200910189254.1 | 申请日: | 2009-12-22 |
公开(公告)号: | CN101794257A | 公开(公告)日: | 2010-08-04 |
发明(设计)人: | 李发生;罗胜;张彦伟;成晓华 | 申请(专利权)人: | 深圳市硅格半导体有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 资料 储存 闪存 数据 更新 方法 装置 存储 设备 | ||
技术领域
本发明涉及资料储存型闪存(NAND Flash),特别涉及一种资料储存型闪存的数据更新方法及装置。
背景技术
随着U盘、数码相机、mp3音乐播放器等移动设备的广泛应用,闪存(FLASH)存储器已经逐步取代其它半导体存储元件,成为嵌入式系统中主要数据和程序的载体。NAND FLASH是一种可在线多次擦除的非易失性存储器,其结构提供了极高的单元密度,可以达到数据的高密度存储,并且写入和擦除的速度也很快,所以NAND FLASH是高密度数据存储的理想解决方案。
和磁盘类似,NAND Flash读写数据的基本粒度为页(page)。此外,Flash不允许数据的直接覆盖写,必须首先擦除旧有数据才能写入新的,而擦除的粒度为块(block),通常一个块包含有64个页。NAND Flash的写入机制不像其它的FLASH器件,NAND Flash要求在写入数据时,首先必须进行数据的擦除。因此我们在写数据的时候,先把将要被写入的数据块的内容读出到块缓存,然后再把要写入NAND Flash的数据以页为单位的形式写入块缓存(Block Buffer)中的对应地址。接着把以前存放数据的块进行擦除操作,最后把更新的数据写到NAND Flash去。经过这一系列的操作,实现了NAND Flash数据的逻辑写入。NAND Flash还有一种有操作,叫做copyback,当某个页的数据需要被复制到新的位置时,只需将其读取到块缓存中,然后根据接收到的目标地址将该页的数据写入到NAND Flash上新的位置。而一般情况下NAND数据的写入地址并不连续(通常情况下NAND Flash的数据结构包括文件分配表(FAT,File Allocation Table)、文件目录表(FDT,File Directory Table)以及数据(DATA)区,三种数据结构分别存储FAT、FDT以及DATA数据,图1示出了现有的NAND Flash写操作的具体流程:
步骤S10,将旧块BOLCKA的上部分数据复制(copy)到新块BLOCKA’中;
步骤S11,将从外部接收的对旧块BLOCKA的更新数据写入到新块BLOCKA’中;
步骤S12,保存当前存储位置;
步骤S13,如果下次接收的数据的存储地址与当前保存地址连续,接着保存位置进行存储;如果数据地址不连续,将旧块BOLCKA的下部分数据copy到新块BLOCKA’中;后重复执行步骤S10-S13。
由上述的流程可知,现有技术中由于NAND Flash接收数据的写地址随时发生变化,使每次从USB接口接收到数据需对NAND Flash进行更新时,写操作都需要先经历从旧块到新块的copy操作之后,才能向新块写入更新后的数据,增加了对NAND Flash进行写与擦除的操作的次数,减少了NAND Flash的使用寿命。
发明内容
本发明的目的为提供一种资料储存型闪存的数据更新方法及装置、存储设备,可以减少对NAND Flash进行写与擦除的操作的次数。
本发明提供一种资料储存型闪存的数据更新方法,包括步骤:
接收更新数据;
判断所述更新数据需写入的地址是否与前一次写操作的存储地址连续;
如果所述更新数据需写入的地址与前一次写操作的存储地址连续,紧接所述存储地址写入所述更新数据;
如果所述更新数据需写入的地址与前一次写操作的存储地址不连续,判断所述更新数据的长度是否大于预设值;如果所述更新数据的长度大于所述预设值,将前一次写操作所执行块中的下半部分以及上半部分数据复制到所述更新数据需写入的新块中,将所述更新数据写入所述新块;如果所述更新数据的长度小于或等于所述预设值,将所述更新数据写入资料储存型闪存中用于暂存数据的缓存块,所述缓存块与至少一个逻辑块对应,所述缓存块所包括的页与所述逻辑块所包括的页对应。
优选的,所述将所述更新数据写入资料储存型闪存中用于暂存数据的缓存块具体包括步骤:
为所述更新数据需写入的新块分配缓存块;
将所述更新数据写入所述缓存块。
优选的,为所述更新数据需写入的新块分配缓存块前进一步包括:
判断是否有与所述新块对应的缓存块;
如果没有与所述新块对应的缓存块,执行所述为所述更新数据需写入的新块分配缓存块的步骤;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市硅格半导体有限公司,未经深圳市硅格半导体有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910189254.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:映射表数据恢复方法及装置
- 下一篇:一种含有枯草芽孢杆菌的多功能生物制剂
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置