[发明专利]一种NandFlash缓冲管理方法无效
申请号: | 200810222504.2 | 申请日: | 2008-09-18 |
公开(公告)号: | CN101393537A | 公开(公告)日: | 2009-03-25 |
发明(设计)人: | 李栋梁;艾国;游明琦 | 申请(专利权)人: | 北京中星微电子有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100083北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 nandflash 缓冲 管理 方法 | ||
1.一种NandFlash缓冲管理方法,包括:
在内存中建立一个与NandFlash物理块地址一一对应的链表数组;
在内存中开辟多个缓存单元用于缓存NandFlash中的数据;和
根据所述链表数组与多个缓存单元配合对NandFlash进行读写操作;
所述多个缓存单元由一个链表头采用双向链表的形式链接成数据链表;所述链表数组包括链表索引数组,用于在链表数组中定位对应的NandFlash物理地址,链表数组中的数据所对应的NandFlash物理地址与同一个NandFlash物理地址在链表数组中相应的元素对应;
在读写操作中,包括:将缓存单元内的数据与该数据在NandFlash上对应的物理块关联,当缓存单元内数据被修改且有新的数据需要写入该缓存单元中的时候,将该缓存单元中的旧有数据写回其对应的物理块中;
将写入数据的缓存单元通过指针链入NandFlash物理地址对应的链表数组中,修改该写入数据的缓存单元的单元修改标记,所述单元修改标记用于标识该缓存单元是否被修改过;及
根据最近最少使用原则将写入数据的缓存单元移动到链表头后面紧挨链表头的位置。
2.根据权利要求1所述的方法,其特征在于,所述方法在读NandFlash操作的过程包括:
步骤101,计算出待读出NandFlash数据所在物理块的物理地址在链表数组中链表索引数组的位置;
步骤102,根据链表索引数组的位置查找判断链表数组中是否包含所述待读出数据,如果不包含则执行步骤103;
步骤103,判断数据链表是否包括空闲缓存单元,如果不包含则执行步骤104;
步骤104,取链表头前面一个缓存单元为目标缓存单元,执行步骤105;
步骤105,判断所述目标缓存单元的单元修改标记是否为修改过,如果修改过将该缓存单元中的旧有数据写回其对应的NandFlash物理块中,执行步骤106,否则直接执行步骤106;
步骤106,从所述物理块中将待读出数据读入到所述目标缓存单元中,同时修改目标缓存单元的单元修改标记为没有修改过并执行步骤107;
步骤107,将所述目标缓存单元链接到数据链表头的后紧邻链表头的位置,执行步骤108;
步骤108,计算出待读出NandFlash数据所对应的物理块在链表数组中的链表索引数组的位置,将目标缓存单元链入到计算出的链表索引数组所对应的链表的末尾并执行步骤110;
步骤110,从目标缓存单元中读出数据到指定的位置。
3.根据权利要求2所述的方法,其特征在于,在步骤102中,如果包含所述待读出数据,则执行步骤109;
步骤109,将该缓冲区在双向数据链表中的位置移动到链表头的后一个。
4.根据权利要求2所述的方法,其特征在于,在步骤103中,如果包括空闲缓存单元,则将空闲缓存单元设为目标缓存单元并执行步骤107。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中星微电子有限公司,未经北京中星微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810222504.2/1.html,转载请声明来源钻瓜专利网。