[发明专利]一种寿命均衡的NandFlash存储器读写方法有效
申请号: | 201610838881.3 | 申请日: | 2016-09-21 |
公开(公告)号: | CN106527969B | 公开(公告)日: | 2017-09-19 |
发明(设计)人: | 杨永友;陈文轩;王自力;底青云;张文秀;孙云涛;郑健 | 申请(专利权)人: | 中国科学院地质与地球物理研究所 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京金智普华知识产权代理有限公司11401 | 代理人: | 巴晓艳 |
地址: | 100029 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 寿命 均衡 nandflash 存储器 读写 方法 | ||
技术领域
技术领域
本发明涉及一种大容量存储控制技术,具体地说是涉及一种寿命均衡的NandFlash存储器读写方法。
背景技术
现有绝大部分的Nandflash读写驱动,是为了适应通用的文件系统而设立的,如支持几乎无限制数量的文件写入到存储器中,文件读写格式也是准备格式,因此这类文件系统驱动通常要求软硬件资源较多,比如linux操作系统中的YAFFS文件系统,是一种公认优秀的能完善支持Nandflash存储器的文件系统,移植该系统需要RAM通常为存储器容量的百分之一,如Nandflash存储器容量为1GB,则RAM容量需要10MB,此外对CPU运算速度也有要求,否则无法适应对文件读写的速度要求。
有一类嵌入式系统组成的应用系统,如长时间数据数据采集记录仪器,其每次开机运行时间长,文件数量少,单个文件容量大。这类系统资源相对紧张,比如CPU运行速度几十MHz,RAM容量几十乃至几百KB,无法移植YAFFS这类标准文件驱动系统。大容量数据记录系统中通常将NandFlash作为的数据存储器。这种存储器写入以块(block)为基本单元,存在写入次数有限的缺点,如5000-10000次。在出厂时,就可能存在已经已做标记的坏块(有坏块的存储器的其他块仍然可以正常写入、读出),在写入过程中也会产生新的坏块。因此,对这种存储器进行读写时,需要识别坏块、躲避坏块、均衡写入(尽可能保证所有的块的写入次数一致),以保证整个存储器的寿命。
人们设计了多种文件系统,以支持对NandFlash的读写,其基本思路是建立一张映射表和一个数据缓冲区,定期更新写入次数记录和坏块记录,并依此调整数据写入的块位置。在数据写入开始时,先将数据缓存在缓冲区中,等前述判断完成后再写入NandFlash中。
发明内容
发明内容
为了解决上述技术问题,本发明的目的是提供一种对存储器进行读写时,可识别坏块、躲避坏块、均衡写入,保证所有的块的写入次数一致,以保证整个存储器的寿命的寿命均衡的NandFlash存储器读写方法。
本发明的技术方案是:一种寿命均衡的NandFlash存储器读写方法,所述方法具体包括以下步骤:
写入步骤为:
第一步:在NandFlash地址空间内建立一张新的文件信息表,读取其他所有文件信息表,确定新的文件的写入起始地址;
第二步:判断文件写入起始地址是否正好处于一个块的起始地址,如果是则要对其擦除,判断擦除操作返回状态,如果返回错误,则表明该块为坏块,需要在交换区找出一个块来替换,并更新坏块登记表;
第三步:待写入的数据存入内存的数据缓冲区,若已存够一页内容,则写入存储器中(一次写满一页),判断写操作返回状态,如果返回错误,则表明该页所处的块为坏块,需要在交换区找出一个块来替换,更新坏块登记表,并将坏块当前页和它之前页的内容复制到新块中;
第四步:页写入成功后,更新文件信息表,包含文件存储起始和结束地址、文件大小、文件更新时间;
第五步,重复第三步,直到用户结束写操作,检查数据缓冲区中是否还有剩余数据,若有则将缓冲区中所有数据写入到存储器(缓冲区未填满的内容用特定字节填充);
第六步:更新文件信息表,结束文件写入操作;
读取步骤为:
第一步:读取文件信息表,已确定文件存储的起始地址和结束地址;
第二步:判断起始地址是否为新的块地址,若是则执行第三步,否则执行第四步;
第三步:判断准备读入的块是否为坏块,若是,则查找其替换块的地址;
第四步:以页为单位读出,根据文件信息表判断文件是否读入完毕,若完毕则结束,否则继续;
第五步:判断块内容是否全部页都读出,若没有则将页地址加1,继续执行第四步,否则执行第六步;
第六步:将块地址加1,继续执行第三步。
进一步,所述方法还包括文件删除操作:文件删除操作是删除信息文件信息表,若被删除文件在数据区的起始地址之前尚存有文件,则将起始地址之前的文件依次复制,并存储到最后1个文件的末尾起始地址,即保证数据区中保存有文件内容的区域地址连贯。
进一步,所述方法还包括文件追加写入操作,即在文件的尾部继续写入,若被追加写入的文件后面没有其他文件,则直接继续写入即可,而如果该文件后面有其他文件,则先执行的文件移动过程,将被追加写入的文件移动到已用存储空间的最尾端,然后在文件尾部继续写入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院地质与地球物理研究所,未经中国科学院地质与地球物理研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610838881.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据通信状态的验证方法
- 下一篇:接入控制方法及装置