一种用于固态硬盘的循环重写闪存均衡方法技术

技术编号:3826018 阅读:204 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种用于固态硬盘的循环重写闪存均衡方法,在每次写操作时将新数据写入到最少被使用的物理块中,称这个物理块为主块,当要更新此数据时,则将更新的数据写入另一个新物理块里,此物理块称为替换块。当替换块被写满时,就将主块和替换块里的有效数据搬迁到一个新的物理块里,这个新的物理块就是新的主块,将原主块和原替换块链入垃圾块链中。这样就可以达到整个固态硬盘存储介质的均衡损耗,保证写入数据选择数据块时各块的擦除次数均衡,从而延长固态硬盘的使用寿命。

【技术实现步骤摘要】

本专利技术属于计算机存储设备
,具体涉及一种固态硬盘的读写方法。
技术介绍
固态硬盘(Solid State Disk,SSD)是基于固态电子存储芯片阵列的硬盘,其接口规范、功能及使用方法与普通硬盘完全相同,在产品外形和尺寸上也完全与普通硬盘一致,包括3.5英寸,2.5英寸,1.8英寸多种类型。固态硬盘由于没有普通硬盘的盘片、磁头等机械运动,因而抗震性极佳,能耗低,同时工作温度很宽,扩展温度的电子硬盘可工作在-45"C +85t:的温度范围。它可广泛应用于军事、车载、工控、视频监控、电力、医疗、航空、导航等领域,特别在数字移动设备中有很好的应用前景。固态硬盘主要有以下特点第一,数据存取速度快。第二,防震抗摔。因为全部采用了闪存芯片(NANDFLASH),所以固态硬盘内部不存在任何机械部件,这样即使在高速移动甚至伴随翻转倾斜的情况下也不会影响到正常使用,如与传统硬盘相比,采用固态硬盘的笔记本电脑在发生意外掉落或与硬物碰撞时可以降低数据丢失的几率。第三,工作时静音、发热量小、散热快。固态硬盘因为没有马达和风扇,工作时几乎无噪音。第四,固态硬盘重量更轻,与同尺寸的常规硬盘相比,2.5英寸的固态硬盘重量减少100-120克,重量的降低有利于移动设备的携带。由于普遍采用闪存芯片作为存储单元,固态硬盘继承了 NAND FLASH存储器独特的硬件特性。NAND Flash芯片一般包含若千块,每块包括若干页, 一页包含数据存储区和备用区。 一般来说,根据闪存芯片的容量大小,对其按大页或小页两种形式进行不同的分页,128 MB以下容量NANDFlash芯片的一页大小为512字节,用来存放数据,每一页还有16字节的备用空间(Spare Data),充当OOB ( Out Of Band)区域,用来存储一些额外信息,而在一些大容量的NAND Flash芯片里, 一页的大小为2KB,用来存放数据,此外每页还有64字节的备用空间。若干页组成一个块,通常一块为32页。对闪存芯片的读取和写入以页为单位,擦除以块为单位。在要改写闪存芯片某个块内的内容时,即使要改写一个页,也要先进行整个块的擦除操作,然后再进行新数据的写入。即NAND Flash芯片不支持"原地更新",它不能对特定位置(如一页)的数据进行重写更新,除非将此页对应的块进行擦除,才能再对该页执行写入操作。这种擦除操作耗时、耗能,并且会使系统的性能下降。另外。通常写操作比读操作要慢,而擦除操作比写操作还要慢很多,还有对同一数据块的擦除次数是有限的(SLC闪存芯片一块的最大擦除次数约为1万次,MLC闪存芯片每块的平均最大擦除次数约为10万次),超出规定的擦除次数某些块就会提前损坏。FLASH存储器的这些硬件特性严重影响了固态硬盘的存取速度、寿命和可靠性等主要性能指标。
技术实现思路
本专利技术的目的在于提供,提高固态硬盘数据访问速度,延长固态硬盘的使用寿命。一种固态硬盘的循环重写闪存均衡方法,其特征在于,固态硬盘中设有固定保留块,在其内部建有空块链表、垃圾块链表和地址映射表,地址映射表含有n个地址映射表项,每一表项包含的信息有逻辑块地址以及该逻辑块地址对应的页面位图信息、主块的物理地址和替换块的物理地址,l<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指定的主块的块内页地址对应的页面中读出数据,结束。本专利技术的技术效果体现在在现有的闪存写数据方法中,通常将本次写操作的目的块中的要写入 的新数据和旧数据搬迁进一个空白的交换块,在这种方法中,每次写操作 都要搬迁数据,完成写操作后又要擦除目的块,而本专利技术在每次写操作时 将新数据写入到擦除次数最少的物理块(主块)中,进而使各个物理块的 擦除次数趋向均匀,实现了负载均衡;在更新数据时,将数据写入到替换 块中从而不用每次写操作后都要擦除目的块,减少了总的擦除次数,主块 和替换块循环使用,从而减少了发生数据搬迁的可能性并将地址映射表放 在内存中运行,采用页面位图以及页面缓存方法故相比现有的闪存写数据 方法在总体上提高了数据存取速度,延长了固态盘的使用寿命。附图说明图1是空块链表以及垃圾块链表的结构示意图。图2是地址映射表的结构以及工作原理图。图3是固态盘写操作流程图。图4是固态盘读操作流程图。具体实施例方式本发本文档来自技高网
...

【技术保护点】
一种用于固态硬盘的循环重写闪存均衡方法,其特征在于,固态硬盘中设有固定保留块,在其内部建有空块链表、垃圾块链表和地址映射表,地址映射表含有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)将逻辑页面地址分解为逻辑块地址和...

【技术特征摘要】

【专利技术属性】
技术研发人员:周功业陈进才李涛侯冰剑卢萍
申请(专利权)人:华中科技大学
类型:发明
国别省市:83[中国|武汉]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利