[发明专利]一种Nand-Flash存储系统的管理方法无效
申请号: | 200810025488.8 | 申请日: | 2008-05-06 |
公开(公告)号: | CN101329656A | 公开(公告)日: | 2008-12-24 |
发明(设计)人: | 何咏;赵海源 | 申请(专利权)人: | 无锡紫芯集成电路系统有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 无锡华源专利事务所 | 代理人: | 聂汉钦 |
地址: | 214028江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 nand flash 存储系统 管理 方法 | ||
1.一种Nand-Flash存储系统的管理方法,动态的将多个物理块对应到一个逻辑块,把每个物理块看成一个节点,节点的序号就是这个物理块的块号,对应同一个逻辑块的N个物理块或N个节点,按照先后顺序连接成一个双向链表——逻辑块链表;在每个物理块的第一物理页的扩展区域,分别存放该物理块所对应的逻辑块号和该物理块在逻辑块链表中前一个节点所对应的物理块的块号;在系统初始化时,通过存放的上述信息,重建出所述逻辑块链表;在模块正常工作时,依据所述双向链表进行数据的读写操作,其特征在于:在对该Nand-Flash存储系统进行写操作时,对逻辑块链表进行正向搜索;在对该Nand-Flash存储系统进行读操作和回收操作时,对逻辑块链表进行反向搜索;所述读操作、写操作以及回收操作时,逻辑页号和物理页号是相同的,不做另外的映射;每个物理块可以全写满,也可以被局部写入,但必须满足局部写入页的顺序是物理页号从小到大的顺序;
所述逻辑块号是指模块面向上层调用所虚拟出来的块号,其中模块是指整个Nand-Flash管理系统在上层系统看来只是一个标准的块设备,即以块为单位,每个单位为可以单独读写的存储设备;所述的逻辑页号,是指逻辑地址对应在逻辑块内的页号;所述的物理页号,是指Nand-Flash存储器物理块内的页号,属于Nand-Flash管理系统的存储区中用于寻址的编号。
2.依据权利要求1所述的Nand-Flash存储系统的管理方法,其特征在于依据所述双向链表进行数据的写操作时,所述对逻辑块链表进行正向搜索的具体步骤如下:
(1)、使每个逻辑页写入的物理页号与逻辑页号一致;
(2)、在逻辑块链表中的每个物理块可以全写满,也可以局部被写入,但必须满足每个物理块最后一个被写入的页前面的所有页也被写入过,它后面的所有页都是空闲页;
(3)、依据所述双向链表进行数据的写操作时,在所述双向链表对应的逻辑块链表中从前往后搜索,只要找到该逻辑块链表上最大已使用物理页号小于所请求写入的逻辑页号的第一个物理块,就直接将数据写入与所请求写入的逻辑页号为相同页号的物理页;如果请求写入的逻辑页号小于该逻辑块链表的最后一个物理块的最大已使用物理页号,则在逻辑块链表上新添加一个空闲物理块,将所请求写入的逻辑页之前的所有有效页数据复制到当前新空闲物理块对应的物理页面中,再在所请求写入的逻辑页页号相同的物理页上写入数据。
3.依据权利要求1所述的Nand-Flash存储系统的管理方法,其特征在于依据所述双向链表进行数据的读操作时,所述对逻辑块链表进行反向搜索的具体步骤如下:
在所述双向链表对应的逻辑块链表中自后往前搜索,找到第一个最大已使用物理页号不小于当前请求的读操作逻辑页号的物理块,即为有效的读取目标物理块,在该目标物理块上读取和当前请求的读操作逻辑页号相同的物理页号,即得到所需数据。
4.依据权利要求1中所述的Nand-Flash存储系统的管理方法,其特征在于当一个逻辑块链表的长度超过设定的门限值或者系统需要更多可用的空闲物理块时,执行回收操作,所述对逻辑块链表进行反向搜索的具体步骤如下:
首先在双向链表中查找到逻辑块链表上的最后一个物理块,再从该逻辑块链表上的倒数第二个物理块开始自后往前逐块反向搜索,并按如下复制数据:假设最后一个物理块使用到第N页,倒数第二个物理块的第一个空闲页为第M页(M>N+1),将倒数第二个物理块的第N+1~M-1页对应复制到最后一个物理块的第N+1~M-1页;然后依次寻找前一个最大已使用物理页号大于或等于M的物理块,再继续按上述方法在该物理块的相应页复制它的数据至最后一个物理块的相应页,复制到该物理块的第一个空闲页为止;照此类推,直到逻辑块链表上第一个物理块的最大已使用物理页被复制到最后一个物理块的对应页为止,最后,释放掉原逻辑块链表的除最后一个物理块的所有物理块。
5.依据权利要求2所述的Nand-Flash存储系统的管理方法,其特征在于依据所述双向链表进行数据的写操作时,在所述双向链表对应的逻辑块链表中从前往后搜索,当在该逻辑块链表上找到最大已使用物理页号小于所请求写入逻辑页的页号的第一个物理块,按下述方法直接将数据写入该物理块:在该物理块上所述最大已使用物理页号与所请求写入逻辑页的页号之间的所有页面空间,复制填入该物理块在逻辑块链表中前一个节点所对应的物理块中相应物理页面上的数据,然后再在所请求写入的逻辑页号所对应的物理页上写入数据。
6.依据权利要求3所述的Nand-Flash存储系统的管理方法,其特征在于依据所述双向链表进行数据的写操作时,在所述双向链表对应的逻辑块链表中从前往后搜索,如果所有的物理块最大已使用物理页号都大于所请求写入的逻辑页号,则在逻辑块链表中新添加一个空闲物理块,按下述方法将数据写入该空闲物理块:在所请求写入逻辑页之前的所有页面空间,复制填入该空闲物理块在逻辑块链表中前一个节点所对应的物理块中相应物理页面上的数据,然后再在所请求写入的逻辑页号所对应的物理页上写入数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡紫芯集成电路系统有限公司,未经无锡紫芯集成电路系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810025488.8/1.html,转载请声明来源钻瓜专利网。