基于固态硬盘为缓存的计算机系统及缓存加速方法

文档序号:6524206阅读:227来源:国知局
基于固态硬盘为缓存的计算机系统及缓存加速方法
【专利摘要】本发明适用于存储【技术领域】,提供了一种计算机系统的缓存加速方法,所述系统包括内存、固态硬盘及磁盘驱动器,其特征在于,所述方法包括:在作为缓存设备的固态硬盘中维护一地址映射表,所述地址映射表储存所述磁盘驱动器的逻辑区块地址与所述固态硬盘的物理区块地址的映射关系;拦截发往所述磁盘驱动器的读请求,并将所述读请求发送至所述固态硬盘,所述读请求包含所述磁盘驱动器的逻辑区块地址信息;所述固态硬盘接收到所述读请求命令后,查找所述地址映射表是否具有所述读请求的所述磁盘驱动器的逻辑区块地址,若是,则返回数据,否则返回失败提示信息给所述内存。借此,本发明可以降低系统内存的占用,也简化了数据查表路径,降低系统负荷。
【专利说明】基于固态硬盘为缓存的计算机系统及缓存加速方法
【技术领域】
[0001]本发明涉及存储【技术领域】,尤其涉及一种基于固态硬盘为缓存的计算机系统及缓存加速方法。
【背景技术】
[0002]固态硬盘(Solid State Disk, SSD)是一种建立在标准NAND Flash等非挥发存储介质基础上的新一代存储设备,完全半导体化,无机械结构,具有低功耗、无噪音、抗震动、低热量等特点,不存在磁盘寻道时间,数据存取速度快,数据吞吐量能和IOPS能达到传统硬盘的数千倍。隨著NAND Flash制程技术不断提高及成本的降低,有效地降低了 SSD的成本,推进SSD的应用普及。闪存的读写单位为页,而页的大小一般为4KB或8KB,但我们的操作系统读写数据是按HDD的扇区尺寸进行的(512Byte (字节)),SSD通过FTL (Flashtr an s I at i on I ay er )闪存转换层把对磁盘的独立扇区操作转换成对闪存的操作。一般的,FTL层会维护一个全局的地址映射表,通过地址映射实现从LBA (逻辑区块地址)到PBA (物理区块地址)的转换。
[0003]现有的SSD缓存加速架构如图1所示,其具体读数据处理过程如下:
[0004]操作系统创建缓存管理层,拦截发往HDD的读请求(含有HDD的LBA信息);缓存管理层在系统内存中维护HDD的LBA与SSD的LBA的映射表(称为缓存映射表),看读地址是否在缓存映射表中;若读地址不在表中(不命中),则交由HDD读数据;若访问地址在表中查到(命中),则直接访问SSD,由FTL的地址映射表得到SSD的PBA,读出数据;缓存管理层将读出的数据返回给应用层,完成本次请求。上述传统的SSD缓存加速方法,需要在缓存管理层维护缓存映射表,会占用大量的内存,且查表过程消耗系统资源。
[0005]综上可知,现有的以固态硬盘为缓存的系统数据读取方法,在实际使用上显然存在不便与缺陷,所以有必要加以改进。

【发明内容】

[0006]针对上述的缺陷,本发明的目的在于提供一种基于固态硬盘为缓存的计算机系统及缓存加速方法,可降低内存占用,并简化缓存加速的路径。
[0007]为了实现上述目的,本发明提供一种计算机系统的缓存加速方法,所述系统包括内存、固态硬盘及磁盘驱动器,所述方法包括:
[0008]在作为缓存设备的固态硬盘中维护一地址映射表,所述地址映射表储存所述磁盘驱动器的逻辑区块地址与所述固态硬盘的物理区块地址的映射关系;
[0009]拦截发往所述磁盘驱动器的读请求,并将所述读请求发送至所述固态硬盘,所述读请求包含所述磁盘驱动器的逻辑区块地址信息;
[0010]所述固态硬盘接收到所述读请求命令后,查找所述地址映射表是否具有所述读请求的所述磁盘驱动器的逻辑区块地址,若是,则返回数据,否则返回失败提示信息给所述内存。[0011]根据本发明的计算机系统的缓存加速方法,所述返回失败提示信息给所述内存步骤之后包括:
[0012]将所述读请求发送到所述磁盘驱动器读数据;
[0013]所述内存将读出的数据发给所述固态硬盘,所述固态硬盘写入所述数据并更新更新所述地址映射表。
[0014]本发明还提供一种基于固态硬盘为缓存的计算机系统,包括:
[0015]内存,具有缓存管理层,用于拦截发往磁盘驱动器的读请求,并将所述读请求发送至作为缓存设备的固态硬盘,所述读请求包含磁盘驱动器的逻辑区块地址信息;
[0016]固态硬盘,具有闪存转换层,所述闪存转换层维护一地址映射表,用于储存所述磁盘驱动器的逻辑区块地址与固态硬盘的物理区块地址的映射关系,所述固态硬盘接收到所述读请求命令后,所述闪存转换层查找所述地址映射表是否具有所述读请求的所述磁盘驱动器的逻辑区块地址,若是,则从所述固态硬盘中返回数据,否则返回失败提示信息给所述内存;以及
[0017]磁盘驱动器。
[0018]根据本发明的基于固态硬盘为缓存的计算机系统,所述固态硬盘返回失败提示信息给所述内存后,所述内存将所述读请求发送到所述磁盘驱动器读数据;
[0019]所述内存将读出的数据发给所述固态硬盘,所述固态硬盘写入所述数据并更新更新所述地址映射表。
[0020]本发明通过在固态硬盘中维护闪存转换层的地址映射表,其储存了磁盘驱动器的逻辑区块地址与固态硬盘的物理区块地址的映射关系,系统发送读请求时,内存通过缓存管理层将读请求发送至作为缓存设备的固态硬盘,所述固态硬盘的闪存转换层查找所述地址映射表是否具有所述读请求的所述磁盘驱动器的逻辑区块地址,若是,则从所述固态硬盘中返回数据,否则返回失败提示信息给所述内存。借此,本发明可以降低系统内存的占用,也简化了数据查表路径,降低系统负荷。
【专利附图】

【附图说明】
[0021]图1是现有技术一实施例的计算机系统的结构示意图;
[0022]图2是本发明一实施例的计算机系统的结构示意图;
[0023]图3是本发明一实施例的计算机系统的缓存加速方法流程图。
【具体实施方式】
[0024]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0025]参见图2,本发明提供了一种基于固态硬盘为缓存的计算机系统,该系统100具有内存10、固态硬盘20以及磁盘驱动器30。其中:
[0026]内存10,具有缓存管理层11,用于拦截发往磁盘驱动器30的读请求,并将所述读请求发送至作为缓存设备的固态硬盘20,所述读请求包含磁盘驱动器30的逻辑区块地址信息。[0027]固态硬盘20,具有闪存转换层21,所述闪存转换层21维护一地址映射表,用于储存所述磁盘驱动器30的逻辑区块地址(LBA)与固态硬盘的物理区块地址(PBA)的映射关系,所述固态硬盘20接收到所述读请求命令后,所述闪存转换层21查找所述地址映射表是否具有所述读请求的所述磁盘驱动器30的逻辑区块地址,若是,则从所述固态硬盘中返回数据,否则返回失败提示信息给所述内存10。
[0028]磁盘驱动器30,用于存储系统数据。
[0029]优选的是,缓存管理层11若收到失败信息,则交由磁盘驱动器30读数据,缓存管理层11将读出的数据发给固态硬盘20,固态硬盘20写入同样数据。需要说明的,固态硬盘20有空闲空间时直接在空闲空间写,没有空闲空间时,通过预定置换算法淘汰原有数据再写,同时更新映射表。缓存管理层11将读出的数据返回给应用层后,完成本次请求。
[0030]本发明将传统的缓存映射表与FTL(闪存转换层)地址映射表合二为一,并由FTL维护,降低了系统内存的占用,也简化了传统方法需要两次查表的路径;同时,缓存管理层查找映射表、更新映射表的操作均由FTL来实现,降低了操作系统的负荷。
[0031]参见图3,本发明提供了一种计算机系统的缓存加速方法,其可以通过如图2所示的系统100实现,所述系统100包括内存10、固态硬盘20及磁盘驱动器30,该方法包括:
[0032]步骤S301,在作为缓存设备的固态硬盘20中维护一地址映射表,所述地址映射表储存所述磁盘驱动器30的逻辑区块地址与所述固态硬盘20的物理区块地址的映射关系。
[0033]步骤S302,拦截发往所述磁盘驱动器30的读请求,并将所述读请求发送至所述固态硬盘20,所述读请求包含所述磁盘驱动器的逻辑区块地址信息。
[0034]步骤S303,所述固态硬盘20接收到所述读请求命令后,查找所述地址映射表是否具有所述读请求的所述磁盘驱动器的逻辑区块地址,若是,则执行步骤S304,否则执行步骤S305。
[0035]步骤S304,则返回数据至内存10。否则返回失败提示信息给所述内存
[0036]步骤S305,返回失败提示信息。
[0037]优选的是,内存10的缓存管理层11收到失败信息后,交由磁盘驱动器30读数据,缓存管理层11将读出的数据发给固态硬盘20,固态硬盘20写入同样数据。需要说明的,固态硬盘20有空闲空间时直接在空闲空间写,没有空闲空间时,通过预定置换算法淘汰原有数据再写,同时更新地址映射表。缓存管理层11将读出的数据返回给应用层后,完成本次请求。
[0038]综上所述,本发明通过在固态硬盘中维护闪存转换层的地址映射表,其储存了磁盘驱动器的逻辑区块地址与固态硬盘的物理区块地址的映射关系,系统发送读请求时,内存通过缓存管理层将读请求发送至作为缓存设备的固态硬盘,所述固态硬盘的闪存转换层查找所述地址映射表是否具有所述读请求的所述磁盘驱动器的逻辑区块地址,若是,则从所述固态硬盘中返回数据,否则返回失败提示信息给所述内存。借此,本发明可以降低系统内存的占用,也简化了数据查表路径,降低系统负荷。
[0039]当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
【权利要求】
1.一种计算机系统的缓存加速方法,所述系统包括内存、固态硬盘及磁盘驱动器,其特征在于,所述方法包括: 在作为缓存设备的固态硬盘中维护一地址映射表,所述地址映射表储存所述磁盘驱动器的逻辑区块地址与所述固态硬盘的物理区块地址的映射关系; 拦截发往所述磁盘驱动器的读请求,并将所述读请求发送至所述固态硬盘,所述读请求包含所述磁盘驱动器的逻辑区块地址信息; 所述固态硬盘接收到所述读请求命令后,查找所述地址映射表是否具有所述读请求的所述磁盘驱动器的逻辑区块地址,若是,则返回数据,否则返回失败提示信息给所述内存。
2.根据权利要求1所述的计算机系统的缓存加速方法,其特征在于,所述返回失败提示信息给所述内存步骤之后包括: 将所述读请求发送到所述磁盘驱动器读数据; 所述内存将读出的数据发给所述固态硬盘,所述固态硬盘写入所述数据并更新更新所述地址映射表。
3.一种基于固态硬盘为缓存的计算机系统,其特征在于,包括: 内存,具有缓存管理层,用于拦截发往磁盘驱动器的读请求,并将所述读请求发送至作为缓存设备的固态硬盘,所述读请求包含磁盘驱动器的逻辑区块地址信息; 固态硬盘,具有闪存转换层,所述闪存转换层维护一地址映射表,用于储存所述磁盘驱动器的逻辑区块地址与固态硬盘的物理区块地址的映射关系,所述固态硬盘接收到所述读请求命令后,所述闪存转换层查找所述地址映射表是否具有所述读请求的所述磁盘驱动器的逻辑区块地址,若是,则从所述固态硬盘中返回数据,否则返回失败提示信息给所述内存;以及 磁盘驱动器。
4.根据权利要求3所述的基于固态硬盘为缓存的计算机系统,其特征在于,所述固态硬盘返回失败提示信息给所述内存后,所述内存将所述读请求发送到所述磁盘驱动器读数据; 所述内存将读出的数据发给所述固态硬盘,所述固态硬盘写入所述数据并更新更新所述地址映射表。
【文档编号】G06F3/06GK103744611SQ201310694867
【公开日】2014年4月23日 申请日期:2013年12月17日 优先权日:2013年12月17日
【发明者】覃哲琨 申请人:记忆科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1