利用固态硬盘作为设备读缓存的方法、系统及固态硬盘技术方案

技术编号:9618089 阅读:77 留言:0更新日期:2014-01-30 05:48
本发明专利技术适用于存储技术领域,提供了一种利用固态硬盘作为设备读缓存的方法,所述方法包括如下步骤:A、固态硬盘的闪存转换层为设备提供读写接口,并存储所述设备的缓存数据;B、所述固态硬盘的闪存转换层在检测到所述固态硬盘的空闲块小于预设的阈值时,将目标块擦除。借此,本发明专利技术提高了慢速块设备读命令处理速度。

Method, system and solid state hard disk for using solid-state hard disk as device read cache

The invention is applicable to the technical field of storage, provides a method of using solid state disk as the device read cache, the method comprises the following steps: A, SSD flash translation layer provides interfaces for reading and writing equipment, data cache and storing the equipment; B, the solid state hard disk flash translation layer in the detection of free block is smaller than the preset threshold to the solid-state hard disk, the target block erase. Therefore, the invention improves the processing speed of the read speed of the slow block device.

【技术实现步骤摘要】
利用固态硬盘作为设备读缓存的方法、系统及固态硬盘
本专利技术涉及存储
,尤其涉及一种利用固态硬盘作为设备读缓存的方法、系统及固态硬盘。
技术介绍
闪存具备存取速度快,无噪音,散热小的特点,在存储市场上得到了广泛的应用。由于闪存的物理介质特点,存在一些存取限制,它可以单一字节的方式读或写入,但是抹除一定是一整个区块,同时对于覆盖写,必须先将块上的有效数据读取到内存中,然后擦除整块,再将有效数据同更新数据一同写入块中,这一过程简称“读-修改-写”。在SSD(solid state disk,固态硬盘)中,通常封装了 FTL (Flash TranslationLayer,闪存转换层)Flash文件系统数据管理器通常FTL也称作NAND FTL (FlashTranslation Layer)。FTL是一个NAND (闪存芯片)与基础文件系统之间的一个转换层,它使操作系统和文件系统能够像访问硬盘一样访问NAND闪存设备。FTL整体管理flash设备,包括从底层flash设备分配块、地址转换(mapping)、动态平均读写和垃圾收集。在某些flash设备中,可以在硬件中实现一部分FTL。传统的FTL实现中,往往将其功能实现在一个封闭的控制芯片中或是一个独立模块中,往往提供较少的接口显示内部工作状态。也就是说应用数据与FTL缺乏协调,导致FTL性能较低。综上可知,现有的设备读缓存技术在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
技术实现思路
针对上述的缺陷,本专利技术的目的在于提供一种利用固态硬盘作为设备读缓存的方法、系统及固态硬盘,以提高慢速块设备读命令处理速度。为了实现上述目的,本专利技术提供一种利用固态硬盘作为设备读缓存的方法,所述方法包括如下步骤:A、固态硬盘的闪存转换层为设备提供读写接口,并存储所述设备的缓存数据;B、所述固态硬盘的闪存转换层在检测到所述固态硬盘的空闲块小于预设的阈值时,将目标块擦除。根据所述的方法,所述步骤B包括:B1、根据最近最少使用算法策略选择所述目标块;B2、在映射表中删除所述目标块中所有页面的映射关系;B3、擦除所述目标块;B4、将所述目标块放入空闲链表中。根据所述的方法,所述方法还包括:C、所述设备将读写命令派发到所述固态硬盘;D、判断所述写命令是否在所述固态硬盘中命中,若命中则构建删除命令下发到所述固态硬盘中;若未命中则将所述读写命令重新定向到所述设备;或者E、判断所述读命令是否在所述固态硬盘中命中,若命中则所述读命令从所述固态硬盘返回;若未命中则将所述读命令重新定向到所述设备。根据所述的方法,在所述读命令在所述固态硬盘中命中后,将所述读命令对应的数据写入到所述固态硬盘中加速;所述读写接口包含的读写命令的信息包括:读写命令类型、逻辑块寻址、读写命令数据长度、读写命令数据缓冲地址。为了实现本专利技术的另一专利技术目的,本专利技术还提供了一种利用固态硬盘作为设备读缓存的系统,所述系统包括:读写接口,设置于固态硬盘的闪存转换层,为设备提供读写接口,并存储所述设备的缓存数据;擦除模块,设置于所述固态硬盘的闪存转换层,在检测到所述固态硬盘的空闲块小于预设的阈值时,将目标块擦除。根据所述的系统,所述擦除模块包括:选择子模块,用于根据最近最少使用算法策略选择所述目标块;删除子模块,用于在映射表中删除所述目标块中所有页面的映射关系;擦除子模块,用于擦除所述目标块;放入子模块,用于将所述目标块放入空闲链表中。根据所述的系统,所述系统还包括:重定向器,连接于所述设备与所述固态硬盘之间,用于将所述设备的读写命令派发到所述固态硬盘;判断模块,设置于所述固态硬盘,用于判断所述写命令或者读命令是否在所述固态硬盘中命中;所述重定向器在若所述判断模块判断所述写命令命中,则构建删除命令下发到所述固态硬盘中;若判断未命中则将所述读写命令重新定向到所述设备;或者所述重定向器在若所述判断模块判断所述读命令在所述固态硬盘中命中,则将所述读命令从所述固态硬盘返回;若判断未命中则将所述读命令重新定向到所述设备。根据所述的系统,在所述读命令在所述固态硬盘中命中后,所述重定向器将所述读命令对应的数据写入到所述固态硬盘中加速;所述读写接口包含的读写命令的信息包括:读写命令类型、逻辑块地址、读写命令数据长度、读写命令数据缓冲地址。为了实现本专利技术的再一专利技术目的,本专利技术还提供了 一种用于上述任一项所述系统的固态硬盘。本专利技术通过利用固态硬盘高速存储性能以及对传统FTL的垃圾回收作修改,由固态硬盘的闪存转换层为设备提供读写接口,并存储所述设备的缓存数据;所述固态硬盘的闪存转换层在检测到所述固态硬盘的空闲块小于预设的阈值时,将目标块擦除。由此,可高效地将SSD作为慢速块设备的读缓存,提高慢速块设备读命令处理速度。【附图说明】图1是本专利技术第一实施例提供的利用固态硬盘作为设备读缓存的系统组成示意图;图2是本专利技术第二、三实施例提供的利用固态硬盘作为设备读缓存的系统组成示意图;图3是本专利技术第四实施例提供的利用固态硬盘作为设备读缓存的方法流程图;图4是本专利技术一个实施例提供的利用固态硬盘作为设备读缓存的系统框架图;图5是本专利技术一个实施例提供的利用固态硬盘作为设备读缓存的方法流程图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。参见图1,在本专利技术的第一实施例中提供了一种利用固态硬盘作为设备读缓存的系统100,所述系统包括:读写接口 10,设置于固态硬盘101的闪存转换层60,为设备102提供读写接口,并存储所述设备102的缓存数据;擦除模块20,设置于所述固态硬盘101的闪存转换层60,在检测到所述固态硬盘101的空闲块小于预设的阈值时,将目标块擦除。在该实施例中,在传统SSD FTL(固态硬盘101的闪存转换层60)的基础上,对FTL(闪存转换层60)的垃圾回收策略稍作修改,同时提供IO读写接口,可高效地为慢速块设备加速读命令处理。由于是将SSD作为设备102读缓存,当有新数据需要写入SSD时(该数据存储在SSD中作为读缓存),检测SSD中的空闲block数目,低于预设的阀值,启动垃圾回收,这样可以有效的提高设备102的缓存速度,方便设备102缓存数据的读取。所述读写接口包含的读写命令的信息包括:读写命令类型、逻辑块地址、读写命令数据长度、读写命令数据缓冲地址。具体的,SSD FTL提供读写IO接口,该IO接口包含了 IO的如下信息:10类型(读或写或trim)、逻辑块地址LBA、10数据长度、IO数据buffer地址。为了统一标准,可利用SCSI (Small Computer System Interface,小型计算机系统接口)标准描述该IO命令。该方法有效地利用了 SSD中的mapping机制,不同与传统的SSD缓存,不需要再次建立SSD上的块与设备102上的块的映射关系。而在传统SSD缓存中,这个映射关系将占用大量的内存,通常是GB级别大小,因此该实施例中提供的技术方案具有优越性。参见图2,在本专利技术的第二实施例中,擦除模块20包括:选择子模块21,用于根据最近最少使用算法策略选择所本文档来自技高网...

【技术保护点】
一种利用固态硬盘作为设备读缓存的方法,其特征在于,所述方法包括如下步骤:A、固态硬盘的闪存转换层为设备提供读写接口,并存储所述设备的缓存数据;B、所述固态硬盘的闪存转换层在检测到所述固态硬盘的空闲块小于预设的阈值时,将目标块擦除。

【技术特征摘要】
1.一种利用固态硬盘作为设备读缓存的方法,其特征在于,所述方法包括如下步骤: A、固态硬盘的闪存转换层为设备提供读写接口,并存储所述设备的缓存数据; B、所述固态硬盘的闪存转换层在检测到所述固态硬盘的空闲块小于预设的阈值时,将目标块擦除。2.根据权利要求1所述的方法,其特征在于,所述步骤B包括: B1、根据最近最少使用算法策略选择所述目标块; B2、在映射表中删除所述目标块中所有页面的映射关系; B3、擦除所述目标块; B4、将所述目标块放入空闲链表中。3.根据权利要求1所述的方法,其特征在于,所述方法还包括: C、所述设备将读写命令派发到所述固态硬盘; D、判断所述写命令是否在所述固态硬盘中命中,若命中则构建删除命令下发到所述固态硬盘中;若未命中则将所述读写命令重新定向到所述设备;或者 E、判断所述读命令是否在所述固态硬盘中命中,若命中则所述读命令从所述固态硬盘返回;若未命中则将所述读命令重新定向到所述设备。4.根据权利要 求3所述的方法,其特征在于,在所述读命令在所述固态硬盘中命中后,将所述读命令对应的数据写入到所述固态硬盘中加速; 所述读写接口包含的读写命令的信息包括:读写命令类型、逻辑块寻址、读写命令数据长度、读写命令数据缓冲地址。5.一种利用固态硬盘作为设备读缓存的系统,其特征在于,所述系统包括: 读写接口,设置于固态硬盘的闪存转换层,为设备提供读写接口,并存储所述设...

【专利技术属性】
技术研发人员:曹庭华
申请(专利权)人:记忆科技深圳有限公司
类型:发明
国别省市:

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

1