CN107885673A - 一种i/o请求处理方法及设备 - Google Patents

一种i/o请求处理方法及设备 Download PDF

Info

Publication number
CN107885673A
CN107885673A CN201610872160.4A CN201610872160A CN107885673A CN 107885673 A CN107885673 A CN 107885673A CN 201610872160 A CN201610872160 A CN 201610872160A CN 107885673 A CN107885673 A CN 107885673A
Authority
CN
China
Prior art keywords
memory
phy
type
devtype
requests
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610872160.4A
Other languages
English (en)
Inventor
胡瑜
魏旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610872160.4A priority Critical patent/CN107885673A/zh
Publication of CN107885673A publication Critical patent/CN107885673A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0028Serial attached SCSI [SAS]

Abstract

提供一种输入输出I/O请求处理方法,所述方法应用于存储系统中。所述存储系统包括控制器和至少一个存储器,所述至少一个存储器通过端口与所述控制器进行连接,所述端口包括多个物理层通道PHY。所述方法包括:接收I/O请求,所述I/O请求中携带有所述I/O请求的地址信息;根据所述I/O请求的地址信息确定所述I/O请求所访问的存储器的类型;根据所述存储器的类型确定传输所述IO请求的PHY,每种类型的存储器设置有至少一个PHY;通过选择的所述PHY将所述I/O发送给所述存储器。

Description

一种I/O请求处理方法及设备
技术领域
本发明涉及储存技术领域,尤其涉及一种I/O请求处理方法及设备。
背景技术
串行连接小型计算机系统接口(Serial Attached SCSI,SAS)标准是使用SAS串行连接通讯的小型计算机系统接口(Small Computer Systems Interface,SCSI)设备之间交换信息的方式。在基于SAS标准的存储系统中,出于提高带宽利用率的考虑,根据各物理通道(Physical Layer,PHY)的忙碌程度,选择空闲的PHY传输I/O,使得大量的PHY处于忙碌的状态,从而提高了带宽利用率。
但上述技术至少存在如下技术问题:
单纯根据各PHY的忙碌程度为I/O分配PHY,这样虽然提高了带宽利用率,但在IO访问不同类型的存储设备时,由于不同类型的存储设备对IO的响应时间不同,例如,固态存储设备(Solid Static Storage,SSD)对IO的响应时间会短一些,而机械硬盘(Hard DiskDrive,HDD)对IO的响应时间会长一些,而根据PHY的忙闲程度为IO选择PHY时,在同一PHY中,访问响应时间快的存储设备的IO需要等到响应时间慢的存储设备的IO执行完成之后,才能执行,造成存储系统的每秒处理I/O的数量(I/O per second,I/OPS)较低。
发明内容
本发明提供一种I/O请求处理方法及设备,可以根据I/O请求所访问存储器的类型选择传输所述I/O请求的PHY。
本发明第一方面提供一种输入输出I/O请求处理方法。所述方法应用于存储系统中。所述存储系统包括控制器和至少两个不同类型的存储器,所述至少一个存储器通过端口与所述控制器进行连接,所述端口包括多个物理层通道PHY,所述方法由所述控制器执行。在所述控制器接收I/O请求时,根据所述I/O请求中携带的地址信息确定所述I/O请求所访问的存储器的类型,然后根据所述存储器的类型选择传输所述IO请求的PHY,其中,每种类型的存储器设置有至少一个PHY,最后通过选择的所述PHY将所述I/O发送给所述存储器。
通过为每种类型的存储器设置不同的PHY,使访问不同类型存储器的IO请求可以通过不同的PHY来传输,即使访问响应快的存储器的I/O请求不必等到访问响应慢的存储器的I/O请求处理完成后才被处理,从而提高了存储器整体的I/OPS性能。
在本发明第一方面的第一种可能的实现的方式中,在根据存储器的类型确定传输所述IO请求的PHY时,如果所确定的存储器的类型对应的PHY的数量大于1时,则所述控制器根据所述存储器的类型对应的PHY的忙闲程度选择传输所述I/O请求的PHY。
如此,在一种类型的存储器对应多个PHY时,则可以进一步根据所述多个PHY的忙闲程度选择传输I/O请求的PHY。如此,可进一步提高存储阵列的IOPS。
在第一方面的第二种可能的实现的方式中,为每种类型的存储器设置的至少一个PHY的数量是固定不变的。
在第一方面的第三种可能的实现的方式中,所述为每种类型的存储器所设置的至少一个PHY是周期性设置的,在当前统计周期结束时,设置当前周期的下一个周期每种类型存储器对应的PHY,设置方法包括:在当前统计周期内,统计访问每种类型存储器的I/O请求的数量;在当前统计周期结束时,根据所统计的访问每种类型存储器的I/O请求的数量为每种类型存储器在当前统计周期的下一个统计周期设置所述至少一个PHY。
如此,可以每隔一个周期,根据上个周期每种类型的SSD处理的IO请求的数量,及存储器的本身的性能重新设置每种类型的存储器对应的PHY的数量,从而提升了为每种类型的存储器设置的PHY的准确率,进一步提高了存储系统的IOPS。
在第一方面的第四种实现方式中,所述根据所统计的访问每种类型存储器的I/O请求的数量为每种类型存储器在当前统计周期的下一个统计周期设置所述至少一个PHY,具体包括:
在当前统计周期内,统计访问每种类型存储器的I/O请求的数量,即IOCnt(DevType);
根据所统计的访问每种类型存储器的I/O请求的数量及每种类型的存储器的影响因子(a(DevType))计算每种类型存储器在分配PHY的时候所占的比例Per(DevType)=IOCnt(DevType)*a(DevType)/Sum(IOCnt(DevType)*a(DevType)),其中Sum(IOCnt(DevType)*a(DevType))表示每种类型存储器的I/O请求的数量乘以每种类型的存储器的影响因子后将得到的每种类型的存储器的计算结果相加;
根据每种类型存储器在分配PHY的时候所占的比例Per(DevType)及存储器的总的PHY的数量PHY(sum),确定为每种类型的存储器设置的至少一个PHY的数量:PHY(DevType)=Per(DevType)×PHY(sum)。
通过上述算法可以对每种类型的存储器对应的PHY的数量根据上个周期内的IO请求的分布情况作动态调整。
本发明第二方面提供一种I/O处理设备,所述I/O处理设备包括接收模块、选择模块、及传输模块。所述接收模块用于接收I/O请求,所述I/O请求中携带有所述I/O请求的地址信息。所述选择模块用于根据所述I/O请求的地址信息确定所述I/O请求所访问的存储器的类型,并根据所确定的存储器的类型选择传输所述I/O请求的PHY,其中,每种类型的存储器设置有至少一个PHY。所述传输模块用于通过所选择的所述PHY发送所述I/O请求至存储器。
通过为每种类型的存储器设置不同的PHY,使访问不同类型存储器的IO请求可以通过不同的PHY来传输,即使访问响应快的存储器的I/O请求不必等到访问响应慢的存储器的I/O请求处理完成后才被处理,从而提高了存储器整体的I/OPS性能。
在第二方面的第一种可能的实现方式中,在根据所确定的存储器的类型选择传输所述I/O请求的PHY时,所述选择模块在所确定的存储器的类型对应的PHY的数量大于1时,则根据所存储器的类型对应的PHY的忙闲程度选择传输所述I/O请求的PHY。
如此,在一种类型的存储器对应多个PHY时,则可以进一步根据所述多个PHY的忙闲程度选择传输I/O请求的PHY。如此,可进一步提高存储阵列的IOPS。
在第一方面的第二种可能的实现的方式中,所述处理设备还包括设置模块,所述设置模块用于为所述每种类型的存储器设置至少一个PHY。
在第一方面的第三种可能的实现的方式中,所述设置模块具体用于在当前统计周期内,统计访问每种类型存储器的I/O请求的数量;在当前统计周期结束时,根据所统计的访问每种类型存储器的I/O请求的数量为每种类型存储器在当前统计周期的下一个统计周期设置所述至少一个PHY。
如此,可以每隔一个周期,根据上个周期每种类型的SSD处理的IO请求的数量,及存储器的本身的性能重新设置每种类型的存储器对应的PHY的数量,从而提升了为每种类型的存储器设置的PHY的准确率,进一步提高了存储系统的IOPS。
通过上述算法可以对每种类型的存储器对应的PHY的数量根据上个周期内的IO请求的分布情况作动态调整。
在第一方面的第四种实现方式中,所述设置模块在根据所统计的访问每种类型存储器的I/O请求的数量为当前统计周期的下一个统计周期的每种类型存储器设置所述至少一个PHY时,具体用于:在当前统计周期内,统计访问每种类型存储器的I/O请求的数量,即IOCnt(DevType);
根据所统计的访问每种类型存储器的I/O请求的数量及每种类型的存储器的影响因子(a(DevType))计算每种类型存储器在分配PHY的时候所占的比例Per(DevType)=IOCnt(DevType)*a(DevType)/Sum(IOCnt(DevType)*a(DevType)),其中Sum(IOCnt(DevType)*a(DevType))表示每种类型存储器的I/O请求的数量乘以每种类型的存储器的影响因子后将得到的每种类型的存储器的计算结果相加;
根据每种类型存储器在分配PHY的时候所占的比例Per(DevType)及存储器的总的PHY的数量PHY(sum),确定为每种类型的存储器设置的至少一个PHY的数量:PHY(DevType)=Per(DevType)×PHY(sum)。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例所提供的存储设备的结构示意图;
图2为本发明实施例中I/O请求处理方法的示意图;
图3为本发明实施例中通过图2所示的I/O请求处理方法进行I/O传输的示意图;
图4为每种类型存储器动态设置PHY的方法的流程图。
图5为本发明第二实施例所提供的存储系统的结构示意图。
图6为本发明实施例提供的I/O请求处理设备的模块图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
如图1所示,为本发明第一实施例提供的存储设备100的结构图。所述存储设备100包括控制器101、总线102、至少两种类型的存储器,例如SSD103及HDD107(下面以这两种类型的存储器为例进行说明)、SAS端口104及内存105。SAS端口104及内存105通过总线102连接至控制器101,所述内存105中存储有供控制器101执行的程序,所述控制器101通过执行所述内存105中的相关程序以实现相应的功能。所述SSD103及HDD107连接至所述SAS端口104,所述SAS端口104包括多个PHY106。控制器101能够通过这些PHY106与访问SSD103及HDD107。例如,该存储设备100中的SAS端口104共包括16个PHY(具体表示为:PHY0~PHY15、且控制器101能够通过这16个PHY中的每个PHY向SSD102及HDD107下发I/O。
所述控制器101执行内存105中的一段程序,以执行图2所示的I/O请求的处理方法,实现对I/O请求的下发。在图2所示的方法中,所述控制器101可以根据I/O请求所访问的存储器的类型选择下发I/O的PHY,具体实现方法请参考图2。
如图2所示,所述对I/O请求处理的方法包括:
步骤S11:所述控制器101接收I/O请求,所述I/O请求中包括I/O地址。
步骤S12:所述控制器根据I/O请求确定所述I/O请求所访问的存储器的类型。所述存储器的类型根据所述I/O地址确定,具体为,所述I/O地址为逻辑地址,所述控制器获取所述I/O请求中的I/O的逻辑地址,根据内存105中存储的逻辑地址与物理地址映射表确定所述逻辑地址对应的物理地址,根据所述物理地址所在存储器即可确定所述I/O请求所访问的存储器的类型。
步骤S13:所述控制器101根据所述存储器的类型确定传输所述IO请求的PHY。其中,在所述内存105中设置有每种类型的存储器对应的至少一个PHY,每种类型的存储器所设置的PHY可以是固定不变的,例如,可以为每种类型的存储器设置两个PHY。也可以为每种类型的存储设备动态设置的PHY,为每种类型的存储器动态设置的PHY的方法具体请参考图4的描述。每种类型存储器所设置的PHY存储在内存105中,则在I/O请求所访问的存储设备的类型确定之后,即可确定出该类型的存储设备对应的PHY。在所述存储器的类型只对应一个PHY时,则直接确定该PHY为传输所述I/O的PHY。在所述存储器的类型对应多个PHY时,则可根据多个PHY的忙闲程度选择传输所述I/O的PHY。
步骤S14:所述控制器101通过选择的所述PHY将所述I/O发送给所述存储器103。例如,如图1所示,若所确定的存储器的类型为SSD,则可以选择PHY0为传输所述I/O请求的PHY,并通过PHY0将I/O请求发送给SSD103。
这样,如图3所述,通过将为每种类型的存储器设置不同的PHY,例如当I/O请求所访问的存储器为SSD时,则可通过PHY0和PHY1来传输所述I/O请求,当I/O请求所访问的存储器为HDD时,则可通过PHY14及PHY15来传输所述IO请求,即访问不同类型的存储器的IO请求可以通过不同的PHY来传输,即使访问SSD的I/O请求通过为SSD设置的PHY来传输,使访问HDD的I/O请求通过为HDD设置的PHY来传输。这样,可以使访问响应快的存储器的I/O请求不必等到访问响应慢的存储器的I/O请求执行完成后再被执行,从而提高了存储器整体的I/OPS性能。
如图4所示,为为每种类型的存储器动态设置PHY的方法的流程图。
步骤S41,在当前统计周期内,统计访问每种类型存储器的I/O请求的数量,即IOCnt(DevType)。
步骤S42,根据所统计的访问每种类型存储器的I/O请求的数量及每种类型的存储器的影响因子(a(DevType))计算每种类型存储器在分配PHY的时候所占的比例Per(DevType),具体计算公式如下:
Per(DevType)=IOCnt(DevType)*a(DevType)/Sum(IOCnt(DevType)*a(DevType))。
其中Sum(IOCnt(DevType)*a(DevType))表示每种类型存储器的I/O请求的数量乘以每种类型的存储器的影响因子后将得到的每种类型的存储器的计算结果相加,即得到所有类型的存储器的计算结果之和。
如此,可引入每种类型的存储器的影响因子及访问每种类型存储设备的IO数量来计算为每种类型存储设别分配PHY的数量的比例。
所述影响因子a(DevType)的确定方式为:选定几个典型的IO大小(如4KB,16KB,64KB,128KB,256KB等),确定每种类型存储器对所选定的几个典型IO大小的在预设时间内的最大IOPS,用每种类型存储器的最大IOPS(即IOPS(DevType))除以所有类型的存储器的最大IOPS之和(即SUM(IOPS(DevType))),即可得到每种类型存储器的影响因子a(DevType),具体公式为:
a(DevType)=IOPS(DevType)/Sum(IOPS(DevType))。
例如,存储阵列中存在SSD,SAS HDD,SATA HDD三种类型的存储器,那么SSD的影响因子就是典型IO大小的IO请求在SSD的单盘IOPS除以典型IO大小的IO请求在三种类型存储器的单盘IOPS之和得到的。
步骤S42,根据每种类型存储器在分配PHY的时候所占的比例Per(DevType)及存储器的总的PHY的数量PHY(sum),确定为每种类型的存储器设置的至少一个PHY的数量:
PHY(DevType)=Per(DevType)×PHY(sum)。
在给每种类型的存储器分配PHY的时候,在所确定的每种类型的存储器的PHY的数量不是整数时,则可根据所述PHY的数量中的整数部分与小数部分的情况确定分配给每种类型的存储器的PHY,具体如下:
若所述整数部分为非零值,且小数部分小于第一设定的值,则为每种类型存储器分配整数个PHY,例如,若SSD的PHY的数量为3.09,所述第一设定值是0.1,则给所述SSD分配3个PHY。
若所述整数部分为非零值,且小数部分大于第二设定值,则为所述SSD分配整数部分再加一个PHY,例如,若计算得到为SSD分配的PHY的数量为1.91,第二设定值是0.9,则给所述SSD分配2个PHY。
若所述整数部分为非零值,且小数部分为大于等于第一设定值,小于等于第二设定值,且其他类型的存储器计算得到的PHY的数量中也存在大于等于第一设定值,小于等于第二设定值的小数值时,则可根据实际情况与其他类型的存储器共用一个PHY,例如,计算得到SSD的PHY的数量为1.4,SAS HDD的PHY的数量为1.5时,则可给SSD及及SAS HDD分配一个共用的PHY。
如图5所示,为本发明的第二实施例中提供的存储系统200的结构图,所述存储系统200包括控制设备201及连接至所述控制设备201的至少一个存储设备202,所述控制设备201包括处理器203、总线204、SAS端口205及内存206。所述SAS端口205及内存206通过总线204连接至处理器203。所述内存206中存储有供处理器203执行的程序,所述处理器203通过执行所述内存206中的相关程序以实现相应的功能。所述至少一个存储设备202通过所述SAS端口205连接至所述控制设备201。所述SAS端口205包括多个PHY207。控制设备201能够通过这些PHY207与每个存储设备202进行通信。例如,该SAS端口205共包括16个PHY(具体表示为:PHY0~PHY15、且控制器101能够通过这16个PHY中的每个PHY向每个存储设备103下发I/O。
所述处理器203运行内存206中存储的程序以执行I/O请求处理方法,实现对I/O请求的下发。本实施例中的I/O请求处理方法与第一实施例中的IO请求处理方法基本相同,不同点仅在于本实施例中控制设备201及存储设备,例如SSD设备或者HDD设备为独立的设备,所以在本实施例中的所述I/O请求处理方法的执行主体为处理器203,IO请求的下发对象为存储设备,例如SSD设备202及HDD设备208。
如图6所示,为一种I/O请求处理设备50的模块图,所述I/O请求处理设备50可以是图1所示的存储设备100,也可以是图5所示的控制设备201。所述I/O请求处理设备50包括:接收模块51、选择模块52、传输模块53、及设置模块54。
所述接收模块51用于接收I/O请求,所述I/O请求中包括I/O地址,所述接收模块51所执行的功能与图3中的步骤S11对应。
所述选择模块52根据所述I/O请求确定所述I/O请求所访问的存储设备的类型,并根据所确定的存储设备的类型选择传输所述I/O请求的PHY。每种类型的存储设备设置有至少一个PHY。所述选择模块52所执行的功能与图3中的步骤S12及S13对应。
所述设置模块54用于为每种类型的存储设备设置至少一个PHY,每种类型的存储设备所设置的PHY可以是固定不变的,例如,可以为上述每种类型的存储器设置两个PHY。
可替换地,所述设置模块54也可以为每种类型的存储设备动态设置的PHY,所述设置模块54为每种类型存储器动态设置PHY的方法具体请参考图4的描述。
所述选择模块52在每种类型的存储器对应的PHY中选择传输所述I/O的PHY时,在所述每种类型存储器只对应一个PHY时,则直接确定该PHY为传输所述I/O的PHY,在所述每种类型存储器对应多个PHY时,则可根据多个PHY的忙闲程度选择传输所述I/O的PHY。
所述传输模块53用于通过所选择的所述PHY发送所述I/O请求至目标设备。
这样,如图3所述,通过为每种类型的存储设备设置不同的PHY,例如访问SSD的IO请求通过PHY0和PHY1来传输,访问SAS HDD的IO请求通过通过PHY14及PHY15传输,即访问不同类型存储设备的IO请求可以通过不同的PHY来传输,使访问响应快的存储设备的I/O请求不必等到访问响应慢的存储设备的I/O请求处理完成后才被处理,从而提高了存储设备整体的I/OPS性能。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制。本申请所提供的实施例仅是示意性的。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本发明实施例、权利要求以及附图中揭示的特征可以独立存在也可以组合存在。

Claims (10)

1.一种输入输出I/O请求处理方法,所述方法应用于存储系统中,其特征在于,所述存储系统包括控制器和至少两个不同类型的存储器,其中,所述至少一个存储器通过端口与所述控制器进行连接,所述端口包括多个物理层通道PHY,所述方法由所述控制器执行,所述方法包括:
接收I/O请求,所述I/O请求中携带有所述I/O请求的地址信息;
根据所述I/O请求的地址信息确定所述I/O请求所访问的存储器的类型;
根据所述存储器的类型选择传输所述IO请求的PHY,其中,每种类型的存储设备设置有至少一个PHY;
通过选择的所述PHY将所述I/O发送给所述存储器。
2.如权利要求1所述的方法,其特征在于,所述根据存储器的类型确定传输所述IO请求的PHY包括:
在所确定的存储器的类型对应的PHY的数量大于1时,则根据所述存储器的类型对应的PHY的忙闲程度选择传输所述I/O请求的PHY。
3.如权利要求1所述的方法,其特征在于,为每种类型的存储器设置的至少一个PHY的数量是固定不变的。
4.如权利要求1所述的方法,其特征在于,所述为每种类型的存储器所设置的至少一个PHY是周期性设置的,在当前统计周期结束时,设置当前周期的下一个周期每种类型存储器对应的PHY,设置方法包括:
在当前统计周期内,统计访问每种类型存储器的I/O请求的数量;
在当前统计周期结束时,根据所统计的访问每种类型存储器的I/O请求的数量为每种类型存储器在当前统计周期的下一个统计周期设置所述至少一个PHY。
5.如权利要求4所述的方法,其特征在于,所述根据所统计的访问每种类型存储器的I/O请求的数量为每种类型存储器在当前统计周期的下一个统计周期设置所述至少一个PHY,具体包括:
在当前统计周期内,统计访问每种类型存储器的I/O请求的数量,即IOCnt(DevType);
根据所统计的访问每种类型存储器的I/O请求的数量及每种类型的存储器的影响因子(a(DevType))计算每种类型存储器在分配PHY的时候所占的比例Per(DevType)=IOCnt(DevType)*a(DevType)/Sum(IOCnt(DevType)*a(DevType)),其中Sum(IOCnt(DevType)*a(DevType))表示每种类型存储器的I/O请求的数量乘以每种类型的存储器的影响因子后将得到的每种类型的存储器的计算结果相加;
根据每种类型存储器在分配PHY的时候所占的比例Per(DevType)及存储器的总的PHY的数量PHY(sum),确定为每种类型的存储器设置的至少一个PHY的数量:PHY(DevType)=Per(DevType)×PHY(sum)。
6.一种I/O请求处理设备,包括:
接收模块,用于接收I/O请求,所述I/O请求中携带有所述I/O请求的地址信息;
选择模块,用于根据所述I/O请求的地址信息确定所述I/O请求所访问的存储器的类型,并根据所确定的存储器的类型选择传输所述I/O请求的PHY,其中,每种类型的存储器设置有至少一个PHY;
传输模块,用于通过所选择的所述PHY发送所述I/O请求至存储器。
7.如权利要求6所述的处理设备,其特征在于,所述选择模块在根据所确定的存储器的类型选择传输所述I/O请求的PHY时,具体用于:
在所确定的存储器的类型对应的PHY的数量大于1时,则根据所存储器的类型对应的PHY的忙闲程度选择传输所述I/O请求的PHY。
8.如权利要求6所述的处理设备,其特征在于,还包括设置模块,所述设置模块用于为所述每种类型的存储器设置至少一个PHY。
9.如权利要求8所述的处理设备,其特征在于,所述设置模块具体用于:
在当前统计周期内,统计访问每种类型存储器的I/O请求的数量;
在当前统计周期结束时,根据所统计的访问每种类型存储器的I/O请求的数量为每种类型存储器在当前统计周期的下一个统计周期设置所述至少一个PHY。
10.如权利要求9所述的处理设备,其特征在于,所述设置模块在根据所统计的访问每种类型存储器的I/O请求的数量为当前统计周期的下一个统计周期的每种类型存储器设置所述至少一个PHY时,具体用于:
在当前统计周期内,统计访问每种类型存储器的I/O请求的数量,即IOCnt(DevType);
根据所统计的访问每种类型存储器的I/O请求的数量及每种类型的存储器的影响因子(a(DevType))计算每种类型存储器在分配PHY的时候所占的比例Per(DevType)=IOCnt(DevType)*a(DevType)/Sum(IOCnt(DevType)*a(DevType)),其中Sum(IOCnt(DevType)*a(DevType))表示每种类型存储器的I/O请求的数量乘以每种类型的存储器的影响因子后将得到的每种类型的存储器的计算结果相加;
根据每种类型存储器在分配PHY的时候所占的比例Per(DevType)及存储器的总的PHY的数量PHY(sum),确定为每种类型的存储器设置的至少一个PHY的数量:PHY(DevType)=Per(DevType)×PHY(sum)。
CN201610872160.4A 2016-09-29 2016-09-29 一种i/o请求处理方法及设备 Pending CN107885673A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610872160.4A CN107885673A (zh) 2016-09-29 2016-09-29 一种i/o请求处理方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610872160.4A CN107885673A (zh) 2016-09-29 2016-09-29 一种i/o请求处理方法及设备

Publications (1)

Publication Number Publication Date
CN107885673A true CN107885673A (zh) 2018-04-06

Family

ID=61769591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610872160.4A Pending CN107885673A (zh) 2016-09-29 2016-09-29 一种i/o请求处理方法及设备

Country Status (1)

Country Link
CN (1) CN107885673A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111913650A (zh) * 2019-05-09 2020-11-10 深圳大普微电子科技有限公司 一种确定预测窗口期的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042632A (zh) * 2006-03-20 2007-09-26 株式会社日立制作所 控制物理链接分配的计算机系统及方法
US20140040291A1 (en) * 2012-07-31 2014-02-06 Michael G. Myrah Primitive group data encoding in a data storage fabric
CN103676866A (zh) * 2013-12-06 2014-03-26 苏州朗捷通智能科技有限公司 嵌入式网络化多元输入输出系统
CN104111805A (zh) * 2014-07-15 2014-10-22 华为技术有限公司 一种i/o请求处理方法及存储系统
CN104731746A (zh) * 2013-12-20 2015-06-24 上海华虹集成电路有限责任公司 设备控制器装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042632A (zh) * 2006-03-20 2007-09-26 株式会社日立制作所 控制物理链接分配的计算机系统及方法
US20140040291A1 (en) * 2012-07-31 2014-02-06 Michael G. Myrah Primitive group data encoding in a data storage fabric
CN103676866A (zh) * 2013-12-06 2014-03-26 苏州朗捷通智能科技有限公司 嵌入式网络化多元输入输出系统
CN104731746A (zh) * 2013-12-20 2015-06-24 上海华虹集成电路有限责任公司 设备控制器装置
CN104111805A (zh) * 2014-07-15 2014-10-22 华为技术有限公司 一种i/o请求处理方法及存储系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111913650A (zh) * 2019-05-09 2020-11-10 深圳大普微电子科技有限公司 一种确定预测窗口期的方法及装置

Similar Documents

Publication Publication Date Title
US11073999B2 (en) Extent migration in multi-tier storage systems
US11221975B2 (en) Management of shared resources in a software-defined storage environment
AU2015229200B2 (en) Coordinated admission control for network-accessible block storage
US8285961B2 (en) Dynamic performance virtualization for disk access
CN104111805B (zh) 一种i/o请求处理方法及存储系统
US20050071596A1 (en) Method, apparatus and program storage device for providing automatic performance optimization of virtualized storage allocation within a network of storage elements
US11003359B2 (en) Method and device for managing disk pool
US10552056B2 (en) Data storage system tiering accounting for limited write endurance
US11132131B2 (en) Consistently enforcing I/O resource constraints for workloads on parallel-access storage devices
US9992076B2 (en) Dynamic cache allocating techniques for cloud computing systems
US10250673B1 (en) Storage workload management using redirected messages
CN105511964B (zh) I/o请求的处理方法和装置
CN105227489A (zh) 一种带宽管理方法及电子设备
CN102685219B (zh) San存储系统中通过动态扩容提高存储资源利用率的方法
CN108092915A (zh) 一种用户服务质量流量控制方法及装置
US10574584B1 (en) Controlling network device capacity
US10635332B2 (en) Managing data storage arrays on behalf of host computers via specialized LUN-related queries
CN107885673A (zh) 一种i/o请求处理方法及设备
CN109831391B (zh) 分布式存储系统中流控的方法、存储设备和系统
CN101202741B (zh) 动态调整任务请求数的方法
US20170269864A1 (en) Storage Array Operation Method and Apparatus
CN107688546A (zh) 一种i/o请求处理方法及设备
CN107608914B (zh) 一种多路存储设备的访问方法、装置及移动终端
WO2017215249A1 (zh) 分配网际协议ip磁盘的方法及装置
US20230222094A1 (en) Dynamic snapshot scheduling using storage system metrics

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180406

RJ01 Rejection of invention patent application after publication