当前位置: 首页 > 专利查询>伊姆西公司专利>正文

用于数据存储系统的方法和装置制造方法及图纸

技术编号:14912083 阅读:110 留言:0更新日期:2017-03-30 02:03
提供一种用于数据存储系统的方法和装置。该方法包括:从上层接收IO请求,其中所述IO请求包括IO类型标识符;基于所述IO类型标识符确定所述IO请求的IO类型;以及基于所确定的IO类型处理所述IO请求。本公开还提供相应的装置。根据本公开的实施例的方法和装置,能够根据不同的IO类型来确定相应数据的存储策略,改善整体的系统性能。

【技术实现步骤摘要】

本公开的实施例涉及数据存储系统,并且更具体地涉及快速缓存。
技术介绍
在存储系统中,物理存储分配具有其逻辑标识。例如,逻辑单元号(LUN)可以被用作物理存储分配的唯一标识符。LUN是存储区域的一种表示,其可以指向整个独立磁盘冗余阵列(RAID)集合,单个硬盘或者分区,或者多个磁盘或者多个分区。固态磁盘(SSD)高速缓存是一种存储系统部件,其通过在固态存储磁盘介质中透明地存储数据而改善性能。SSD具有比硬盘驱动器(HDD)更高的性能。在EMCTM的VNX序列产品中,SSD高速缓存又被称为快速缓存。从SSD高速缓存的角度来看,仅能够看到LUN信息,例如逻辑单元号、起始地址、以及区域大小等,而不能够看到关于输入输出(IO)使用的信息。图1示意性地示出磁盘分配和映射的图。如图1所示,精简LUN1和精简LUN2被映射到物理LUN1。其中精简LUN又被称为虚拟LUN。在图1的示例中,在这两个虚拟LUN中各存储了一些用户数据和元数据,这些数据都被映射到物理LUN1。在图1的示例中,从虚拟LUN的引擎(或者称为驱动器)发送的IO将被SSD高速缓存处理,然后转发到HDD。
技术实现思路
下面给出了对各实施例的简要概述,以提供对各种实施例的一些方面的基本理解。该概述不旨在标识关键元素的要点或描述各种实施例的范围。其唯一目的在于以简化形式呈现一些概念,作为对后述更具体描述的前序。本公开的第一方面提供一种在存储系统中用于输入输出IO处理的方法,包括:从上层接收IO请求,其中所述IO请求包括IO类型标识符;基于所述IO类型标识符确定所述IO请求的IO类型;以及基于所确定的IO类型处理所述IO请求。在一个实施例中,基于所述IO类型标识符确定所述IO请求的IO类型可以包括:基于所述IO类型标识符从预定的IO类型集合中确定一种IO类型;其中所述预定的IO类型集合包括第一IO类型和第二IO类型;并且其中所述存储系统中包括第一存储设备和第二存储设备,所述第一存储设备适于快速缓存第一IO类型的IO的数据,所述第二存储设备适于存储第二IO类型的IO的数据。在另一实施例中,第一IO类型可以包括随机IO,所述第二IO类型可以包括连续IO。在又一实施例中,第一IO类型可以包括元数据IO,并且所述第二IO类型可以包括用户数据IO和/或背景数据IO。在一个实施例中,第一存储设备可以包括快速缓存器,并且所述第二存储设备可以包括硬盘驱动器HDD。在另一实施例中,基于所确定的IO类型处理所述IO请求可以包括:将所述IO请求转发到后端,以读/写数据,以及在所述IO请求从后端返回时,向所述上层发送响应,并且基于所确定的IO类型决定是否将响应于所述IO请求的读/写数据提升到快速缓存器。在又一实施例中,基于所确定的IO类型确定是否将响应于所述IO请求的读/写数据提升到快速缓存器可以包括:如果所确定的IO类型为随机IO或者元数据IO,则将响应于所述IO请求的读/写数据提升到所述快速缓存器。在另一实施例中,基于所确定的IO类型决定是否将响应于所述IO请求的读/写数据提升到快速缓存器可以包括:如果所确定的IO类型为连续IO、用户数据IO、或者背景数据IO,则进一步基于所述IO请求的新近性和/或频率来决定是否将响应于所述IO请求的读/写数据提升到所述快速缓存器。在一个实施例中,该方法可以进一步包括:在将所述IO请求转发到所述后端之前,检查所述IO请求要读/写的数据是否已经被缓存在所述快速缓存器中,以及,如果所述IO请求要读/写的数据已经被缓存在所述快速缓存器中,则将所述IO请求转发到所述快速缓存器以读/写数据,并向所述上层发送响应,并且仅在所述IO请求要读/写的数据尚未被缓存在所述快速缓存器中时,将所述IO请求转发到后端。在另一实施例中,所述上层可以是动态随机存取存储器DRAM驱动器或者虚拟逻辑单元号LUN驱动器。在又一实施例中,基于所确定的IO类型处理所述IO请求可以包括:从缓存提升策略集合中获取针对所确定的IO类型的缓存提升策略;以及基于所获取的缓存提升策略确定是否将所述IO请求要读/写的数据提升到快速缓存器。在另一实施例中,缓存提升策略集合可以包括以下中的至少一项:对于元数据IO,在元数据第一次被访问时就将所述元数据提升到所述快速缓存器;对于用户数据IO,在用户数据被访问的次数超过第一提升阈值时将所述用户数据提升到所述快速缓存器;对于背景数据IO,在背景数据被访问的次数超过第二提升阈值时将所述背景数据提升到所述快速缓存器;对于读/写的数据量超过预定数据量阈值的IO,不将读/写的数据提升到所述快速缓存器。在一个实施例中,该方法可以进一步包括:通过配置文件、命令行工具、驱动器接口中的至少一种方式配置所述缓存提升策略集合。在另一实施例中,基于所确定的IO类型处理所述IO请求可以包括:在响应于所述IO请求的读/写数据已经被缓存在快速缓存器中时,基于所确定的IO类型决定是否将响应于所述IO请求的读/写数据从所述快速缓存器中清除。在一个实施例中,基于所确定的IO类型决定是否将响应于所述IO请求的读/写数据从所述快速缓存器中清除可以包括:从缓存清除策略集合中确定针对所确定的IO类型的缓存清除策略;以及基于所确定的缓存清除策略决定是否将响应于所述IO请求的读/写数据从所述快速缓存器中清除。在另一实施例中,该方法可以进一步包括:配置所述缓存清除策略集合,使得:元数据以第一概率被保留在所述快速缓存器中不被清除;用户数据以低于所述第一概率的第二概率被保留在所述快速缓存器中不被清除;背景数据以不高于所述第二概率的第三概率被保留在所述快速缓存器中不被清除。在又一实施例中,该方法可以进一步包括:通过配置文件、命令行工具、驱动器接口中的至少一种方式配置所述缓存清除策略集合。在另一实施例中,该方法可以进一步包括:通过最近最少使用LRU列表来管理所述快速缓存器中缓存的数据页,所述LRU列表的第一项列出最热的数据页,并且最后一项列出最冷的数据页,并且基于所确定的IO类型决定是否将响应于所述IO请求的读/写数据从所述快速缓存器中清除可以包括:如果所确定的IO类型为元数据IO,则当对应的元数据页到达所述LRU列表的最后一项的次数超过第一清除阈值,则将所述元数据页从所述快速缓存器中清除;如果所确定的IO类型为用户数据IO或者背景数据IO,则当对应的用户数据页或者背景数据页到达所述LRU列表的最后一项的次数超过第二清除阈值,则将所述用户数据页或者背景数据页从所述快速缓存器中清除;其中所述第二清除阈值小于所述第一清除阈值。本公开的第二方面提供一种在存储系统中用于输入输出IO处理的装置,包括:接收单元,被配置为从上层接收IO请求,其中所述IO请求包括IO类型标识符;类型确定单元,被配置为基于所述IO类型标识符确定所述IO请求的IO类型;以及处理单元,被配置为基于所确定的IO类型处理所述IO请求。在一个实施例中,类型确定单元可以被配置为:基于IO类型标识符从预定的IO类型集合中确定一种IO类型;其中所述预定的IO类型集合包括第一IO类型和第二IO类型;并且其中所述存储系统中包括第一存储设备和第二存储设本文档来自技高网...

【技术保护点】
一种在存储系统中用于输入输出IO处理的方法,包括:从上层接收IO请求,其中所述IO请求包括IO类型标识符;基于所述IO类型标识符确定所述IO请求的IO类型;以及基于所确定的IO类型处理所述IO请求。

【技术特征摘要】
1.一种在存储系统中用于输入输出IO处理的方法,包括:从上层接收IO请求,其中所述IO请求包括IO类型标识符;基于所述IO类型标识符确定所述IO请求的IO类型;以及基于所确定的IO类型处理所述IO请求。2.根据权利要求1所述的方法,其中基于所述IO类型标识符确定所述IO请求的IO类型包括:基于所述IO类型标识符从预定的IO类型集合中确定一种IO类型;其中所述预定的IO类型集合包括第一IO类型和第二IO类型;并且其中所述存储系统中包括第一存储设备和第二存储设备,所述第一存储设备适于快速缓存第一IO类型的IO的数据,所述第二存储设备适于存储第二IO类型的IO的数据。3.根据权利要求2所述的方法,其中所述第一IO类型包括随机IO,所述第二IO类型包括连续IO。4.根据权利要求2所述的方法,其中所述第一IO类型包括元数据IO,并且所述第二IO类型包括用户数据IO和/或背景数据IO。5.根据权利要求2所述的方法,其中所述第一存储设备包括快速缓存器,并且所述第二存储设备包括硬盘驱动器HDD。6.根据权利要求1所述的方法,其中基于所确定的IO类型处理所述IO请求包括:将所述IO请求转发到后端,以读/写数据,以及在所述IO请求从后端返回时,向所述上层发送响应,并且基于所确定的IO类型决定是否将响应于所述IO请求的读/写数据提升到快速缓存器。7.根据权利要求6所述的方法,其中基于所确定的IO类型确定是否将响应于所述IO请求的读/写数据提升到快速缓存器包括:如果所确定的IO类型为随机IO或者元数据IO,则将响应于所述IO请求的读/写数据提升到所述快速缓存器。8.根据权利要求6所述的方法,其中基于所确定的IO类型决定是否将响应于所述IO请求的读/写数据提升到快速缓存器包括:如果所确定的IO类型为连续IO、用户数据IO、或者背景数据IO,则进一步基于所述IO请求的新近性和/或频率来决定是否将响应于所述IO请求的读/写数据提升到所述快速缓存器。9.根据权利要求6所述的方法,进一步包括:在将所述IO请求转发到所述后端之前,检查所述IO请求要读/写的数据是否已经被缓存在所述快速缓存器中,以及,如果所述IO请求要读/写的数据已经被缓存在所述快速缓存器中,则将所述IO请求转发到所述快速缓存器以读/写数据,并向所述上层发送响应,并且仅在所述IO请求要读/写的数据尚未被缓存在所述快速缓存器中时,将所述IO请求转发到后端。10.根据权利要求1所述的方法,其中所述上层为动态随机存取存储器DRAM驱动器或者虚拟逻辑单元号LUN驱动器。11.根据权利要求1所述的方法,其中基于所确定的IO类型处理所述IO请求包括:从缓存提升策略集合中获取针对所确定的IO类型的缓存提升策略;以及基于所获取的缓存提升策略确定是否将所述IO请求要读/写的数据提升到快速缓存器。12.根据权利要求11所述的方法,其中所述缓存提升策略集合包括以下中的至少一项:对于元数据IO,在元数据第一次被访问时就将所述元数据提升到所述快速缓存器;对于用户数据IO,在用户数据被访问的次数超过第一提升阈值时将所述用户数据提升到所述快速缓存器;对于背景数据IO,在背景数据被访问的次数超过第二提升阈值时将所述背景数据提升到所述快速缓存器;对于读/写的数据量超过预定数据量阈值的IO,不将读/写的数据提升到所述快速缓存器。13.根据权利要求11所述的方法,进一步包括:通过配置文件、命令行工具、驱动器接口中的至少一种方式配置所述缓存提升策略集合。14.根据权利要求1所述的方法,其中基于所确定的IO类型处理所述IO请求包括:在响应于所述IO请求的读/写数据已经被缓存在快速缓存器中时,基于所确定的IO类型决定是否将响应于所述IO请求的读/写数据从所述快速缓存器中清除。15.根据权利要求14所述的方法,其中基于所确定的IO类型决定是否将响应于所述IO请求的读/写数据从所述快速缓存器中清除包括:从缓存清除策略集合中确定针对所确定的IO类型的缓存清除策略;以及基于所确定的缓存清除策略决定是否将响应于所述IO请求的读/写数据从所述快速缓存器中清除。16.根据权利要求15所述的方法,进一步包括:配置所述缓存清除策略集合,使得:元数据以第一概率被保留在所述快速缓存器中不被清除;用户数据以低于所述第一概率的第二概率被保留在所述快速缓存器中不被清除;背景数据以不高于所述第二概率的第三概率被保留在所述快速缓存器中不被清除。17.根据权利要求15所述的方法,进一步包括:通过配置文件、命令行工具、驱动器接口中的至少一种方式配置所述缓存清除策略集合。18.根据权利要求15所述的方法,进一步包括:通过最近最少使用LRU列表来管理所述快速缓存器中缓存的数据页,所述LRU列表的第一项列出最热的数据页,并且最后一项列出最冷的数据页,并且基于所确定的IO类型决定是否将响应于所述IO请求的读/写数据从所述快速缓存器中清除包括:如果所确定的IO类型为元数据IO,则当对应的元数据页到达所述LRU列表的最后一项的次数超过第一清除阈值,则将所述元数据页从所述快速缓存器中清除;如果所确定的IO类型为用户数据IO或者背景数据IO,则当对应的用户数据页或者背景数据页到达所述LRU列表的最后一项的次数超过第二清除阈值,则将所述用户数据页或者背景数据页从所述快速缓存器中清除;其中所述第二清除阈值小于所述第一清除阈值。19.一种在存储系统中用于输入输出IO处理的装置,包括:接收单元,被...

【专利技术属性】
技术研发人员:徐鑫磊李雄成高健杨利锋贾瑞勇
申请(专利权)人:伊姆西公司
类型:发明
国别省市:美国;US

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

1