[发明专利]数据写入方法及装置无效
申请号: | 201210575090.8 | 申请日: | 2012-12-26 |
公开(公告)号: | CN103064792A | 公开(公告)日: | 2013-04-24 |
发明(设计)人: | 施纯良 | 申请(专利权)人: | 北京创毅讯联科技股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 兰淑铎 |
地址: | 100084 北京市海淀区清*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 写入 方法 装置 | ||
技术领域
本发明涉及通信技术领域,特别是涉及一种数据写入方法及装置。
背景技术
数据卡在工作和调试时,会输出很多信息。以LTE(Long Term Evolution,长期演进)数据卡为例,LTE数据卡在工作和调试时,会有很多LOG(日志)信息输出,供研发人员进行分析调试。在多数情况下,可以通过HOST(PC/开发板),把LOG信息通过虚拟串口导出。但是某些情况下,如开发板没有可操作界面(如MIFI一类的设备),或者用于外单位仪表测试时,测试单位不提供协助提取LOG信息的服务的情况下,有必要将LOG信息以文件的形式进行保存。
目前在各种系统中,FAT文件系统的兼容性比较好,无论是WINDOWS还是Linux及其它嵌入式系统如WINCE,FAT文件系统都可以被接受。因此,在以文件形式进行保存LOG信息时,可以硬件采用可反复擦写存储器如NAND存储器,并采用FAT文件系统保存LOG信息。
但是,硬件采用可反复擦写存储器时,以NAND存储器为例,由于电子元件工艺的问题,NAND存储器存在擦除/写操作寿命。目前使用NAND进行擦除/写操作时,以BLOCK(数据块)为单位,可反复擦写10万次。而使用FAT文件系统进行读写时,会反复操作特定的区域,对于某些区域,记录了文件长度、修改时间等信息,这些区域会随着文件长度的增加,被反复改写,尽管FAT文件系统利用了RAM(Random Access Memory,随机存取存储器)作为cache(缓存),但擦写的频率依然很高。以文件cache为32k为例,目前LOG信息的产生速度为1秒20条,每条平均占30byte,那么55秒钟就会flush(刷新)一次,即改写文件长度所在的区域一次,那么10万次只能够连续工作1527小时(约63整天)。在对反复操作的区域进行了多次擦除/写操作后,由于NAND的特性,有些数据在写入后,进行ECC校验时出错,当出现这种情况后,该区域所属的BLOCK会被判定为坏块,予以弃用。
这种因为反复操作一个区域,导致该区域所在的整个BLOCK被判断为坏块,将极大浪费可反复擦写存储器的存储性能,无法充分发挥可反复擦写存储器的潜在存储能力。
发明内容
本发明提供了一种数据写入方法及一种数据写入装置,以解决使用FAT文件系统进行可反复擦写存储器的数据写入时,因反复操作一个区域,导致该区域所在的整个BLOCK被判断为坏块,浪费可反复擦写存储器的存储性能,无法充分发挥可反复擦写存储器的潜在存储能力的问题。
为了解决上述问题,本发明公开了一种数据写入方法,包括:接收向可反复擦写存储器写入数据的数据写入指令,根据所述数据写入指令确定所述可反复擦写存储器中待写入数据的第一数据块;获取所述第一数据块的擦除/写入的次数,并当所述第一数据块的擦除/写入的次数达到设定阈值时,从所述可反复擦写存储器的其它数据块中选择擦除/写入的次数未达到所述设定阈值的第二数据块;将所述第一数据块中的数据与所述第二数据块中的数据进行交换;根据所述数据写入指令向进行数据交换后的所述第二数据块写入数据。
优选地,根据所述数据写入指令向进行数据交换后的所述第二数据块写入数据的步骤之后,还包括:更新所述第二数据块的带外数据OOB区记录的本数据块的擦除/写入的次数。
优选地,所述获取所述第一数据块的擦除/写入的次数的步骤包括:读取所述第一数据块的OOB区记录的擦除/写入的次数。
优选地,所述更新所述第二数据块的带外数据OOB区记录的本数据块的擦除/写入的次数的步骤之后,还包括:根据更新后的所述第二数据块的擦除/写入的次数,将所述第二数据块移动到所述擦除/写入的次数小于或等于所述第二数据块的擦除/写入的次数的数据块之后,形成按照擦除/写入的次数从小到大链接的数据块链表。
优选地,所述从所述可反复擦写存储器的其它数据块中选择擦除/写入的次数未达到所述设定阈值的第二数据块的步骤包括:当所述数据块链表的表头的数据块的擦除/写入的次数未达到所述设定阈值时,将所述数据块链表的表头的数据块确定为第二数据块。
优选地,所述从所述可反复擦写存储器的其它数据块中选择擦除/写入的次数未达到所述设定阈值的第二数据块的步骤包括:从数据块信息表中获取所述擦除/写入的次数未达到所述设定阈值的数据块的信息,其中,所述数据块信息表中存储有所述可反复擦写存储器的每个数据块的擦除/写入的次数;从获取的所述数据块的信息对应的数据块中选择一个数据块为第二数据块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京创毅讯联科技股份有限公司,未经北京创毅讯联科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210575090.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种清理数据库历史数据的方法和系统
- 下一篇:一种软件测试的方法及装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置