System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及存储,尤其涉及一种读写混合场景下读优化的方法及存储设备。
技术介绍
1、存储设备qos(quality-of service,服务质量)旨在确保在混合读写操作频繁交换的动态环境中,无论是读请求还是写请求,都能得到一致的响应时间和iops(input/output operations per second,每秒的读写次数)性能。但是,存储设备在读写混合测试时,读写操作是混合在一起的,其中,写操作步骤较多,在存储设备固件中处理耗时较长,读操作比较简单,在存储设备固件中处理耗时短。同时,由于存储设备固件里的写资源是有限的,在读写混合压力较大时,写操作耗时长,从而就会导致写资源容易被写操作完全占用,进而导致存储设备固件停止从主机端接收新的读写命令。直到有一个写操作完成,释放了部分被占用的写资源,存储设备固件才能从主机端接收新的读写命令,因此读操作的延时受限于写操作的延时,从而增加了读操作在主机端的等待时间,出现延时“长尾效应”。
2、因此,如何减少读写io混合场景下写操作对读操作的影响,从而降低读操作的等待时间,优化读操作延时,是本领域技术人员目前亟需解决的技术问题。
技术实现思路
1、本申请提供了一种读写混合场景下读优化的方法及存储设备,以减少写操作的处理时间对读操作的影响,从而降低读操作的等待时间,优化读操作延时。
2、为解决上述技术问题,本申请提供如下技术方案:
3、第一方面,本申请提供一种读写混合场景下io命令的处理方法,包括如下步骤
4、如上所述的读写混合场景下io命令的处理方法,其中,优选的是,步骤s240还包括:响应于有足够被用于处理该写命令的空闲的写片内缓存,从主机获取该写命令,并为该写命令分配相应大小的写片内缓存,以处理该写命令;或者,响应于写片内缓存被释放,如果空闲的写片内缓存足够用于处理该写命令,从写等待处理资源池中获取该写命令,并为该写命令分配相应大小的写片内缓存,以处理该写命令。
5、如上所述的读写混合场景下io命令的处理方法,其中,优选的是,还包括如下步骤:步骤s250、若io命令是读命令,则检查是否有空闲的读片内缓存足够被用于处理该读命令;步骤s260、响应于没有足够被用于处理该读命令的空闲的读片内缓存,则停止接收io命令;步骤s270、响应于有足够被用于处理该读命令的空闲的读片内缓存,则处理该读命令。
6、如上所述的读写混合场景下io命令的处理方法,其中,优选的是,步骤s270还包括:响应于有足够的空闲的读片内缓存被用于处理该写命令,为从主机获取的该读命令分配相应的读片内缓存,以处理该读命令;或者,响应于读片内缓存被释放,如果空闲的读片内缓存足够用于处理该读命令,则从主机中获取该读命令,并为该读命令分配相应的读片内缓存,以处理该读命令。
7、第二方面,本申请还提供一种读写混合场景下io命令的处理方法,包括如下步骤:步骤s302、判断接收到的io命令是否是写命令;步骤s304、若io命令是写命令,则检查写等待处理资源池是否为空;步骤s306、响应于写等待处理资源池不为空,将该写命令存入写等待处理资源池,继续接收新的io命令;步骤s308、响应于写等待处理资源池为空,检查是否有空闲的写片内缓存足够被用于处理该写命令;步骤s310、响应于没有足够被用于处理该写命令的空闲的写片内缓存,将该写命令存入写等待处理资源池,继续接收新的io命令;步骤s312、响应于有足够被用于处理该写命令的空闲的写片内缓存,为该写命令申请相应的空闲的写片内缓存,以处理该写命令。
8、如上所述的读写混合场景下io命令的处理方法,其中,优选的是,步骤s312还包括:响应于有足够被用于处理该写命令的空闲的写片内缓存,从主机处获取该写命令,并为该写命令分配相应大小的写片内缓存,以处理该写命令;或者,响应于写片内缓存被释放,若果闲的写片内缓存足够用于处理该写命令,则从写等待处理资源池中获取该写命令,并为该写命令分配相应大小的写片内缓存,以处理该写命令。
9、如上所述的读写混合场景下io命令的处理方法,其中,优选的是,还包括如下步骤:步骤s322、检查写等待处理资源池是否为空;步骤s324、响应于写等待处理资源池不为空,检查是否有空闲的写片内缓存足够被用于处理写等待处理资源池中的写命令;步骤s326、响应于有足够被用于处理该写命令的空闲的写片内缓存,从写等待处理资源池中获取该写命令,并为该写命令分配相应大小的写片内缓存,以处理该写命令。
10、如上所述的读写混合场景下io命令的处理方法,其中,优选的是,还包括如下步骤:步骤s328、若io命令是读命令,则检查是否有空闲的读片内缓存足够被用于处理该读命令;步骤s330、响应于没有足够被用于处理该读命令的空闲的读片内缓存,停止接收io命令;步骤s332、响应于有足够被用于处理该读命令的空闲的读片内缓存,为该读命令申请相应的空闲的读片内缓存,以处理该读命令。
11、第三方面,本申请还提供一种存储设备,包括:dram、nvm芯片和控制部件;控制部件执行上述任一项所述的读写混合场景下io命令的处理方法。
12、如上所述的存储设备,其中,优选的是,控制部件包括:前端模块和后端模块;其中前端模块,包括:数据管理模块;后端模块,包括:调度管理模块和闪存通道控制器模块;其中,数据管理模块提供读/写片内缓存,并负责解码并处理主机读/写命令得到闪存读/写命令,并向调度管理模块发送闪存读/写命令,调度管理模块接收闪存读/写命令,并将闪存读/写命令发送给闪存通道控制器模块,闪存通道控制器模块对闪存读/写命令进行优先级调度,并根据优先级进行处理。
本文档来自技高网...【技术保护点】
1.一种读写混合场景下IO命令的处理方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的读写混合场景下IO命令的处理方法,其特征在于,步骤S240还包括:
3.根据权利要求1或2所述的读写混合场景下IO命令的处理方法,其特征在于,还包括如下步骤:
4.根据权利要求3所述的读写混合场景下IO命令的处理方法,其特征在于,步骤S270还包括:
5.一种读写混合场景下IO命令的处理方法,其特征在于,包括如下步骤:
6.根据权利要求5所述的读写混合场景下IO命令的处理方法,其特征在于,步骤S312还包括:
7.根据权利要求5或6所述的读写混合场景下IO命令的处理方法,其特征在于,还包括如下步骤:
8.根据权利要求5或6所述的读写混合场景下IO命令的处理方法,其特征在于,还包括如下步骤:
9.一种存储设备,包括:DRAM、NVM芯片和控制部件;其特征在于,控制部件执行上述权利要求1至8任一项所述的读写混合场景下IO命令的处理方法。
10.根据权利要求9所述的存储设备,其特征在于,
...【技术特征摘要】
1.一种读写混合场景下io命令的处理方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的读写混合场景下io命令的处理方法,其特征在于,步骤s240还包括:
3.根据权利要求1或2所述的读写混合场景下io命令的处理方法,其特征在于,还包括如下步骤:
4.根据权利要求3所述的读写混合场景下io命令的处理方法,其特征在于,步骤s270还包括:
5.一种读写混合场景下io命令的处理方法,其特征在于,包括如下步骤:
6.根据权利要求5所述的读写混合场景下io命令的处理方法,其特征在于,步骤s3...
【专利技术属性】
技术研发人员:许海苹,蔡述楠,孙清涛,
申请(专利权)人:北京忆恒创源科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。