一种RAID阵列硬盘的IO延时监测方法、装置及介质转让专利

申请号 : CN202310987245.7

文献号 : CN116700633B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 舒凯董铭钦王新宇

申请人 : 成都领目科技有限公司

摘要 :

本发明提供了一种RAID阵列硬盘的IO延时监测方法、装置及介质,涉及RAID阵列硬盘相关技术领域,包括:S1:在预设时间段内,FPGA芯片内部的监控模块接收到RAID并行控制模块向RAID阵列硬盘并行发送的读写请求,记录该读写请求的请求时间点,并向对应的RAID阵列硬盘发送读写请求;S2:在预设时间段内,FPGA芯片内部的监控模块接收到固态硬盘对于该读写请求的响应,记录该响应的响应时间点,一个读写请求对应一个请求时间点、一个响应时间点;S3:FPGA芯片内部的监控模块根据各自已存储的请求时间点与响应时间点,获得固态硬盘的n个IO延时平均值,并将IO延时平均值通过传输模块发送至MCU微处理器。

权利要求 :

1.一种RAID阵列硬盘的IO延时监测方法,其特征在于,所述方法具体包括以下步骤:S1:在预设时间段内,FPGA芯片内部的监控模块接收到RAID并行控制模块向RAID阵列硬盘并行发送的读写请求,记录该读写请求的请求时间点,并向对应的RAID阵列硬盘发送读写请求,所述FPGA芯片内部包括n个监控模块、一个RAID并行控制模块,RAID阵列硬盘包括n个固态硬盘,一个监控模块对应一个固态硬盘;

S2:在预设时间段内,FPGA芯片内部的监控模块接收到固态硬盘对于该读写请求的响应,记录该响应的响应时间点,一个读写请求对应一个请求时间点、一个响应时间点;

S3:FPGA芯片内部的监控模块根据各自已存储的请求时间点与响应时间点,获得固态硬盘的n个IO延时平均值,并将IO延时平均值通过传输模块发送至MCU微处理器,所述FPGA芯片内部还包括n个平均值寄存器,一个平均值寄存器对应一个监控模块,所述监控模块通过平均值寄存器将IO延时平均值发送至传输模块,所述S3具体包括以下步骤:

S31:在预设时间段内,监控模块将至少一个读写请求对应的请求时间点、响应时间点进行处理,获得至少一个读写请求对应的IO延时时间戳,即将同一个读写请求对应的响应时间点减去请求时间点得到IO延时时间戳;

S32:监控模块将在预设时间段内获得的至少一个IO延时时间戳的值进行累计再除以至少一个IO延时时间戳的数量,得到该监控模块预设在预设时间段内的一个IO延时平均值并发送至平均值寄存器;

S33:平均值寄存器接收到IO延时平均值进行存储,并将已存储的IO延时平均值发送至MCU微处理器。

2.根据权利要求1所述的一种RAID阵列硬盘的IO延时监测方法,其特征在于,所述FPGA芯片内部还包括n个单盘读写模块,一个单盘读写模块对应一个监控模块,所述监控模块通过单盘读写模块与固态硬盘进行互相通信。

3.根据权利要求2所述的一种RAID阵列硬盘的IO延时监测方法,其特征在于,在S1中,FPGA芯片内部的RAID并行控制模块向n个监控模块并行发送读写请求,监控模块接收到读写请求并记录该读写请求的请求时间点,监控模块再通过单盘读写模块向对应的固态硬盘发送读写请求。

4.根据权利要求2所述的一种RAID阵列硬盘的IO延时监测方法,其特征在于,在S2中,固态硬盘向对应的单盘读写模块发送对于该读写请求的响应,单盘读写模块再将响应发送至对应的监控模块,监控模块接收到固态硬盘对于该读写请求的响应并记录该响应的响应时间点。

5.根据权利要求1所述的一种RAID阵列硬盘的IO延时监测方法,其特征在于,所述MCU微处理器通过网口将IO延时平均值发送至计算机进行可视化显示。

6.一种RAID阵列硬盘的IO延时监测装置,其特征在于,包括:

处理器,以及与所述处理器通信连接的存储器;

所述存储器存储计算机执行指令;

所述处理器执行所述存储器存储的计算机执行指令,实现如权利要求1‑5中任一项所述的一种RAID阵列硬盘的IO延时监测方法。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至5任一项所述的一种RAID阵列硬盘的IO延时监测方法。

说明书 :

一种RAID阵列硬盘的IO延时监测方法、装置及介质

技术领域

[0001] 本发明涉及RAID阵列硬盘相关技术领域,具体涉及一种RAID阵列硬盘的IO延时监测方法、装置及介质。

背景技术

[0002] 目前,RAID阵列硬盘将普通硬盘组成一个磁盘阵列,操作人员在主机写入数据,RAID并行控制模块把主机要写入的数据分解为多个数据块,然后并行写入磁盘阵列,当主机读取数据时,RAID并行控制模块并行读取分散在磁盘阵列中各个硬盘上的数据,把它们重新组合后提供给主机。由于采用并行读写操作,从而提高了存储系统的存取系统的存取速度。
[0003] 但是,RAID阵列硬盘的读写性能受限制于速率最低的那个固体硬盘,当RAID阵列硬盘的整体性能表现差或者有明显波动时,就无法判断是哪一个硬盘导致的整体性能下降或者波动,需要将每个固体硬盘拆卸下来单独对每个硬盘测试才能判断出性能有问题的固态硬盘,导致操作麻烦,判断问题的及时性差。

发明内容

[0004] 本发明的目的是提供一种RAID阵列硬盘的IO延时监测方法、装置及介质,当RAID并行控制模块向固态硬盘并行发送读写请求时,所述读写请求会通过对应的监控模块向固态硬盘进行并行发送,当固态硬盘接收到读写请求时,则会通过监控模型向传输模块进行响应,每个监控模块会统计接收到读写请求至接收到响应的时间戳,每隔一个预设时间段,监控模块则将统计IO延时时间戳的值进行累加再除以IO延时时间戳的数量,来获得在预设时间段内的IO延时平均值,将该IO延时平均值发送至计算机进行可视化显示,通过该IO延时平均值对RAID阵列硬盘中的每个固态硬盘进行监测,并可以直观判断出固态硬盘的性能。
[0005] 为解决上述技术问题,本发明采用了以下方案:
[0006] 一种RAID阵列硬盘的IO延时监测方法,所述方法具体包括以下步骤:
[0007] S1:在预设时间段内,FPGA芯片内部的监控模块接收到RAID并行控制模块向RAID阵列硬盘并行发送的读写请求,记录该读写请求的请求时间点,并向对应的RAID阵列硬盘发送读写请求,所述FPGA芯片内部包括n个监控模块、一个RAID并行控制模块,RAID阵列硬盘包括n个固态硬盘,一个监控模块对应一个固态硬盘;
[0008] S2:在预设时间段内,FPGA芯片内部的监控模块接收到固态硬盘对于该读写请求的响应,记录该响应的响应时间点,一个读写请求对应一个请求时间点、一个响应时间点;
[0009] S3:在预设时间段内,FPGA芯片内部的监控模块根据各自已存储的请求时间点与响应时间点,获得固态硬盘的n个IO延时平均值,并将IO延时平均值通过传输模块发送至MCU微处理器。
[0010] 进一步的,所述FPGA芯片内部还包括n个单盘读写模块,一个单盘读写模块对应一个监控模块,所述监控模块通过单盘读写模块与固态硬盘进行互相通信。
[0011] 进一步的,在S1中,FPGA芯片内部的RAID并行控制模块向n个监控模块并行发送读写请求,监控模块接收到读写请求并记录该读写请求的请求时间点,监控模块再通过单盘读写模块向对应的固态硬盘发送读写请求。
[0012] 进一步的,在S2中,固态硬盘向对应的单盘读写模块发送对于该读写请求的响应,单盘读写模块再将响应发送至对应的监控模块,监控模块接收到固态硬盘对于该读写请求的响应并记录该响应的响应时间点。
[0013] 进一步的,所述FPGA芯片内部还包括n个平均值寄存器,一个平均值寄存器对应一个监控模块,所述监控模块通过平均值寄存器将IO延时平均值发送至传输模块。
[0014] 进一步的,所述S3具体包括以下步骤:
[0015] S31:在预设时间段内,监控模块将至少一个读写请求对应的请求时间点、响应时间点进行处理,获得至少一个读写请求对应的IO延时时间戳,即将同一个读写请求对应的响应时间点减去请求时间点得到IO延时时间戳;
[0016] S32:监控模块将在预设时间段内获得的至少一个IO延时时间戳的值进行累计再除以至少一个IO延时时间戳的数量,得到该监控模块预设在预设时间段内的一个IO延时平均值并发送至平均值寄存器;
[0017] S33:平均值寄存器接收到IO延时平均值进行存储,并将已存储的IO延时平均值发送至MCU微处理器。
[0018] 进一步的,所述MCU微处理器通过网口将IO延时平均值发送至计算机进行可视化显示。
[0019] 一种RAID阵列硬盘的IO延时监测装置,包括:
[0020] 处理器,以及与所述处理器通信连接的存储器;
[0021] 所述存储器存储计算机执行指令;
[0022] 所述处理器执行所述存储器存储的计算机执行指令,实现所述的一种RAID阵列硬盘的IO延时监测方法。
[0023] 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现所述的一种RAID阵列硬盘的IO延时监测方法。
[0024] 本发明的有益效果:
[0025] 本发明提供了一种RAID阵列硬盘的IO延时监测方法、装置及介质,在RAID并行控制模块于单盘读写模块之间增设与固态硬盘对应的监控模块,通过接收到固态硬盘的响应来判断固态硬盘的整体性能,不仅可当RAID盘阵的速率整体表现波动或者降低时准确判断出每个固态硬盘的当前读写性能,还无需拆卸硬盘,在出现问题的环境下当场即可判断,及时性好且方便操作。
[0026] 并且,对RAID阵列硬盘中的每个固态硬盘进行监测,用IO延时平均值表示每个固态硬盘的整体性能,并将IO延时平均值进行软件可视化可以直观地看到每个固态硬盘的IO延时平均值来进行更好地判断。

附图说明

[0027] 图1为本发明实施例1中现有技术下RAID阵列硬盘并行读写操作的模块示意图。
[0028] 图2为本发明实施例1中一种RAID阵列硬盘的IO延时监测方法的交互示意图。
[0029] 图3为本发明实施例1中一种RAID阵列硬盘的IO延时监测方法的模块示意图。

具体实施方式

[0030] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031] 除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
[0032] 同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0033] 另外,为了清楚和简洁起见,可能省略了对公知的结构、功能和配置的描述。本领域普通技术人员将认识到,在不脱离本公开的精神和范围的情况下,可以对本文描述的示例进行各种改变和修改。
[0034] 对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
[0035] 在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0036] 下面通过参考附图并结合实施例来详细说明本发明:
[0037] 实施例1
[0038] 本发明中提到的RAID阵列硬盘为普通硬盘组成的一个磁盘阵列,RAID阵列硬盘具有并行读写操作的特点,如图1所示,目前当操作人员在主机写入数据时,RAID并行控制模块会把主机要写入的数据分解为多个数据块,然后将该数据块通过并行发送的形式通过单盘读写模块写入RAID阵列磁盘中。
[0039] 当主机要读取数据时,RAID并行控制模块也会采取并行发送读写请求的形式来读取分散在各个固态硬盘上的数据,再将它们重新组合后提供给主机,来完成对RAID并行控制模块并行发送的读写请求的响应,通过并行读写操作可以大大提高存储系统的存取速度。
[0040] 但是,这种并行读写操作对于监测RAID阵列硬盘的整体性能会有影响,目前,现有技术都是通过接收到RAID阵列硬盘的响应来判断RAID阵列硬盘的整体性能,但是,RAID阵列硬盘中每个固态硬盘在接收到读写请求后都会根据自身的速率进行来发送响应,而当所有的固态硬盘都完成响应后才会将其数据响应给主机,完成RAID阵列硬盘的响应,所以RAID阵列硬盘中单个固态硬盘的自身的速率较慢就会影响到判断整个RAID阵列硬盘的读写性能。
[0041] 当监测到RAID阵列硬盘的整体性能表现差或者在连续时间段内有明显波动时,目前无法判断出是哪一个固态硬盘导致的整体性能下降或者波动,需要将每个固体硬盘拆卸下来单独对每个固态硬盘进行测试才能判断出性能有问题的固态硬盘,该操作过程较为麻烦,并且判断是否有问题的及时性差。
[0042] 所以,本发明提供了一种RAID阵列硬盘的IO延时监测方法,所述监测方法通过接收到固态硬盘的响应来判断固态硬盘的整体性能,实现对RAID阵列硬盘中单个固态硬盘的实时监测,不需要将其单独拆卸下来进行测试,在固态硬盘的响应过程中就可以进行判断,提高了监测的及时性。
[0043] 具体的,如图2所示,所述一种RAID阵列硬盘的IO延时监测方法包括以下步骤:
[0044] S1:在预设时间段内,FPGA芯片内部的监控模块接收到RAID并行控制模块向RAID阵列硬盘并行发送的读写请求,记录该读写请求的请求时间点,并向对应的RAID阵列硬盘发送读写请求,所述FPGA芯片内部包括n个监控模块、一个RAID并行控制模块,RAID阵列硬盘包括n个固态硬盘,一个监控模块对应一个固态硬盘;
[0045] S2:在预设时间段内,FPGA芯片内部的监控模块接收到固态硬盘对于该读写请求的响应,记录该响应的响应时间点,一个读写请求对应一个请求时间点、一个响应时间点;
[0046] S3:在预设时间段内,FPGA芯片内部的监控模块根据各自已存储的请求时间点与响应时间点,获得固态硬盘的n个IO延时平均值,并将IO延时平均值通过传输模块发送至MCU微处理器。
[0047] 优选的,所述FPGA芯片内部还包括n个单盘读写模块,一个单盘读写模块对应一个监控模块,所述监控模块通过单盘读写模块与固态硬盘进行互相通信。
[0048] 优选的,在S1中,FPGA芯片内部的RAID并行控制模块向n个监控模块并行发送读写请求,监控模块接收到读写请求并记录该读写请求的请求时间点,监控模块再通过单盘读写模块向对应的固态硬盘发送读写请求。
[0049] 优选的,在S2中,固态硬盘向对应的单盘读写模块发送对于该读写请求的响应,单盘读写模块再将响应发送至对应的监控模块,监控模块接收到固态硬盘对于该读写请求的响应并记录该响应的响应时间点。
[0050] 优选的,所述FPGA芯片内部还包括n个平均值寄存器,一个平均值寄存器对应一个监控模块,所述监控模块通过平均值寄存器将IO延时平均值发送至传输模块。
[0051] 优选的,所述S3具体包括以下步骤:
[0052] S31:在预设时间段内,监控模块将至少一个读写请求对应的请求时间点、响应时间点进行处理,获得至少一个读写请求对应的IO延时时间戳,即将同一个读写请求对应的响应时间点减去请求时间点得到IO延时时间戳;
[0053] S32:监控模块将在预设时间段内获得的至少一个IO延时时间戳的值进行累计再除以至少一个IO延时时间戳的数量,得到该监控模块预设在预设时间段内的一个IO延时平均值并发送至平均值寄存器;
[0054] S33:平均值寄存器接收到IO延时平均值进行存储,并将已存储的IO延时平均值发送至MCU微处理器。
[0055] 优选的,所述MCU微处理器通过网口将IO延时平均值发送至计算机进行可视化显示。
[0056] 基于上述原理,对本发明进行进一步阐述:
[0057] 本发明提供了一种RAID阵列硬盘的IO延时监测方法,所述监测方法通过获得RAID阵列硬盘中每个固态硬盘的IO延时平均值进行固态硬盘的整体性能判断,其中,若有固态硬盘的IO延时平均值较其它固态硬盘的IO延时平均值较大,则表示该固态硬盘的速率较慢、读写性能较差,就可以判断出该固态硬盘可能出现了问题。
[0058] 具体的,如图3所示,3个固态硬盘组成一个RAID阵列磁盘,所述RAID阵列磁盘受FPGA芯片内部的RAID并行控制模块进行读写操作,所述FPGA芯片内部包括一个RAID并行控制模块、3个监控模块、3个单盘读写模块,其中,一个监控模块与一个单盘读写模块对应,一个单盘读写模块与一个固态硬盘对应,所述监控模块位于单盘读写模块和RAID并行控制模块之间,使RAID并行控制模块通过监控模块控制RAID阵列磁盘进行读写操作。
[0059] 当RAID并行控制模块通过3个监控模块向对应的固态硬盘并行发送该读写请求,监控模块接收到该读写请求,并将接收到该读写请求的时间点记为请求时间点,同时,将该读写请求通过对应的单盘读写模块发送至对应的固态硬盘,固态硬盘将会根据自身情况对该读写请求进行响应,将响应通过对应的单盘读写模块发送至对应的监控模块,监控模块接收到对应该读写请求的响应,并将接收到响应的时间段记为响应时间点。
[0060] 根据上述操作,监控模块可以记录不同时间下RAID并行控制模块向对应的固态硬盘并行发送的读写请求,并且记录对应读写请求的一个请求时间点和响应时间点。根据对请求时间点和响应时间点的计算,则监控模块可以得到每个读写请求的IO延时时间戳,其中,所述IO延时时间戳则可以表示该固态硬盘对该读写请求的响应速率。
[0061] 为了提高监测的准确率,本发明可对监控模块进行定时,让监控模块每隔一段时间,将得到的多个IO延时时间戳进行平均值求取,获得一个在预设时间段的IO延时平均值,则该IO延时平均值就可以表示该固态硬盘在预设时间段内的平均响应速率。
[0062] 然后,监控模块可以将该IO延时平均值发送至对应的平均值寄存器,通过该平均值寄存器对IO延时平均值进行存储,不占用监控模块过多的内存。其中,该平均值寄存器不仅存储新的IO延时平均值,同时还会存储一个值最低的IO延时平均值。
[0063] 本发明可以通过计算机定时读取IO延时平均值,当计算机想要读取IO延时平均值时,通过MCU微处理器主动拉取该IO延时平均值。平均值寄存器中的IO延时平均值通过传输模块发送至MCU微处理器,MCU微处理器通过RJ45网口发送至计算机上的IO延时显示工具或者软件,通过软件可视化还可以直观地看到每个固态硬盘的IO延时平均值,并进行更好地判断。
[0064] 综上,本发明在RAID并行控制模块于单盘读写模块之间增设与固态硬盘对应的监控模块,通过接收到固态硬盘的响应来判断固态硬盘的整体性能,不仅可当RAID盘阵的速率整体表现波动或者降低时准确判断出每个固态硬盘的当前读写性能,还无需拆卸硬盘,在出现问题的环境下当场即可判断,及时性好且方便操作。
[0065] 实施例2
[0066] 一种RAID阵列硬盘的IO延时监测装置,包括:
[0067] 处理器,以及与所述处理器通信连接的存储器;
[0068] 所述存储器存储计算机执行指令;
[0069] 所述处理器执行所述存储器存储的计算机执行指令,实现所述的一种RAID阵列硬盘的IO延时监测方法。
[0070] 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现所述的一种RAID阵列硬盘的IO延时监测方法。
[0071] 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。