发明名称 一种用于固态硬盘的循环重写闪存均衡方法
摘要 本发明提供一种用于固态硬盘的循环重写闪存均衡方法,在每次写操作时将新数据写入到最少被使用的物理块中,称这个物理块为主块,当要更新此数据时,则将更新的数据写入另一个新物理块里,此物理块称为替换块。当替换块被写满时,就将主块和替换块里的有效数据搬迁到一个新的物理块里,这个新的物理块就是新的主块,将原主块和原替换块链入垃圾块链中。这样就可以达到整个固态硬盘存储介质的均衡损耗,保证写入数据选择数据块时各块的擦除次数均衡,从而延长固态硬盘的使用寿命。
申请公布号 CN101477492B 申请公布日期 2010.12.29
申请号 CN200910060632.6 申请日期 2009.01.21
申请人 华中科技大学 发明人 周功业;陈进才;李涛;侯冰剑;卢萍
分类号 G06F12/02(2006.01)I;G11C29/00(2006.01)I 主分类号 G06F12/02(2006.01)I
代理机构 华中科技大学专利中心 42201 代理人 曹葆青
主权项 一种用于固态硬盘的循环重写闪存均衡方法,其特征在于,固态硬盘中设有固定保留块,在其内部建有空块链表、垃圾块链表和地址映射表,地址映射表含有n个地址映射表项,每一表项包含的信息有逻辑块地址以及该逻辑块地址对应的页面位图信息、主块的物理地址和替换块的物理地址,1<n<实际物理块总数,固态硬盘启动时将上述三表读入内存,该方法包括对固态硬盘的写操作和读操作,具体如下:写操作:(101)固态硬盘将写操作命令的逻辑扇区地址转换为逻辑页面地址,将待写入数据暂存于缓存区中;(102)将逻辑页面地址分解为逻辑块地址和块内页地址;(103)在地址映射表中搜索逻辑块地址对应的地址映射表项S,若地址映射表项S的页面位图信息表明块内页地址对应的页面为空,进入步骤(108),否则进入步骤(104);(104)若地址映射表项S的替换块为空,则从空块链表中选取当前擦除次数最少的空块作为替换块,更新地址映射表项S,进入步骤(106);否则进入步骤(105);(105)若地址映射表项S的替换块未写满,进入步骤(106),否则进入步骤(107);(106)将待写入数据写入地址映射表项S的替换块的空页面,在该空页面的备用空间中记录逻辑页面地址,进入步骤(111);(107)从空块链表中选取当前擦除次数最少的空块,将地址映射表项S的主块和替换块中有效页面的数据写入新选取的空块,将主块和替换块擦除后链入垃圾块链表中,将新选取的空块作为主块,替换块置为空,更新地址映射表项S,进入步骤(110);替换块的有效页面是指该页面与替换块中其它记录有相同逻辑页面地址的页面相比,在时间上为最近一次写入数据的页面;主块的有效页面是指主块中有数据的页面,并且这些页面 与替换块有效页面记录的逻辑页面地址不相同;(108)若地址映射表项S的主块为空,进入步骤(109),否则进入步骤(110);(109)从空块链表中选取当前擦除次数最少的空块作为主块,更新地址映射表项S;(110)将待写入数据写入地址映射表项S的主块的块内页地址对应页面中,在该页面的页面备用空间中记录逻辑页面地址;(111)更新地址映射表项S的页面位图信息,将所述逻辑页面地址及其对应的<物理块地址,块内页地址>写入页面缓存,物理块地址是指当前写入数据的主块或替代块的物理地址;读操作:(201)固态硬盘将读操作命令的逻辑扇区地址转换为逻辑页面地址;(202)将逻辑页面地址分解为逻辑块地址和块内页地址;(203)在地址映射表搜索读逻辑块地址对应的地址映射表项T,若表项T的页面位图信息表明块内页地址对应的页面为空,则读操作为非法操作,结束;否则进入步骤(204);(204)查询页面缓存,若其存在与读操作命令相同的逻辑页面地址,则从逻辑页面地址对应的<物理块地址,块内页地址>对应的地址中读出数据,结束;否则,进入步骤(205);(205)若表项T表明替换块不为空,则进入步骤(206),否则进入步骤(207);(206)对替换块的页面遍历搜索,如果存在某页面,它的页面备用空间记录的逻辑页面地址与读操作命令的逻辑页面地址相同,且是记录该逻辑页面地址的所有页面中最近一次有写操作的页面,则从该页面读出数据,结束;否则进入步骤(207);(207)从表项T指定的主块的块内页地址对应的页面中读出数据,结束;随着读写操作的不断进行,固态盘可用空块数量将不断减少,如果空块数量减少到某个阈值,则从垃圾块链里选取部分或全部垃圾块,将这些垃圾块擦除后,链入空块链表中。
地址 430074 湖北省武汉市洪山区珞喻路1037号