[发明专利]一种向存储设备中写数据的方法有效
申请号: | 201310692641.3 | 申请日: | 2013-12-17 |
公开(公告)号: | CN103699341A | 公开(公告)日: | 2014-04-02 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存储 设备 数据 方法 | ||
技术领域
本发明涉及存储技术领域,尤其涉及一种向存储设备中写数据的方法。
背景技术
随着科学技术的发展,智能卡的市场不断扩大,而在使用智能卡的过程中,在未知情况下由于断电、失电或电的质量达不到要求而导致智能卡不能正常工作,如果智能卡正处于对存储设备(即非易失性存储区,包括EEPROM、FLASH等)进行擦写的操作过程中时,则会导致存储设备中原有数据的丢失,大大降低了智能卡的安全性。
另外,在向存储设备写入数据时,需要对数据进行擦写操作,在实际的擦写操作过程中,往往会对存储设备中的某一页进行频繁擦写,使擦写达不到平衡,而存储设备的擦写生命周期一般为十万次,由于对某些页进行过度的擦写从而导致存储设备的提早损坏,严重影响存储设备的使用寿命。
发明内容
本发明为了解决现有技术中存在的不足,提供了一种向存储设备中写数据的方法。
本发明采用的技术方案是:一种向存储设备中写数据的方法,当向所述存储设备中写入待写数据时,所述方法包括:
S1、根据所述待写数据的逻辑地址计算逻辑页号和页内偏移;
S2、根据所述待写数据的逻辑页号,查找第一映射表,获知所述待写数据的物理页号;
S3、判断缓存区中是否存在与所述待写数据的物理页号对应的缓存页,是则根据所述待写数据、所述页内偏移和所述待写数据的长度更新所述缓存页,执行S11,否则执行S4;
S4、查找第二映射表,判断是否存在所述待写数据的物理页号,是则获取到与所述待写数据的物理页号对应的快速交换页,执行S5,否则执行S7;
S5、判断所述缓存区中的缓存页是否为空闲状态,是则执行S6,否则将所述缓存页的数据写入对应的数据页中,并将所述缓存页置为空闲状态,执行S6;
S6、查找与所述待写数据的物理页号对应的数据页,将所述数据页中的数据写入所述缓存页中,并将所述缓存页置为占用状态,将所述缓存页的物理页号修改为所述待写数据的物理页号,根据所述待写数据、所述页内偏移和所述待写数据的长度更新所述缓存页,执行S11;
S7、查找第二映射表,判断所述快速交换页是否为空闲状态,如果是,则执行S8,否则将所述缓存页中的数据写入对应的数据页中,将所述缓存页置为空闲状态,并将所述快速交换页置为空闲状态,根据所述第二映射表中记录的数据页的物理页号更新所述快速交换页的物理页号,根据所述第二映射表中记录的所述快速交换页的物理页号设置当前标记页,将当前标记页的下一标记页作为当前标记页,在所述第二映射表中建立所述快速交换页的物理页号与所述待写数据的物理页号的对应关系,执行S9;
S8、判断所述缓存页是否为空闲状态,如果是,则执行S9,否则将所述缓存页中的数据写入对应的数据页中,并将所述缓存页置为空闲状态,执行S9;
S9、将与所述待写数据的物理页号对应的数据页中的数据写入所述缓存页中;
S10、将所述缓存页对应的物理页号修改为所述快速交换页的物理页号,根据所述待写数据、所述页内偏移和所述待写数据的长度更新所述缓存页,并将所述缓存页置为占用状态;
S11、更新所述待写数据的长度,根据更新后的待写数据的长度判断是否还有未写入的数据,如果是,则更新所述逻辑页号和所述页内偏移,返回S2,否则执行S12;
S12、将所述第二映射表中所述快速交换页的物理页号和对应的数据页的物理页号进行交换,并根据交换后的所述第二映射表中记录的数据页的物理页号,更新所述第一映射表,将所述缓存页的数据写入对应的数据页中,根据所述交换后的第二映射表更新当前标记页,结束。
所述步骤S1,具体为:将所述待写数据的逻辑地址除以页的大小,将得到的商作为逻辑页号,将得到的余数作为页内偏移。
所述步骤S5中,所述判断所述缓存页是否为空闲状态,具体为:判断所述缓存页中的空闲标识是否置位,如果是,则所述缓存页为空闲状态,否则所述缓存页为占用状态;
所述将所述缓存页置为空闲状态,具体为:将所述空闲标识置位;
所述将所述缓存页置为占用状态,具体为:将所述空闲标识复位。
所述步骤S5中,所述将所述缓存页的数据写入对应的数据页中,具体为:获取所述缓存页的物理页号,根据所述缓存页的物理页号查找对应的数据页,将所述缓存页中的数据写入所述对应的数据页中。
所述步骤S5中,所述判断所述缓存页是否为空闲状态,具体为:遍历缓存区,判断是否存在空闲标识置位的缓存页,如果是,则存在空闲状态的缓存页,否则不存在空闲状态的缓存页。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310692641.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置