[发明专利]顺序流检测方法与装置有效
申请号: | 202010641378.5 | 申请日: | 2016-03-23 |
公开(公告)号: | CN111625482B | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 曹定尊;路向峰;孙清涛 | 申请(专利权)人: | 北京忆恒创源科技股份有限公司 |
主分类号: | G06F13/16 | 分类号: | G06F13/16 |
代理公司: | 北京卓特专利代理事务所(普通合伙) 11572 | 代理人: | 陈变花 |
地址: | 100192 北京市海淀区西小口*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 顺序 检测 方法 装置 | ||
提供检测顺序流的方法与装置。提供的顺序流检测方法,其中缓存多个IO地址;与所缓存的多个IO地址的每个相关联地记录命中计数;所述方法包括:响应于收到第一IO命令,如果第一IO命令命中所缓存的多个IO地址之一,以所述第一IO命令的第一地址替换所命中的多个IO地址之一,递增与所述第一地址相关联的第一命中计数;若第一命中计数满足阈值,将第一IO命令标记为属于第一顺序流;若第一IO命令是写命令,将第一IO命令的数据写入同构成第一顺序流的多个写命令的数据临近的存储位置。
技术领域
本申请涉及存储系统,更具体地,涉及检测访问连续地址空间的IO命令。
背景技术
存储系统用于处理IO命令。IO命令可以被发送给存储设备(例如,磁盘、固态硬盘、U盘、光盘等)、存储服务器或存储系统(诸如云存储)。多条IO命令构成一个或多个数据流。若多条IO命令所访问的地址是连续的,则将这些IO命令构成的数据流称为顺序流。
每条IO命令携带或指示要访问的数据的地址(逻辑地址或物理地址)。每条IO命令要访问的数据的长度可以是固定长度,也可以变化。主机访问存储设备时,诸如应用程序的数据访问方可能将大块数据访问拆分成多条IO命令,并发送给存储设备。主机中还会存在多个访问存储设备的应用和/或多个操作系统(诸如,虚拟机),这导致来个多个访问方的IO命令被交织,进而使得原本对连续地址的访问变得不连续。
参看图1A,在主机中有多个应用,顺序流A由应用A产生,包括访问连续地址的A1,A2,A3,…An的多条IO命令。作为举例,顺序流A可以来自对大尺寸视频文件的复制。顺序流B由应用B产生,包括访问连续地址的B1,B2,B3,…Bn的多条IO命令。主机中的应用还产生了访问不连续地址空间的多条IO命令(由S,E,D,C所指示)。在操作系统、驱动程序、设备接口和/或总线上,多个IO命令被组织为与原来不同的顺序,并被存储设备所接收。
诸如固态硬盘的存储设备中,提供地址转换层,将IO命令的逻辑地址转换为物理地址,并按照物理地址将访问存储介质。参看图1B,存储设备以A1、B1、C、B2的顺序接收到IO命令。
存储设备按照接收IO命令的顺序,将IO命令(以写命令为例)访问的数据写入到存储介质中。诸如闪存的存储介质以页为单元写入数据。在存储设备中还可采用预定尺寸的数据块作为写入数据的单元(例如,由多个页组成的集合)。写入数据的单元一般具有较大的尺寸,能够容纳多条IO命令所写入的数据。在图1B的例子中,IO命令A1、B1、C、B2对应的数据被写入到同一个数据块中,并且该数据块中的数据来自连续的多个IO命令。而原本在顺序流中发出的多个IO命令(诸如IO命令A1,A2,A3,…An,B1,B2,B3,…Bn)所对应的数据将被分散在不同的数据块上。
发明内容
然在一些情况下,属于同一个顺序流的数据具有相同或相似的生命周期,即这些数据会同时被更新或作废。参看图1B,若数据流A已经作废或被更新,而数据流B、C还保持有效时,数据块中对应A1的部分无效,而数据块的其他部分还有效,那么在因各种原因需要回收该数据块时,需要对除对应于A1的数据之外的数据进行搬移,这会引入写放大。写放大导致增加的读写操作,增加了系统开销,也消耗了存储介质的使用寿命。
在本申请中,对数据流进行顺序性检查,将连续的数据流(顺序流)提取出来,并写入到存储设备的连续的物理空间。
根据本申请的第一方面,提供了根据本申请第一方面的第一顺序流检测方法,其中缓存多个IO地址;与所缓存的多个IO地址的每个相关联地记录命中计数;所述方法包括:响应于收到第一IO命令,如果第一IO命令的第一地址命中所缓存的多个IO地址之一,以所述第一地址替换所命中的多个IO地址之一,递增与所述第一地址相关联的第一命中计数;若第一命中计数满足阈值,将第一IO命令标记为属于第一顺序流。
根据本申请的第一方面的第一顺序流检测方法,提供了根据本申请第一方面的第二顺序流检测方法,其中,所述多个IO地址是最近收到的多个IO命令的地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京忆恒创源科技股份有限公司,未经北京忆恒创源科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010641378.5/2.html,转载请声明来源钻瓜专利网。