一种基于固态硬盘的缓存加速方法技术

技术编号:14120836 阅读:84 留言:0更新日期:2016-12-08 13:59
本发明专利技术提供一种基于固态硬盘的缓存加速方法,具体地:将固态硬盘和机械硬盘分别均分成不同区块后,建立固态硬盘每个区块缓存的数据页到机械硬盘地址的映射,并将映射关系及映射表分别存储在固态硬盘及内存中。当发生数据读操作或写操作时,根据所述映射关系及映射表确定内存、固态硬盘及机械硬盘的读写顺序,并更新所述映射表。在固态硬盘和机械盘混合存储场景中,能够利用固态硬盘缓存,使整个系统的读写更加迅速便捷。

【技术实现步骤摘要】

本专利技术属于计算机应用领域,具体涉及一种基于固态硬盘的缓存加速方法
技术介绍
固态硬盘(SSD,Solid State Drive)不同于传统的机械硬盘(HDD,Hard DiskDrive),固态硬盘是闪存介质,机械硬盘是磁存储介质(磁碟片+磁头),所以固态硬盘没有寻道时间,在随机读取零散小文件的时候效率非常高(操作系统、应用软件、游戏的程序文件基本都属于这种零散的小文件),也就是说加载程序的速度极快。用固态硬盘做高速缓存的目的就是把这些常用的程序文件都储存在固态硬盘里面,用的时候从固态硬盘里调去,其效率远远高于机械硬盘。但是毕竟现在的固态硬盘价格要远远高于机械硬盘,所以绝大多数的不太常用的数据还是储存在机械硬盘里更划算,因此固态硬盘和机械硬盘混合使用的策略普遍被采用。固态硬盘缓存技术,即是将需要频繁读写的数据缓存到读写速度较为快速的固态硬盘中,加速这类热点数据的速写速度,同时将非热点数据存储在价格较为便宜的机械盘上。通过固态硬盘缓存技术,结合固态硬盘和机械硬盘的各自优势,可以提供高性价比的存储。现有的固态硬盘缓存技术,受到内存缓存技术的影响,分为回写(write-back),直写(write-through)和绕写(只缓存读的数据,write-around)三种主要的缓存机制。而实际上,在基于内存的缓存机制中,write-through和write-around缓存机制是为了保证数据的写入的可靠性,避免因断电等原因导致的数据丢失(数据写入到了内存,但还未写入磁盘)。固态硬盘与内存很
大的不同就在于其本身是非易失性的,数据写入固态硬盘后,不会因为断电而丢失。因此,在基于固态硬盘的缓存策略中,采用write-back机制,既能保证数据的写入可靠性,也能提高写入的性能。现有基于write-back的固态硬盘缓存机制,都采用了数据写入固态硬盘后,脏数据再回写到机械硬盘的策略,这一策略基本照搬了内存缓存的write-back机制,而忽略了内存和固态硬盘的性能差异。在基于固态硬盘的缓存中,脏数据回写时,数据会先从固态硬盘上读出,再写入到机械硬盘的,这会占用固态硬盘的读性能,会对其他读写操作造成影响。鉴于上述原因,本专利技术提供一种新的基于固态硬盘的缓存加速方法,以解决上述问题。
技术实现思路
本专利技术提供一种基于固态硬盘的缓存加速方法,包括以下步骤。S1:将固态硬盘和机械硬盘分别均分成不同区块,其中所述区块均为页的倍数,且所述机械硬盘的区块大小不超过所述固态硬盘的区块大小。S2:建立固态硬盘每个区块缓存的数据页到机械硬盘地址的映射,并将映射关系及映射表分别存储在固态硬盘及内存中。S3:当发生数据读操作或写操作时,根据所述映射关系及映射表确定内存、固态硬盘及机械硬盘的读写顺序,并更新所述映射表。优选的,在步骤S1中,所述固态硬盘的一个区块至少对应一个机械硬盘的区块。优选的,在步骤S2中,内存缓存的映射表中还包括内存缓存数据到机械硬盘地址的映射关系。优选的,在步骤S3中,当发生数据读操作时,优先查看内存缓存,如果缓存命中,直接读取,在内存缓存不命中的情况下,查看并尝试读取固态硬盘缓存,当两者都不命中时,直接从机械硬盘读取数据。优选的,从机械硬盘读取所需数据后,根据内存缓存的映射表,将数据在对应的固态硬盘区块上更新,并分别更新内存和固态硬盘缓存的映射表。优选的,更新所述内存和固态硬盘缓存的映射表后,若内存未被脏数据缓存页占满,则进行内存缓存替换,并更新内存缓存的映射表。优选的,在步骤S3中,当发生数据写操作时,确定固态硬盘中未缓存有对应数据页,且所述固态硬盘未缓存满时,将数据写入空的固态硬盘缓存页,并更新映射表。优选的,更新所述映射表后,确定内存未缓存有所述数据页且内存缓存区未被脏数据占满时,进行内存缓存替换,并更新映射表。根据本专利技术提供的基于固态硬盘的缓存加速方法,将固态硬盘和机械硬盘分别均分成不同区块后,建立固态硬盘每个区块缓存的数据页到机械硬盘地址的映射,并将映射关系及映射表分别存储在固态硬盘及内存中。当发生数据读操作或写操作时,根据所述映射关系及映射表确定内存、固态硬盘及机械硬盘的读写顺序,并更新所述映射表。如此,利用内存作为固态硬盘回写缓冲区,避免了固态硬盘回写时的额外读操作,能够充分发挥固态硬盘的性能优势。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术较佳实施例提供的基于固态硬盘的缓存加速方法流程图;图2是本专利技术较佳实施例提供的固态硬盘缓存与机械硬盘页地址对应关系示例;图3是本专利技术较佳实施例提供的通过HASH方法将机械硬盘区块对应到固态硬盘区块示意图;图4是本专利技术较佳实施例提供的固态硬盘映射表结构示意图;图5是本专利技术较佳实施例提供的数据读操作工作流程图;图6是本专利技术较佳实施例提供的数据写操作工作流程图。具体实施方式下文中将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图1是本专利技术较佳实施例提供的基于固态硬盘的缓存加速方法流程图。如图1所示,本专利技术较佳实施例提供的基于固态硬盘的缓存加速方法包括步骤S1~S3。步骤S1:将固态硬盘和机械硬盘分别均分成不同区块,其中所述区块均为页的倍数,且所述机械硬盘的区块大小不超过所述固态硬盘的区块大小。具体而言,设置缓存数据大小最小单位例如为4kB(即1页),系统将以页为单位对固态硬盘和机械硬盘存储空间进行编号,映射表(固)维护的即是固态硬盘每个页对应机械硬盘中的哪一页(每一项是一个包含固态硬盘页编号和机械硬盘页编号的二元组,并且固态硬盘的任意页编号都属于一个二元组)。于此,所述内存的缓存区域大小可根据实际系统配置做灵活调整,对此本专利技术并不作限定。图2是本专利技术较佳实施例提供的固态硬盘缓存与机械硬盘页地址对应关系示例。如图2所示,如果固态硬盘的a页对应了机械硬盘的a’页,那固态
硬盘a页的数据就是对本应存储在机械硬盘a’页数据的缓存。如果固态硬盘a页内的数据与机械硬盘a’页内的数据不同,则固态硬盘A页缓存的是脏数据,其中(a,a’)为映射表(固)的一个二元组。如上所述,在发生读操作时,会判断需要读取的数据是否已被缓存,如果要遍历整个映射表才能进行这一判断,效率会变得非常低。本实施例中,所述固态硬盘的一个区块至少对应一个机械硬盘的区块,其对应关系可通过HASH方法来确定,例如HASH(A’)即是机械硬盘区块A’对应的固态硬盘区块号。图3是本专利技术较佳实施例提供的通过HASH方法将机械硬盘区块对应到固态硬盘区块示意图。如图3所示,HASH(A’)=HASH(B’)=A。当查找某一页机械硬盘上的数据页x’是否缓存在固态硬盘上时,通过HASH(x’/HU)计算得到固态硬盘区块号(设为X),再对映射表(固)中X区块对应的区域进行遍历(最多遍历SU个二元组),确认是否已被缓存,从而提高判断效率。同时,HASH计算的是机械硬盘区块号到固态硬盘区块号的映射,这使得部分相本文档来自技高网
...
一种基于固态硬盘的缓存加速方法

【技术保护点】
一种基于固态硬盘的缓存加速方法,其特征在于,包括以下步骤:S1、将固态硬盘和机械硬盘分别均分成不同区块,其中所述区块均为页的倍数,且所述机械硬盘的区块大小不超过所述固态硬盘的区块大小;S2、建立固态硬盘每个区块缓存的数据页到机械硬盘地址的映射,并将映射关系及映射表分别存储在固态硬盘及内存中;S3、当发生数据读操作或写操作时,根据所述映射关系及映射表确定内存、固态硬盘及机械硬盘的读写顺序,并更新所述映射表。

【技术特征摘要】
1.一种基于固态硬盘的缓存加速方法,其特征在于,包括以下步骤:S1、将固态硬盘和机械硬盘分别均分成不同区块,其中所述区块均为页的倍数,且所述机械硬盘的区块大小不超过所述固态硬盘的区块大小;S2、建立固态硬盘每个区块缓存的数据页到机械硬盘地址的映射,并将映射关系及映射表分别存储在固态硬盘及内存中;S3、当发生数据读操作或写操作时,根据所述映射关系及映射表确定内存、固态硬盘及机械硬盘的读写顺序,并更新所述映射表。2.根据权利要求1所述的方法,其特征在于,在步骤S1中,所述固态硬盘的一个区块至少对应一个机械硬盘的区块。3.根据权利要求1所述的方法,其特征在于,在步骤S2中,内存缓存的映射表中还包括内存缓存数据到机械硬盘地址的映射关系。4.根据权利要求1所述的方法,其特征在于,在步骤S3中,当发生数据读操作时,优先查看内存缓存,如果缓存命中,直...

【专利技术属性】
技术研发人员:郁岐锋
申请(专利权)人:苏州携云信息科技有限公司
类型:发明
国别省市:江苏;32

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

1