缓存状态管理方法、装置、通信设备及存储介质
文献发布时间:2023-06-19 18:46:07
技术领域
本发明涉及缓存技术领域,特别涉及一种缓存状态管理方法、装置、通信设备及存储介质。
背景技术
随着互联网发展,数据中心、云技术和高性能计算环境不仅需要大量存储容量,还须提供应用程序和终端用户所需的数据保护、灵活性和性能,越来越多的用户选择使用RAID(RedundantArrays of Independent Disks,独立磁盘冗余阵列)方案解决数据存储的可靠性和安全性问题。而对于RAID中HDD(Hard Disk Drive,硬盘驱动器)缓存状态的管理,成为提升数据存储安全性、可靠性和性能的重要因素。
然而,目前对HDD的缓存状态管理方法都是针对控制器与HDD直接通信的情况,且需要通过HDD厂商提供的管理工具间接的记录HDD的缓存状态(开启或关闭),导致操作不够灵活且可靠性不高。
发明内容
本发明实施例的目的在于提供一种缓存状态管理方法、装置、通信设备及存储介质,解决因需要通过HDD厂商提供的管理工具间接的记录HDD的缓存状态,导致操作不够灵活且可靠性不高的问题,以实现灵活可靠的缓存管理,具体技术方案如下:
在本发明实施的第一方面,首先提供了一种缓存状态管理方法,应用于磁盘阵列RAID控制器,所述方法包括:
接收BMC下发的缓存管理指令,所述缓存管理指令中包括RAID索引编号,命令值,以及功能接口;
根据所述RAID索引编号在预设关系对照表中查找对应的标识符,其中,所述预设关系对照表是基于所述RAID索引编号和所述标识符的映射关系生成的;
在检测到基于所述标识符确定的目标硬盘的情况下,根据所述功能接口访问所述目标硬盘的缓存状态寄存器,以及,根据所述命令值确定缓存管理指令对应的类型对所述目标硬盘的缓存状态进行管理。
可选地,在所述接收BMC下发的缓存管理指令的步骤之前,所述方法包括:
接收基板管理控制器BMC下发的缓存控制指令,根据所述缓存控制指令为RAID下的每个硬盘分配标识符;
根据所述标识符生成对应的RAID索引编号,根据所述标识符合所述RAID索引编号生成预设关系对照表。
可选地,所述根据所述标识符生成对应的RAID索引编号包括:
根据所述标识符生成对应的RAID索引编号,其中,所述索引编号和所述标识符之间包括一对一或者一对多的映射关系;
基于所述映射关系生成预设关系对照表,其中,所述预设关系对照表存储于RAID控制器。
可选地,所述根据缓存控制指令为RAID磁盘阵列下的每个硬盘分配唯一标识符包括:
根据所述缓存控制指令加载并运行RAID固件中的第一预设程序,基于所述第一预设程序为所述RAID磁盘阵列下的每个所述硬盘分配所述唯一标识符。
在本发明实施的第二方面,还提供了一种缓存状态管理方法,应用于基板管理控制器BMC,所述方法包括:
获取RAID索引编号;
基于所述RAID索引编号在RAID控制器中调用预设关系对照表,其中,所述预设关系对照表是基于所述RAID索引编号和所述标识符的映射关系生成的;
在所述预设关系对照表中查找所述RAID索引编号对应的标识符,根据所述标识符生成目标硬盘对应的缓存管理指令;
向所述RAID控制器发送所述缓存管理指令,以使所述RAID控制器根据所述缓存管理指令对所述目标硬盘对应的缓存状态进行管理。
可选地,在所述获取获取RAID索引编号的步骤之前,所述方法还包括:
向RAID控制器发送缓存控制指令,以使所述RAID控制器根据所述缓存控制指令为RAID下的每个硬盘分配标识符。
在本发明实施的第三方面,还提供了一种缓存管理装置,应用于磁盘阵列RAID控制器,包括:
接收模块,用于接收BMC下发的缓存管理指令,所述缓存管理指令中包括RAID索引编号,命令值,以及功能接口;
查找模块,用于根据所述RAID索引编号在预设关系对照表中查找对应的标识符,其中,所述预设关系对照表是基于所述RAID索引编号和所述标识符的映射关系生成的;
管理模块,用于在检测到基于所述标识符确定的目标硬盘的情况下,根据所述功能接口访问所述目标硬盘的缓存状态寄存器,以及,根据所述命令值确定缓存管理指令对应的类型对所述目标硬盘的缓存状态进行管理。
可选地,所述装置还包括:
分配模块,用于接收基板管理控制器BMC下发的缓存控制指令,根据所述缓存控制指令为RAID下的每个硬盘分配标识符;
生成模块,用于根据所述标识符生成对应的RAID索引编号,根据所述标识符合所述RAID索引编号生成预设关系对照表。
可选地,所述生成模块包括:
第一生成子模块,用于根据所述标识符生成对应的RAID索引编号,其中,所述索引编号和所述标识符之间包括一对一或者一对多的映射关系;
第二生成子模块,用于基于所述映射关系生成预设关系对照表,其中,所述预设关系对照表存储于RAID控制器。
可选地,所述分配模块包括:
分配子模块,用于根据所述缓存控制指令加载并运行RAID固件中的第一预设程序,基于所述第一预设程序为所述RAID磁盘阵列下的每个所述硬盘分配所述唯一标识符。
在本发明实施的第四方面,还提供了一种缓存管理装置,应用于基板管理控制器BMC,包括:
获取模块,用于获取RAID索引编号;
调用模块,用于基于所述RAID索引编号调用RAID控制器中存储的预设关系对照表;
生成模块,用于在所述预设关系对照表中查找所述RAID索引编号对应的标识符,根据所述标识符生成目标硬盘对应的缓存管理指令;
管理模块,用于向所述RAID控制器发送所述缓存管理指令,以使所述RAID控制器根据所述缓存管理指令对所述目标硬盘对应的缓存状态进行管理。
可选地,所述装置还包括:
发送模块,用于向RAID控制器发送缓存控制指令,以使所述RAID控制器根据所述缓存控制指令为RAID下的每个硬盘分配标识符;
在本发明实施的第五方面,还提供了一种通信设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;
所述处理器,用于读取存储器中的程序实现如第一方面任一所述的缓存状态管理方法,或者实现如第二方面任一所述的缓存状态管理方法。
在本发明实施的第六方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机实现如第一方面任一所述的缓存状态管理方法,或者实现如第二方面任一所述的缓存状态管理方法。
本发明实施例提供的缓存状态管理方法,通过接收基板管理控制器BMC下发的缓存管理指令,缓存管理指令中包括RAID索引编号,命令值,以及功能接口;根据RAID索引编号在预设关系对照表中查找对应的标识符,其中,预设关系对照表是基于RAID索引编号和标识符的映射关系生成的;在检测到基于标识符确定的目标硬盘的情况下,根据功能接口访问目标硬盘的缓存状态寄存器,以及,根据命令值确定缓存管理指令对应的类型,并对目标硬盘的缓存状态进行管理。本发明实施例中,通过BMC打包指令传递到RAID控制器,来控制硬盘的缓存状态,不用经过OS系统,方便灵活且安全,并且通过本申请中利用BMC管理硬盘的缓存状态,可以实现硬盘缓存会将主机与物理磁盘的机械延迟隔离开,从而达到减小延时,提升传输速率的作用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的缓存状态管理方法的步骤流程图一;
图2是本发明实施例提供的缓存状态管理方法的步骤流程图二;
图3是本发明实施例提供的缓存状态管理方法的步骤流程图三;
图4是本发明实施例提供的缓存状态管理方法的步骤流程图四;
图5是本发明实施例提供的一种缓存管理装置的结构示意图;
图6是本发明实施例提供的另一种缓存管理装置的结构示意图;
图7是本发明实施例提供的一种通信设备示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
参照图1,示出了本发明实施例提供的缓存状态管理方法的步骤流程图一,应用于磁盘阵列RAID控制器,所述方法可以包括:
步骤101,接收基板管理控制器BMC下发的缓存管理指令,所述缓存管理指令中包括RAID索引编号,命令值,以及功能接口。
需要说明的是,在本发明实施例中,RAID(RedundantArrays of IndependentDisks,独立磁盘冗余阵列)是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术,通过RAID可以解决数据存储的可靠性和安全性问题。BMC(Baseboard Manager Controller,基板管理控制器)是一个独立于服务器系统的小型操作系统,可以实现对服务器远程管理、监控、安装、重启等。BMC可以是集成在主板上的芯片,或者通过PCIE等各种形式插在主板上。
因此,在本发明实施例中,磁盘阵列RAID控制器可以接收BMC下发的指令,例如,RAID控制器接收BMC下发的缓存管理指令,其中,该缓存管理指令携带RAID索引编号,命令值,以及功能接口。
需要说明的是,在本发明实施例中,RAID索引编号是基于标识符生成的,其中,标识符是RAID控制器根据BMC下发的缓存控制指令为RAID磁盘阵列下每个硬盘分配的唯一标识符,即每个硬盘对应唯一一个标识符,进而根据每个硬盘的唯一标识符生成对应的RAID索引编号。
上述硬盘即为HDD(Hard Disk Drive,硬盘驱动器),需要说明的是,HDD上的缓存是物理电路上的一块RAM芯片,通常有128MB、256MB和512MB容量规格,用来接收指令和数据,还可用来进行预读,HDD缓存可以实现将主机与物理磁盘的机械延迟隔离,并暂时存储主机到硬盘端的读写数据,数据到达缓存即给控制器发送传输完成信号,从而达到减小延时,提升传输速率的作用。
需要说明的是,在本发明实施例中,当RAID控制器接收到BMC下发的缓存管理指令时,缓存管理指令中还包括命令值,以及功能接口,其中,命令值用于确定数据缓存状态管理指令的类型并触发RAID控制器中相应的预设程序,数据缓存状态管理指令的类型可以包括控制对应的目标硬盘缓存状态开启或关闭,功能接口用于访问硬盘的缓存状态寄存器,寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果,在本发明实施例中,是访问目标硬盘对应的缓存状态存储的寄存器。
步骤102,根据所述RAID索引编号在预设关系对照表中查找对应的标识符,其中,所述预设关系对照表是基于所述RAID索引编号和所述标识符的映射关系生成的;
步骤103,在检测到基于所述标识符确定的目标硬盘的情况下,根据所述功能接口访问所述目标硬盘的缓存状态寄存器,以及,根据所述命令值确定缓存管理指令对应的类型,并对所述目标硬盘的缓存状态进行管理。
进一步地,在本发明实施例中,本申请采用了BMC系统来实现命令下发,其中,BMC可以搭载在主机中,因此主机、RAID控制器与硬盘之间存在命令交互,具体的,主机、RAID控制器与硬盘之间可以通过SCSI传输协议来实现,主要用到的通信协议服务如下:BMC通过I2C总线将控制缓存指令发送到BIOS下的RAID控制器;RAID控制器固件、HDD硬盘固件使用SCSI Command Received SCSI传输协议服务指示来通知任务管理器已收到命令:HDD固件使用Send Command Complete SCSI传输协议服务相应来请求SCSItarget端口传输命令完成信息;RAID控制器固件使用Command Complete Received SCSI传输协议服务确认来通知上层应用已收到命令完成信息。
需要说明的是,在本发明实施例中,HDD硬盘缓存状态本质是通过SCSI传输协议中的MODE SENSE/MODE SELECT命令来设置硬盘的缓存模式页面中的WCE寄存器的值来控制的,WCE最终会存储在HDD硬盘碟片上专门用于存储各类寄存器的寄存器空间内,通过对寄存器地址寻址方式获取WCE寄存器地址即可对其进行读写操作。其中,HDD硬盘碟片空间分为用户数据存储空间、HDD日志存储空间、寄存器存储空间等。
本发明实施例提供的缓存状态管理方法,通过接收基板管理控制器BMC下发的缓存管理指令,缓存管理指令中包括RAID索引编号,命令值,以及功能接口;根据RAID索引编号在预设关系对照表中查找对应的标识符,其中,预设关系对照表是基于RAID索引编号和标识符的映射关系生成的;在检测到基于标识符确定的目标硬盘的情况下,根据功能接口访问目标硬盘的缓存状态寄存器,以及,根据命令值确定缓存管理指令对应的类型,并对目标硬盘的缓存状态进行管理。本发明实施例中,通过BMC打包指令传递到RAID控制器,来控制硬盘的缓存状态,不用经过OS系统,方便灵活且安全,并且通过本申请中利用BMC管理硬盘的缓存状态,可以实现硬盘缓存会将主机与物理磁盘的机械延迟隔离开,从而达到减小延时,提升传输速率的作用。
参照图2,示出了本发明实施例提供的缓存状态管理方法的步骤流程图二,所述方法可以包括:
步骤001,接收所述BMC下发的缓存控制指令,根据所述缓存控制指令为RAID下的每个硬盘分配标识符。
需要说明的是,在本发明实施例中,基板管理控制器BMC可以实现命令的打包下发,因此,RAID控制器在接收到BMC下发的缓存控制指令之后,会根据缓存控制指令为磁盘阵列下的每一个硬盘分配一个标识符,这个标识符是具有唯一性。
具体的,BMC通过I2C总线发送控制缓存状态指令到BIOS(Basic Input OutputSystem,基本输入输出系统)下的RAID控制器,在RAID控制器接收指令后为每个RAID磁盘阵列下的每个硬盘分配唯一标识符。
步骤002,根据所述标识符生成对应的RAID索引编号,根据所述标识符以及所述RAID索引编号生成预设关系对照表。
进一步地,在步骤002中,根据所述标识符生成对应的RAID索引编号包括:根据所述标识符生成对应的RAID索引编号,其中,所述索引编号和所述标识符之间包括一对一或者一对多的映射关系;基于所述映射关系生成预设关系对照表,其中,所述预设关系对照表存储于RAID控制器。
需要说明的是,在本发明实施例中,当RAID控制器根据BMC下发的缓存控制指令为硬盘分配标识符之后,会根据标识符生成对应的RAID索引编号,并根据标识符和RAID索引编号生成预设关系对照表,具体的,RAID控制器加载并运行RAID固件中的第一预设程序为每个硬盘分配一个唯一标识符,并生成RAID索引编号与对应的一个或多个硬盘的唯一标识符的关系对照表。
需要说明的是,RAID索引编号是基于标识符生成的,但是一个RAID索引编号可以对应一个硬盘的标识符,也可以对应多个硬盘的标识符,本发明对此不做具体限定,例如,当只需要对一个硬盘的缓存状态进行控制管理时,预设关系对照表中可以是一个RAID索引编号和一个硬盘标识符一一对应,当对硬盘组对应的缓存状态进行管理时,预设关系对照表中可以是一个RAID索引编号和多个硬盘标识符一对多对应。
另外,预设关系对照表可以存储在RAID控制器中,当BMC需要时,可以进行调用。
进一步地,在步骤002中,根据所述缓存控制指令为RAID下的每个硬盘分配标识符包括:
根据所述缓存控制指令加载并运行RAID固件中的第一预设程序,基于所述第一预设程序为所述RAID下的每个所述硬盘分配唯一所述标识符。
需要说明的是,在发明实施例中,固件就是写入EPROM(可擦写可编程只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序,固件是指设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等都有内部固件,因此,根据缓存控制指令加载并运行RAID固件中的第一预设程序,为RAID磁盘阵列下的每个所述硬盘分配唯一所述标识符。
步骤101,接收BMC下发的缓存管理指令,所述缓存管理指令中包括RAID索引编号,命令值,以及功能接口;
步骤102,根据所述RAID索引编号在预设关系对照表中查找对应的标识符,其中,所述预设关系对照表是基于所述RAID索引编号和所述标识符的映射关系生成的;
步骤103,在检测到基于所述标识符确定的目标硬盘的情况下,根据所述功能接口访问所述目标硬盘的缓存状态寄存器,以及,根据所述命令值确定缓存管理指令对应的类型,并对所述目标硬盘的缓存状态进行管理。
需要说明的是,上述步骤101-103参照前序论述,在此不再赘述。
本发明实施例提供的缓存状态管理方法,通过接收基板管理控制器BMC下发的缓存管理指令,缓存管理指令中包括RAID索引编号,命令值,以及功能接口;根据RAID索引编号在预设关系对照表中查找对应的标识符,其中,预设关系对照表是基于RAID索引编号和标识符的映射关系生成的;在检测到基于标识符确定的目标硬盘的情况下,根据功能接口访问目标硬盘的缓存状态寄存器,以及,根据命令值确定缓存管理指令对应的类型,并对目标硬盘的缓存状态进行管理。本发明实施例中,通过BMC打包指令传递到RAID控制器,来控制硬盘的缓存状态,不用经过OS系统,方便灵活且安全,并且通过本申请中利用BMC管理硬盘的缓存状态,可以实现硬盘缓存会将主机与物理磁盘的机械延迟隔离开,从而达到减小延时,提升传输速率的作用。
另外,通过BMC下发缓存控制指令,RAID控制器可以为硬盘分配唯一标识符,以及生成预设关系对照表,可以实现通过BMC打包指令传递到服务器的RAID矩阵,来控制的HDD硬盘的缓存状态。
参照图3,示出了本发明实施例提供的缓存状态管理方法的步骤流程图三,应用于基板管理控制器BMC,所述方法可以包括:
步骤201,获取RAID索引编号;
需要说明的是,在发明实施例中,BMC可以通过打包RAID阵列管理工具中的storcli命令由RAID控制器中获取RAID索引编号,storcli命令可以查询所有信息并显示,因此,BMC可以获取RAID索引编号。
步骤202,基于所述RAID索引编号调用RAID控制器中存储的预设关系对照表,其中,所述预设关系对照表是基于所述RAID索引编号和所述标识符的映射关系生成的;
需要说明的是,在发明实施例中,BMC在获取RAID索引编号后,可以调用预先存储在RAID控制器中的对应的预设关系对照表,预设关系对照表是基于所述RAID索引编号和所述标识符的映射关系生成的。
步骤203,在所述预设关系对照表中查找所述RAID索引编号对应的标识符,根据所述标识符生成目标硬盘对应的缓存管理指令;
需要说明的是,在本发明实施例中,在调用预先存储在RAID控制器中的预设关系对照表之后,BMC可以根据获取的RAID索引编号在预设关系对照表中查找匹配到对应的标识符,根据标识符生成目标硬盘对应的缓存管理指令。
具体的,根据标识符可以确定对应的一个或多个目标硬盘,进而生成对应目标硬盘的缓存管理指令,并将缓存管理指令下发至RAID控制器。
步骤204,向所述RAID控制器发送所述缓存管理指令,以使所述RAID控制器根据所述缓存管理指令对所述目标硬盘对应的缓存状态进行管理。
需要说明的是,在发明实施例中,BMC向RAID控制器发送缓存管理指令,也可以理解为上位机或主机向向RAID控制器下发缓存管理指令,以使RAID控制器根据缓存管理指令对目标硬盘的缓存状态进行管理。
具体的,该缓存管理指令携带RAID索引编号,命令值,以及功能接口,其中,RAID索引编号是用于RAID确定对应的目标硬盘,命令值用于确定数据缓存状态管理指令的类型并触发RAID控制器中相应的预设程序,数据缓存状态管理指令的类型可以包括控制对应的目标硬盘缓存状态开启或关闭,功能接口用于访问硬盘的缓存状态寄存器,寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果,在本发明实施例中,是访问目标硬盘对应的缓存状态存储的寄存器。
本发明实施例中,通过BMC打包指令传递到RAID控制器,来控制硬盘的缓存状态,不用经过OS系统,方便灵活且安全,并且通过本申请中利用BMC管理硬盘的缓存状态,可以实现硬盘缓存会将主机与物理磁盘的机械延迟隔离开,从而达到减小延时,提升传输速率的作用。
另外,通过BMC下发缓存控制指令,RAID控制器可以为硬盘分配唯一标识符,以及生成预设关系对照表,可以实现通过BMC打包指令传递到服务器的RAID矩阵,来控制的HDD硬盘的缓存状态。
参照图4,示出了本发明实施例提供的缓存状态管理方法的步骤流程图三,应用于基板管理控制器BMC,所述方法可以包括:
步骤003,向RAID控制器发送缓存控制指令,以使所述RAID控制器根据所述缓存控制指令为RAID下的每个硬盘分配标识符。
需要说明的是,在本发明实施例中,基板管理控制器BMC可以实现命令的打包下发,因此,BMC向RAID控制器下发缓存控制指令,此时,RAID控制器会根据缓存控制指令为磁盘阵列下的每一个硬盘分配一个标识符,这个标识符是具有唯一性。
具体的,BMC通过I2C总线发送控制缓存状态指令到BIOS(Basic Input OutputSystem,基本输入输出系统)下的RAID控制器,在RAID控制器接收指令后为每个RAID磁盘阵列下的每个硬盘分配唯一标识符。
步骤201,获取RAID索引编号;
步骤202,基于所述RAID索引编号调用RAID控制器中存储的预设关系对照表,其中,所述预设关系对照表是基于所述RAID索引编号和所述标识符的映射关系生成的;
步骤203,在所述预设关系对照表中查找所述RAID索引编号对应的标识符,根据所述标识符生成目标硬盘对应的缓存管理指令;
步骤204,向所述RAID控制器发送所述缓存管理指令,以使所述RAID控制器根据所述缓存管理指令对所述目标硬盘对应的缓存状态进行管理。
需要说明的是,上述步骤201-204参照前序论述,在此不再赘述。
本发明实施例中,通过BMC打包指令传递到RAID控制器,来控制硬盘的缓存状态,不用经过OS系统,方便灵活且安全,并且通过本申请中利用BMC管理硬盘的缓存状态,可以实现硬盘缓存会将主机与物理磁盘的机械延迟隔离开,从而达到减小延时,提升传输速率的作用。
另外,通过BMC下发缓存控制指令,RAID控制器可以为硬盘分配唯一标识符,以及生成预设关系对照表,可以实现通过BMC打包指令传递到服务器的RAID矩阵,来控制的HDD硬盘的缓存状态。
参照图5,示出了本发明实施例提供的一种缓存管理装置的结构示意图,应用于RAID控制器,所述装置可以包括:
接收模块301,用于接收BMC下发的缓存管理指令,所述缓存管理指令中包括RAID索引编号,命令值,以及功能接口;
查找模块302,用于根据所述RAID索引编号在预设关系对照表中查找对应的标识符,其中,所述预设关系对照表是基于所述RAID索引编号和所述标识符的映射关系生成的;
管理模块303,用于在检测到基于所述标识符确定的目标硬盘的情况下,根据所述功能接口访问所述目标硬盘的缓存状态寄存器,以及,根据所述命令值确定缓存管理指令对应的类型,并所述目标硬盘的缓存状态进行管理。
进一步地,所述装置还可以包括:
分配模块,用于接收所述BMC下发的缓存控制指令,根据所述缓存控制指令为RAID下的每个硬盘分配标识符;
生成模块,用于根据所述标识符生成对应的RAID索引编号,根据所述标识符以及所述RAID索引编号生成预设关系对照表。
进一步地,生成模块包括:
第一生成子模块,用于根据所述标识符生成对应的RAID索引编号,其中,所述索引编号和所述标识符之间包括一对一或者一对多的映射关系;
第二生成子模块,用于基于所述映射关系生成预设关系对照表,其中,所述关系对照表存储于RAID控制器。
进一步地,分配模块包括:
分配子模块,用于根据所述缓存控制指令加载并运行RAID固件中的第一预设程序,基于所述第一预设程序为所述RAID磁盘阵列下的每个所述硬盘分配唯一所述标识符。
本发明实施例提供的缓存状态管理方法,通过接收基板管理控制器BMC下发的缓存管理指令,缓存管理指令中包括RAID索引编号,命令值,以及功能接口;根据RAID索引编号在预设关系对照表中查找对应的标识符,其中,预设关系对照表是基于RAID索引编号和标识符的映射关系生成的;在检测到基于标识符确定的目标硬盘的情况下,根据功能接口访问目标硬盘的缓存状态寄存器,以及,根据命令值确定缓存管理指令对应的类型,并对目标硬盘的缓存状态进行管理。本发明实施例中,通过BMC打包指令传递到RAID控制器,来控制硬盘的缓存状态,不用经过OS系统,方便灵活且安全,并且通过本申请中利用BMC管理硬盘的缓存状态,可以实现硬盘缓存会将主机与物理磁盘的机械延迟隔离开,从而达到减小延时,提升传输速率的作用。
参照图6,示出了本发明实施例提供的另一种缓存管理装置的结构示意图,应用于BMC,如图6所示,该装置可以包括:
获取模块401,用于获取RAID索引编号,
调用模块402,用于基于所述RAID索引编号调用RAID控制器中存储的预设关系对照表,其中,所述预设关系对照表是基于所述RAID索引编号和所述标识符的映射关系生成的;
生成模块403,用于在所述预设关系对照表中查找所述RAID索引编号对应的标识符,根据所述标识符生成目标硬盘对应的缓存管理指令;
管理模块404,用于向所述RAID控制器发送所述缓存管理指令,以使所述RAID控制器根据所述缓存管理指令对所述目标硬盘对应的缓存状态进行管理。
可选地,该装置还可以包括:
分配模块,用于向RAID控制器发送缓存控制指令,以使所述RAID控制器根据所述缓存控制指令为RAID下的每个硬盘分配标识符。
本发明实施例中,通过BMC打包指令传递到RAID控制器,来控制硬盘的缓存状态,不用经过OS系统,方便灵活且安全,并且通过本申请中利用BMC管理硬盘的缓存状态,可以实现硬盘缓存会将主机与物理磁盘的机械延迟隔离开,从而达到减小延时,提升传输速率的作用。
本发明实施例还提供了一种通信设备,如图7所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,可以实现如下步骤:
接收基板管理控制器BMC下发的缓存管理指令,所述缓存管理指令中包括RAID索引编号,命令值,以及功能接口;
根据所述RAID索引编号在预设关系对照表中查找对应的标识符,其中,所述预设关系对照表是基于所述RAID索引编号和所述标识符的映射关系生成的;
在检测到基于所述标识符确定的目标硬盘的情况下,根据所述功能接口访问所述目标硬盘的缓存状态寄存器,以及,根据所述命令值确定缓存管理指令对应的类型,并对所述目标硬盘的缓存状态进行管理。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的缓存状态管理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的缓存状态管理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
- 一种后端存储设备的管理方法、装置、设备以及存储介质
- 一种磁盘缓存的管理方法、装置和计算机可读存储介质
- 多版本数据存储管理方法及装置、电子设备、存储介质
- 存储设备管理方法、装置及可读存储介质
- 存储设备管理方法、装置及可读存储介质
- 一种卫星终端连接状态管理方法、装置、网关设备、融合通信系统及存储介质
- 缓存管理方法、装置、存储介质和固态非易失存储设备