一种固态硬盘读写方法技术

技术编号:3976704 阅读:622 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种固态硬盘读写方法,包括四类操作:从固态硬盘读数据,向固态硬盘写数据,缓存数据写入闪存,以及固态硬盘擦除无效块,其特征在于:基于缓存,预先建立带缓存的块级地址映射表;并且预先将固态硬盘存储空间分为数据块区、无效块区和空块区;所述数据块区、无效块区和空块区以数组形式保存各自的擦除次数和物理块地址信息;所述四类操作:从固态硬盘读数据,向固态硬盘写数据,缓存数据写入闪存,以及固态硬盘擦除无效块,是并行执行的四类操作。本发明专利技术通过外加缓存的方式有效地降低了闪存的擦除频率,提高了固态硬盘的寿命;其四类操作可并行执行,有助于提高固态硬盘的读写速度;采用块级地址映射方式,占用的系统存储资源少。

【技术实现步骤摘要】

本专利技术涉及硬盘,尤其是涉及。技术背景固态硬盘又称闪存固态存储系统,具有数据传输速度快、可靠性高、功耗低、防震抗摔、无工作噪音、发热小、重量轻等优点,非常适合用于个人用户便携式移动存储领域和 政府机关、政法系统、银行、保险公司等要求高可靠性的存储领域。固态硬盘的读写方法以 及读写擦等操作之间的关系是存储系统的访问速度、寿命、可靠性等多项重要指标的决定 因素之一。韩国三星公司、首尔国立大学针对单片闪存固态存储系统的具体现象和单个问 题进行分析,如地址映射提出了三种基本地址映射策略页映射、块映射和混合映射,但仍 然存在不能在保证系统访问速度的同时尽量减小地址映射表所占用的存储空间的缺陷。而 针对闪存固态存储系统的损耗均衡提出的Hot-clod swapping、Turn-based selection、 Old-block protection,Erase Pool等方法,由于所需的存储空间大和查找算法复杂度大, 并行性差,只能适应于单片闪存固态存储系统。
技术实现思路
本专利技术所要解决的技术问题是弥补现有技术中查找算法复杂度大、操作并行性 差、地址映射表占用系统资源多以及不实用的缺陷,提供一种实用且高效的固态硬盘读写 方法。本专利技术的技术问题通过以下技术方案予以解决。这种固态硬盘读写方法,包括四类操作从固态硬盘读数据,向固态硬盘写数据, 缓存数据写入闪存,以及固态硬盘擦除无效块。这种固态硬盘读写方法的特点是基于缓存,预先建立带缓存的块级地址映射表,所述块级地址映射表是逻辑块地 址到物理块地址的转换表,所述带缓存的块级地址映射表是缓存中所存页的逻辑页地址到 物理页地址的转换表;并且预先将固态硬盘存储空间分为数据块区、无效块区和空块区,所述数据块区 是其中写有有效数据的块区,所述无效块区是指数据已经标注为删除但其中物理信息尚未 真正擦除的块区,所述空块区是指已经过擦除可以重新写入数据的块区;所述数据块区、无效块区和空块区以数组形式保存各自的擦除次数和物理块地址 fn息;所述四类操作从固态硬盘读数据,向固态硬盘写数据,缓存数据写入闪存,以及 固态硬盘擦除无效块,是并行执行的四类操作。本专利技术的技术问题通过以下进一步的技术方案予以解决。所述缓存数据写入闪存,在固态硬盘系统掉电或缓存中的可用空间小于总缓存的 10 士 5%时才启动。所述固态硬盘擦除无效块,在固态硬盘系统未接到外界读写命令或空块数低于初始空块数的10士 的阈值时才启动。所述阈值一般为16 48,阈值过大,包括数据块、无 效块与空块在内的闪存块之间读写次数突变太大,会导致损耗均衡效果不好,不利于动态 损耗均衡的实现;阈值过小,则不利于空块数组表的管理。所述从固态硬盘读数据,包括查找缓存页映射表,从缓存中读入数据。所述向固态硬盘写数据,包括查找缓存页映射表,向缓存写入数据。所述缓存数据写入闪存,包括从闪存读入同一物理块中剩余有效页数据,将原数 据块加入无效块数组表,再从空块数组表中选择空块,将相应数据写入到空块,最后将写有 数据的空块加入到数据块数组中,并更新地址映射表。所述固态硬盘擦除无效块,即无效块区的无效块擦除,包括从无效块数组中选择 无效块,擦除无效块,从无效块数组中删除无效块信息,并将擦除后的无效块信息添加进空 块数组中。本专利技术的技术问题通过以下再进一步的技术方案予以解决。所述从固态硬盘读数据,包括根据外界给出的读逻辑扇区地址,翻译为逻辑页地 址,通过查缓存页映射表,确定对应逻辑页是否在缓存中如果确定是,直接读出缓存中对应页的数据;如果确定否,就翻译为逻辑块地址,通过查块级地址映射表,确定物理块地址,力口 上页偏移,从闪存中读出数据到缓存,再读缓存中对应页的数据。所述向固态硬盘写数据,包括根据外界给出的写逻辑扇区地址,翻译为逻辑页地 址,通过查缓存页映射表,确定对应逻辑页是否在缓存中如果确定是,直接写入缓存,覆盖原有数据;如果确定否,就在缓存中申请一页大小的新空间,将数据写入缓存,并更新缓存页 映射表。所述缓存数据写入闪存,包括根据最近最少未被使用原则和属于同一物理块页数 最多原则,挑选属于同一物理块的缓存页,并从闪存读入所选物理块中剩余有效页数据,所 述剩余有效页是不存在于缓存页映射表中的写有有效数据的页,写入步骤依次是先将对应的原数据块从数据块数组中剔除,并加入到无效块数组表中;再从空块区中选择擦除次数低于阈值的空块,并将所选空块加入数据块数组表;最后将缓存中对应的数据全部写入新的数据块,并更新块地址映射表中逻辑块地 址对应的物理块地址。所述固态硬盘擦除无效块,即无效块区的无效块擦除,包括选择无效块数组表最 末一个元素对应的无效块进行擦除,并将擦除后的无效块加入到空块数组表中。本专利技术与现有技术对比的有益效果是本专利技术固态硬盘读写方法是一种实用且高效的固态硬盘读写方法。通过外加缓存 的方式有效地降低了闪存的擦除频率,提高了固态硬盘的寿命;其四类操作可并行执行,有 助于提高固态硬盘的读写速度;采用块级地址映射方式,占用的系统存储资源少。附图说明图1是本专利技术具体实施方式从固态硬盘读数据的操作过程示意图2是本专利技术具体实施方式向固态硬盘写数据的操作过程示意图;图3是本专利技术具体实施方式缓存数据写入闪存的操作过程示意图;图4是本专利技术具体实施方式固态硬盘擦除无效块的操作过程示意图。具体实施例方式下面结合具体实施方式并对照附图对本专利技术的方法进行进一步说明。如图1 4所示的固态硬盘读写方法,包括可并行执行的四类操作从固态硬盘读数据,向固态硬盘写数据,缓存数据写入闪存,以及固态硬盘擦除无效块。本具体实施方式基于缓存,预先建立带缓存的块级地址映射表,块级地址映射表 是逻辑块地址到物理块地址的转换表,带缓存的块级地址映射表是缓存中所存页的逻辑页 地址到物理页地址的转换表;并且预先将固态硬盘存储空间分为数据块区、无效块区和空 块区。数据块区是其中写有有效数据的块区。无效块区是指数据已经标注为删除但其中物 理信息尚未真正擦除的块区。空块区是指已经过擦除可以重新写入数据的块区。数据块区、 无效块区和空块区以数组形式保存各自的擦除次数和物理块地址信息。当从固态硬盘读数据时,如图1所示。如根据外界给出的读逻辑扇区地址8,翻译 为逻辑页地址1,通过查缓存页映射表,确定对应逻辑页是否在缓存中。如果确定逻辑页是 在缓存中,如图1中实线所示,直接读出缓存中对应页的数据;如果确定逻辑页不是在缓存 中,就翻译为逻辑块地址1,如图1中虚线所示,通过查块级地址映射表,确定物理块地址 12,加上页偏移,从闪存中读出数据到缓存,再读缓存中对应页的数据。当向固态硬盘写数据时,如图2所示。如根据外界给出的写逻辑扇区地址8,翻译 为逻辑页地址1,通过查缓存页映射表,确定对应逻辑页是否在缓存中。如果确定逻辑页是 在缓存中,直接写入缓存,覆盖原有数据;如果确定逻辑页不是在缓存中,就在缓存中申请 一页大小的新空间,将数据写入缓存,同时更新缓存页映射表当缓存数据写入闪存时,如图3所示。如根据最近最少未被使用原则和属于同一 物理块页数最多原则,挑选属于同一物理块的缓存页,其对应的物理块地址为12,从闪存读 入所选物理块地址为12的物理块中剩余有效页数据,先将对应的原数据块从数据块数组 中剔除,并加入到无本文档来自技高网...

【技术保护点】
一种固态硬盘读写方法,包括四类操作:从固态硬盘读数据,向固态硬盘写数据,缓存数据写入闪存,以及固态硬盘擦除无效块,其特征在于:基于缓存,预先建立带缓存的块级地址映射表,所述块级地址映射表是逻辑块地址到物理块地址的转换表,所述带缓存的块级地址映射表是缓存中所存页的逻辑页地址到物理页地址的转换表;并且预先将固态硬盘存储空间分为数据块区、无效块区和空块区,所述数据块区是其中写有有效数据的块区,所述无效块区是指数据已经标注为删除但其中物理信息尚未真正擦除的块区,所述空块区是指已经过擦除可以重新写入数据的块区;所述数据块区、无效块区和空块区以数组形式保存各自的擦除次数和物理块地址信息;所述四类操作:从固态硬盘读数据,向固态硬盘写数据,缓存数据写入闪存,以及固态硬盘擦除无效块,是并行执行的四类操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:倪凯王伟能马建设毛乐山林家用程雪岷
申请(专利权)人:清华大学深圳研究生院
类型:发明
国别省市:94[中国|深圳]

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

1