CN115061638A - Raid阵列下的硬盘缓存状态管理方法、服务器及存储介质 - Google Patents
Raid阵列下的硬盘缓存状态管理方法、服务器及存储介质 Download PDFInfo
- Publication number
- CN115061638A CN115061638A CN202210902565.3A CN202210902565A CN115061638A CN 115061638 A CN115061638 A CN 115061638A CN 202210902565 A CN202210902565 A CN 202210902565A CN 115061638 A CN115061638 A CN 115061638A
- Authority
- CN
- China
- Prior art keywords
- hard disk
- raid
- cache
- raid array
- cache state
- 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.)
- Granted
Links
- 238000007726 management method Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 8
- 230000005540 biological transmission Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 13
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 claims description 5
- 229910052709 silver Inorganic materials 0.000 claims description 5
- 239000004332 silver Substances 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提出了一种RAID阵列下的硬盘缓存状态管理方法、服务器及存储介质,其中,方法包括:在RAID控制器的固件中为每个RAID阵列下的每个硬盘分配唯一标识符;响应于RAID控制器加载并运行固件中的预设程序而为每个硬盘分配一个唯一标识符,并生成RAID阵列索引编号与对应的一个或多个硬盘的唯一标识符的关系对照表;RAID控制器响应于接收到上位机的缓存状态管理指令,而基于管理指令中的阵列索引编号及唯一标识符在对应的关系对照表中进行匹配;响应于匹配到唯一标识符,而基于缓存状态管理指令的类型执行相应的预设程序以实现相应的状态管理操作。本发明通过在RAID控制器的固件中为各RAID阵列下的硬盘分配唯一标识符使得各硬盘可以通过唯一标识符进行指定。
Description
技术领域
本发明涉及服务器技术领域,尤其涉及一种RAID阵列下的硬盘缓存状态管理方法、服务器及存储介质。
背景技术
当今,数据中心、云和高性能计算环境不仅需要大量存储容量,还须提供应用程序和终端用户所需的数据保护、灵活性和性能,越来越多的用户选择使用RAID(RedundantArrays of Independent Disks,独立磁盘冗余阵列)方案解决数据存储的可靠性和安全性问题。而对于多盘RAID阵列中HDD缓存状态的管理,成为提升数据存储安全性、可靠性和性能的重要因素。HDD上的缓存是物理电路上的一块RAM芯片,通常有128MB、256MB和512MB容量规格,用来接收指令和数据,还可用来进行预读。HDD缓存会将主机与物理磁盘的机械延迟隔离开,暂时存储主机到硬盘端的读写数据,数据到达缓存即给控制器发送传输完成信号,从而达到减小延时,提升传输速率的作用。
然而,目前对HDD的缓存状态管理方法都是针对控制器与HDD直接通信的情况,且需要通过HDD厂商提供的管理工具间接的记录HDD的缓存状态(开启或关闭),导致操作不够灵活且可靠性不高;并且在RAID系统中,系统控制器需要通过RAID系统来与HDD通信,通过RAID控制器连接多盘组RAID后,在系统下,多个HDD会被识别为一个逻辑磁盘,并且只会被分配一个SCSI设备号,导致厂商提供的管理工具无法穿透RAID阵列来准确的指定对应的HDD设备,从而无法对每个HDD的缓存状态进行获取和设置。
因此,如何实现一种针对RAID阵列下的每个HDD的缓存的态管理,且提供一种更加灵活、可靠的缓存状态管理方案是本领域目前所亟需的。
发明内容
为了一种针对RAID阵列下的每个HDD的缓存的态管理,且提供一种更加灵活、可靠的缓存状态管理方案,在本发明的第一方面,提出了一种RAID阵列下的硬盘缓存状态管理方法,所述RAID阵列由RedHat操作系统进行管理,所述方法包括:在RAID控制器的固件中为每个RAID阵列下的每个硬盘分配唯一标识符;响应于RAID控制器加载并运行所述固件中的预设程序而为每个硬盘分配一个唯一标识符,并生成RAID阵列索引编号与对应的一个或多个硬盘的唯一标识符的关系对照表;所述RAID控制器响应于接收到上位机的缓存状态管理指令,而基于所述管理指令中的阵列索引编号及唯一标识符在对应的关系对照表中进行匹配;响应于匹配到所述唯一标识符,而基于所述缓存状态管理指令的类型执行相应的预设程序以实现相应的状态管理操作。
在一个或多个实施例中,所述的RAID阵列下的硬盘缓存状态管理方法还包括:所述上位机通过RAID阵列管理工具storcli由所述RAID控制器中获取RAID阵列索引编号;基于所述RAID阵列索引编号调取相应的关系对照表;基于所述关系对照表获取对应的唯一标识符以生成对指定硬盘的缓存状态管理指令。
在一个或多个实施例中,所述缓存状态管理指令包括:索引信息,所述索引信息包括RAID阵列索引编号以及对应的唯一标识符;命令值,用于确定数据缓存状态管理指令的类型并触发RAID控制器中相应的预设程序;以及功能接口,用于访问硬盘的缓存状态寄存器。
在一个或多个实施例中,根据所述命令值的不同,所述缓存状态管理指令包括三种类型:缓存状态查询指令,用于基于所述索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在所述预设程序的控制下通过所述功能接口获取所述硬盘的缓存状态寄存器中的值的状态并返给所述上位机;缓存开启指令,用于基于所述索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在所述预设程序的控制下通过所述功能接口访问所述硬盘的缓存状态寄存器,并修改缓存状态寄存器的值为开启状态;缓存关闭指令,用于基于所述索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在所述预设程序的控制下通过所述功能接口访问所述硬盘的缓存状态寄存器,并修改缓存状态寄存器的值为关闭状态。
在一个或多个实施例中,所述缓存状态寄存器中的值为1时表示开启硬盘缓存,值为0时表示关闭硬盘缓存。
在一个或多个实施例中,所述的RAID阵列下的硬盘缓存状态管理方法还包括:所述RAID控制器的固件以及所述硬盘的银盘控制器的固件中还预设有SCSI CommandReceived SCSI传输协议的服务接口;所述SCSI Command Received SCSI传输协议的服务接口用于在对应的控制器接收到指令以及完成指令操作时,调用所述服务接口向上级返回相应的指示信息。
在一个或多个实施例中,所述功能接口包括:storelibtest工具中的passthrough接口。
在一个或多个实施例中,所述RAID阵列为多盘RAID阵列,所述多盘RAID阵列包括:RAID0、RAID1、RAID10、RAID5、RAID50、RAID6和/或RAID60。
在本发明的第二方面,提出了一种RAID阵列下的硬盘缓存状态管理服务器,包括:一个或多个处理器,配置用于执行存储器中预设的计算机程序;存储器,所述存储器中存储有可执行的计算机程序,所述计算机程序被所述一个或多个处理器执行时用于实现上述任意一实施例中的方法的步骤,包括:在RAID控制器的固件中为每个RAID阵列下的每个硬盘分配唯一标识符;响应于RAID控制器加载并运行所述固件中的预设程序而为每个硬盘分配一个唯一标识符,并生成RAID阵列索引编号与对应的一个或多个硬盘的唯一标识符的关系对照表;所述RAID控制器响应于接收到上位机的缓存状态管理指令,而基于所述管理指令中的阵列索引编号及唯一标识符在对应的关系对照表中进行匹配;响应于匹配到所述唯一标识符,而基于所述缓存状态管理指令的类型执行相应的预设程序以实现相应的状态管理操作。
在一个或多个实施例中,所述的RAID阵列下的硬盘缓存状态管理方法还包括:所述上位机通过RAID阵列管理工具storcli由所述RAID控制器中获取RAID阵列索引编号;基于所述RAID阵列索引编号调取相应的关系对照表;基于所述关系对照表获取对应的唯一标识符以生成对指定硬盘的缓存状态管理指令。
在一个或多个实施例中,所述缓存状态管理指令包括:索引信息,所述索引信息包括RAID阵列索引编号以及对应的唯一标识符;命令值,用于确定数据缓存状态管理指令的类型并触发RAID控制器中相应的预设程序;以及功能接口,用于访问硬盘的缓存状态寄存器。
在一个或多个实施例中,根据所述命令值的不同,所述缓存状态管理指令包括三种类型:缓存状态查询指令,用于基于所述索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在所述预设程序的控制下通过所述功能接口获取所述硬盘的缓存状态寄存器中的值的状态并返给所述上位机;缓存开启指令,用于基于所述索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在所述预设程序的控制下通过所述功能接口访问所述硬盘的缓存状态寄存器,并修改缓存状态寄存器的值为开启状态;缓存关闭指令,用于基于所述索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在所述预设程序的控制下通过所述功能接口访问所述硬盘的缓存状态寄存器,并修改缓存状态寄存器的值为关闭状态。
在一个或多个实施例中,所述缓存状态寄存器中的值为1时表示开启硬盘缓存,值为0时表示关闭硬盘缓存。
在一个或多个实施例中,所述的RAID阵列下的硬盘缓存状态管理方法还包括:所述RAID控制器的固件以及所述硬盘的银盘控制器的固件中还预设有SCSI CommandReceived SCSI传输协议的服务接口;所述SCSI Command Received SCSI传输协议的服务接口用于在对应的控制器接收到指令以及完成指令操作时,调用所述服务接口向上级返回相应的指示信息。
在一个或多个实施例中,所述功能接口包括:storelibtest工具中的passthrough接口。
在一个或多个实施例中,所述RAID阵列为多盘RAID阵列,所述多盘RAID阵列包括:RAID0、RAID1、RAID10、RAID5、RAID50、RAID6和/或RAID60。
在本发明的第三方面,提出了一种可读存储介质,所述可读存储介质中存储有可执行的计算机程序,所述计算机程序被执行时用于实现上述任意一实施例中的方法的步骤,包括:
在RAID控制器的固件中为每个RAID阵列下的每个硬盘分配唯一标识符;响应于RAID控制器加载并运行所述固件中的预设程序而为每个硬盘分配一个唯一标识符,并生成RAID阵列索引编号与对应的一个或多个硬盘的唯一标识符的关系对照表;所述RAID控制器响应于接收到上位机的缓存状态管理指令,而基于所述管理指令中的阵列索引编号及唯一标识符在对应的关系对照表中进行匹配;响应于匹配到所述唯一标识符,而基于所述缓存状态管理指令的类型执行相应的预设程序以实现相应的状态管理操作。
在一个或多个实施例中,所述的RAID阵列下的硬盘缓存状态管理方法还包括:所述上位机通过RAID阵列管理工具storcli由所述RAID控制器中获取RAID阵列索引编号;基于所述RAID阵列索引编号调取相应的关系对照表;基于所述关系对照表获取对应的唯一标识符以生成对指定硬盘的缓存状态管理指令。
在一个或多个实施例中,所述缓存状态管理指令包括:索引信息,所述索引信息包括RAID阵列索引编号以及对应的唯一标识符;命令值,用于确定数据缓存状态管理指令的类型并触发RAID控制器中相应的预设程序;以及功能接口,用于访问硬盘的缓存状态寄存器。
在一个或多个实施例中,根据所述命令值的不同,所述缓存状态管理指令包括三种类型:缓存状态查询指令,用于基于所述索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在所述预设程序的控制下通过所述功能接口获取所述硬盘的缓存状态寄存器中的值的状态并返给所述上位机;缓存开启指令,用于基于所述索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在所述预设程序的控制下通过所述功能接口访问所述硬盘的缓存状态寄存器,并修改缓存状态寄存器的值为开启状态;缓存关闭指令,用于基于所述索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在所述预设程序的控制下通过所述功能接口访问所述硬盘的缓存状态寄存器,并修改缓存状态寄存器的值为关闭状态。
在一个或多个实施例中,所述缓存状态寄存器中的值为1时表示开启硬盘缓存,值为0时表示关闭硬盘缓存。
在一个或多个实施例中,所述的RAID阵列下的硬盘缓存状态管理方法还包括:所述RAID控制器的固件以及所述硬盘的银盘控制器的固件中还预设有SCSI CommandReceived SCSI传输协议的服务接口;所述SCSI Command Received SCSI传输协议的服务接口用于在对应的控制器接收到指令以及完成指令操作时,调用所述服务接口向上级返回相应的指示信息。
在一个或多个实施例中,所述功能接口包括:storelibtest工具中的passthrough接口。
在一个或多个实施例中,所述RAID阵列为多盘RAID阵列,所述多盘RAID阵列包括:RAID0、RAID1、RAID10、RAID5、RAID50、RAID6和/或RAID60。
采用上述技术方案,本发明至少具有如下有益效果:本发明通过在RAID控制器的固件中为各RAID阵列下的硬盘分配唯一标识符使得各硬盘可以通过唯一标识符进行指定,并生成了RAID阵列索引编号与对应的一个或多个硬盘的唯一标识符的关系对照表,以帮助上位机了解各RAID阵列下的硬盘分布情况,进而有针对性的生成对指定RAID阵列下的指定硬盘的缓存状态管理指令。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术和实施例描述中所需要使用的附图作简单地介绍,附图中的部件不一定按比例绘制,并且可以省略相关的元件,或者在一些情况下比例可能已经被放大,以便强调和清楚地示出本文描述的新颖特征。另外,如本领域中已知的,结构顺序可以被不同地布置。
图1为RIAD系统的结构示意图;
图2为本发明的RAID阵列下的硬盘缓存状态管理方法的工作流程图;
图3为本发明的RAID阵列下的硬盘缓存状态管理服务器的结构示意图;
图4为本发明的可读存储介质的结构示意图。
具体实施方式
虽然本发明可以以各种形式实施,但是在附图中示出并且在下文中将描述一些示例性和非限制性实施例,但应该理解的是,本公开将被认为是本发明的示例并不意图将本发明限制于所说明的具体实施例。
图1为RIAD系统的结构示意图。如图1所示,RAID系统主要包括:RAID控制器、多盘HDD的服务器(即图1中的主机)以及多盘组RAID阵列;其中,多盘组RAID阵列由一个或多个HDD硬盘(后续简称为HDD)组成,图1中仅示出了与一个HDD的具体连接情况。上述RAID系统需要安装操作系统,本发明中选择安装的是RedHat操作系统,并以此来阐述本发明的技术方案。本领域技术人员可以理解的是,采用何种操作系统是本领域技术人员可以根据需要而自由选择的,其并不影响本申请的发明构思的实现,也不对本申请构成任何限制。
请继续参见图1,本发明的主要目的是通过RAID控制器来查看并控制一个或多个指定HDD的RAM的开启或关闭。而HDD的RAM的开启或关闭由HDD控制器读取HDD磁盘上的缓存状态寄存器的值来控制实现。换句话说,本申请的主要目的在于读取指定HDD磁盘上的缓存状态寄存器的值或对其进行修改。
图2为本发明的RAID阵列下的硬盘缓存状态管理方法的工作流程图,其中,RAID阵列由RedHat操作系统进行管理,本发明的RAID阵列下的硬盘缓存状态管理方法的工作流程包括:步骤S1、在RAID控制器的固件中为每个RAID阵列下的每个硬盘分配唯一标识符;步骤S2、响应于RAID控制器加载并运行固件中的预设程序而为每个硬盘分配一个唯一标识符,并生成RAID阵列索引编号与对应的一个或多个硬盘的唯一标识符的关系对照表;步骤S3、RAID控制器响应于接收到上位机的缓存状态管理指令,而基于管理指令中的阵列索引编号及唯一标识符在对应的关系对照表中进行匹配;步骤S4、响应于匹配到唯一标识符,而基于缓存状态管理指令的类型执行相应的预设程序以实现相应的状态管理操作。
具体的,为了能够实现访问指定HDD的缓存状态寄存器,本发明提出了通过步骤S1来在RAID控制器的固件中为每个RAID阵列下的每个硬盘分配唯一标识符,当RAID控制器的加载并运行固件中的预设程序时,即会自动将上述唯一标识符发送给对应的HDD并进行绑定;而后通过步骤S2生成RAID阵列索引编号与对应一个或多个硬盘的唯一标识符的关系对照表;此后,上位机可以通过RedHat操作系统提供的相应服务来调取RAID控制中生成的关系对照表,从而生成针对指定HDD的缓存状态管理指令。
在进一步的实施例中,本发明的RAID阵列下的硬盘缓存状态管理方法,还包括:上位机通过RAID阵列管理工具storcli由RAID控制器中获取RAID阵列索引编号;而后基于RAID阵列索引编号调取相应的关系对照表;而后基于关系对照表获取对应的唯一标识符以生成对指定硬盘的缓存状态管理指令。其中一个阵列索引编号可以对应一个或多个HDD的唯一标识符,从而同时控制一个RAID阵列下的一个或多个HDD的缓存的开启或关闭。
在进一步的实施例中,缓存状态管理指令包括:索引信息,索引信息包括RAID阵列索引编号以及对应的唯一标识符;命令值,用于确定数据缓存状态管理指令的类型并触发RAID控制器中相应的预设程序;以及功能接口,用于访问硬盘的缓存状态寄存器。
在进一步的实施例中,根据命令值的不同,缓存状态管理指令包括三种类型,三种类型分别为:缓存状态查询指令,用于基于索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在预设程序的控制下通过功能接口获取硬盘的缓存状态寄存器中的值的状态并返给上位机;缓存开启指令,用于基于索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在预设程序的控制下通过功能接口访问硬盘的缓存状态寄存器,并修改缓存状态寄存器的值为开启状态;缓存关闭指令,用于基于索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在预设程序的控制下通过功能接口访问硬盘的缓存状态寄存器,并修改缓存状态寄存器的值为关闭状态。其中,一般情况下,缓存状态寄存器中的值为1时表示开启硬盘缓存,值为0时表示关闭硬盘缓存。
在一个具体的实施例中,可以线通过缓存状态查询指令查询某一RAID阵列下所有的HDD的缓存的开启状态;而后根据需要指定控制一个或多个HDD的缓存的开启或关闭。
在进一步的实施例中,为了能够知晓指令的下达及完成情况,本发明的RAID阵列下的硬盘缓存状态管理方法还包括:所述RAID控制器的固件以及所述硬盘的银盘控制器的固件中还预设有SCSI Command Received SCSI传输协议的服务接口;SCSI CommandReceived SCSI传输协议的服务接口用于在对应的控制器接收到指令以及完成指令操作时,调用服务接口向上级返回相应的指示信息。其中,指示信息包括指令已接收或指令已完成。
在进一步的实施例中,缓存状态管理指令中的功能接口包括:storelibtest工具中的passthrough接口。passthrough接口即透传接口用于穿透RAID阵列访问HDD的缓存寄存器。
更具体的,由于本发明采用了RedHat操作系统,主机、RAID控制器与硬盘之间命令交互是通过SCSI传输协议来实现的,主要用到的通信协议服务如下:
上层程序通过调用Send SCSI Command SCSI传输协议服务请求来请求SCSI发送端口发送命令:
Send SCSI Command(IN(I_T_L_Q Nexus,CDB,Task Attribute,[Data-In BufferSize],[Data-Out Buffer],[Data-Out Buffer Size],[CRN],[Task Priority],[FirstBurst Enabled]))
RAID控制器固件、HDD硬盘固件使用SCSI Command Received SCSI传输协议服务指示来通知任务管理器已收到命令:
SCSI Command Received(IN(I_T_L_Q Nexus,CDB,Task Attribute,[CRN],[TaskPriority],[First Burst Enabled]))
HDD固件使用Send Command Complete SCSI传输协议服务相应来请求SCSItarget端口传输命令完成信息:
Send Command Complete(IN(I_T_L_Q Nexus,[Sense Data],[Sense DataLength],Status,Service Response,[Retry Delay Timer]))
RAID控制器固件使用Command Complete Received SCSI传输协议服务确认来通知上层应用已收到命令完成信息:
Command Complete Received(IN(I_T_L_Q Nexus,[Data-In Buffer],[SenseData],[Sense Data Length],Status,Service Response,[Retry Delay Timer]))
HDD硬盘缓存写状态本质是通过SCSI传输协议中的MODE SENSE/MODE SELECT命令来设置硬盘的缓存模式页面中的WCE寄存器的值来控制的,WCE最终会存储在HDD硬盘碟片上专门用于存储各类寄存器的寄存器空间内,通过对寄存器地址寻址方式获取WCE寄存器地址即可对其进行读写操作。其中,HDD硬盘碟片空间分为用户数据存储空间、HDD日志存储空间、寄存器存储空间等。
在进一步的实施例中,本发明方法不受RAID阵列形式限制,可以应用到多种多盘RAID阵列上,这些多盘RAID阵列包括:RAID0、RAID1、RAID10、RAID5、RAID50、RAID6和/或RAID60。
由上述各实施例可知,本发明通过在RAID控制器的固件中为各RAID阵列下的硬盘分配唯一标识符使得各硬盘可以通过唯一标识符进行指定,并生成了RAID阵列索引编号与对应的一个或多个硬盘的唯一标识符的关系对照表,以帮助上位机了解各RAID阵列下的硬盘分布情况,进而有针对性的生成对指定RAID阵列下的指定硬盘的缓存状态管理指令。
图3为本发明的RAID阵列下的硬盘缓存状态管理服务器的结构示意图。在本发明的第二方面,提出了一种RAID阵列下的硬盘缓存状态管理服务器,如图3所示,本发明的RAID阵列下的硬盘缓存状态管理服务器包括:一个或多个处理器100,配置用于执行存储器200中预设的计算机程序;存储器200,该存储器200中存储有可执行的计算机程序201,该计算机程序201被一个或多个处理器100执行时用于实现上述各实施例中所述的一种RAID阵列下的硬盘缓存状态管理方法的步骤。
图4为本发明的可读存储介质的结构示意图。在本发明的第三方面,提出了一种可读存储介质,如图4所示,本发明的可读存储介质300中存储有可执行的计算机程序301,该计算机程序301被执行时用于实现上述各实施例中所述的一种RAID阵列下的硬盘缓存状态管理方法的步骤。
本文所述的计算机可读存储介质(例如存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
应当理解的是,在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,从而形成本发明范围内的另外实施例。此外,本文所述的特定示例和实施例是非限制性的,并且可以对以上所阐述的结构、步骤及顺序做出相应修改而不脱离本发明的保护范围。
在本申请中,反意连接词的使用旨在包括连接词。定或不定冠词的使用并不旨在指示基数。具体而言,对“该”对象或“一”和“一个”对象的引用旨在表示多个这样对象中可能的一个。然而,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。此外,可以使用连接词“或”来传达同时存在的特征,而不是互斥方案。换句话说,连接词“或”应理解为包括“和/或”。术语“包括”是包容性的并且具有与“包含”相同的范围。
上述实施例,特别是任何“优选”实施例是实施方式的可能示例,并且仅仅为了清楚理解本发明的原理而提出。在基本上不脱离本文描述的技术的精神和原理的情况下,可以对上述实施例做出许多变化和修改。所有修改旨在被包括在本公开的范围内。
Claims (10)
1.一种RAID阵列下的硬盘缓存状态管理方法,其特征在于,所述RAID阵列由RedHat操作系统进行管理,所述方法包括:
在RAID控制器的固件中为每个RAID阵列下的每个硬盘分配唯一标识符;
响应于RAID控制器加载并运行所述固件中的预设程序而为每个硬盘分配一个唯一标识符,并生成RAID阵列索引编号与对应的一个或多个硬盘的唯一标识符的关系对照表;
所述RAID控制器响应于接收到上位机的缓存状态管理指令,而基于所述管理指令中的阵列索引编号及唯一标识符在对应的关系对照表中进行匹配;
响应于匹配到所述唯一标识符,而基于所述缓存状态管理指令的类型执行相应的预设程序以实现相应的状态管理操作。
2.根据权利要求1所述的RAID阵列下的硬盘缓存状态管理方法,其特征在于,所述方法还包括:
所述上位机通过RAID阵列管理工具storcli由所述RAID控制器中获取RAID阵列索引编号;
基于所述RAID阵列索引编号调取相应的关系对照表;
基于所述关系对照表获取对应的唯一标识符以生成对指定硬盘的缓存状态管理指令。
3.根据权利要求1所述的RAID阵列下的硬盘缓存状态管理方法,其特征在于,所述缓存状态管理指令包括:
索引信息,所述索引信息包括RAID阵列索引编号以及对应的唯一标识符;
命令值,用于确定数据缓存状态管理指令的类型并触发RAID控制器中相应的预设程序;以及
功能接口,用于访问硬盘的缓存状态寄存器。
4.根据权利要求3所述的RAID阵列下的硬盘缓存状态管理方法,其特征在于,根据所述命令值的不同,所述缓存状态管理指令包括三种类型:
缓存状态查询指令,用于基于所述索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在所述预设程序的控制下通过所述功能接口获取所述硬盘的缓存状态寄存器中的值的状态并返给所述上位机;
缓存开启指令,用于基于所述索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在所述预设程序的控制下通过所述功能接口访问所述硬盘的缓存状态寄存器,并修改缓存状态寄存器的值为开启状态;
缓存关闭指令,用于基于所述索引信息定位相应的硬盘,并触发RAID控制器中相应的预设程序,并在所述预设程序的控制下通过所述功能接口访问所述硬盘的缓存状态寄存器,并修改缓存状态寄存器的值为关闭状态。
5.根据权利要求4所述的RAID阵列下的硬盘缓存状态管理方法,其特征在于,所述缓存状态寄存器中的值为1时表示开启硬盘缓存,值为0时表示关闭硬盘缓存。
6.根据权利要求1所述的RAID阵列下的硬盘缓存状态管理方法,其特征在于,所述方法还包括:
所述RAID控制器的固件以及所述硬盘的银盘控制器的固件中还预设有SCSI CommandReceived SCSI传输协议的服务接口;
所述SCSI Command Received SCSI传输协议的服务接口用于在对应的控制器接收到指令以及完成指令操作时,调用所述服务接口向上级返回相应的指示信息。
7.根据权利要求1所述的RAID阵列下的硬盘缓存状态管理方法,其特征在于,所述功能接口包括:storelibtest工具中的passthrough接口。
8.根据权利要求1所述的RAID阵列下的硬盘缓存状态管理方法,其特征在于,所述RAID阵列为多盘RAID阵列,所述多盘RAID阵列包括:RAID0、RAID1、RAID10、RAID5、RAID50、RAID6和/或RAID60。
9.一种RAID阵列下的硬盘缓存状态管理服务器,其特征在于,包括:
一个或多个处理器,配置用于执行存储器中预设的计算机程序;
存储器,所述存储器中存储有可执行的计算机程序,所述计算机程序被所述一个或多个处理器执行时用于实现上述权利要求1-8任意一项所述的方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有可执行的计算机程序,所述计算机程序被执行时用于实现上述权利要求1-8任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210902565.3A CN115061638B (zh) | 2022-07-29 | 2022-07-29 | Raid阵列下的硬盘缓存状态管理方法、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210902565.3A CN115061638B (zh) | 2022-07-29 | 2022-07-29 | Raid阵列下的硬盘缓存状态管理方法、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115061638A true CN115061638A (zh) | 2022-09-16 |
CN115061638B CN115061638B (zh) | 2024-07-02 |
Family
ID=83206220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210902565.3A Active CN115061638B (zh) | 2022-07-29 | 2022-07-29 | Raid阵列下的硬盘缓存状态管理方法、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115061638B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858410A (zh) * | 2023-02-16 | 2023-03-28 | 浪潮电子信息产业股份有限公司 | 一种io处理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070297501A1 (en) * | 2006-06-08 | 2007-12-27 | Via Technologies, Inc. | Decoding Systems and Methods in Computational Core of Programmable Graphics Processing Unit |
CN111209606A (zh) * | 2020-01-05 | 2020-05-29 | 苏州浪潮智能科技有限公司 | 一种预警raid卡后硬盘变动的方法、装置和设备 |
CN111602126A (zh) * | 2017-10-31 | 2020-08-28 | 美光科技公司 | 具有混合线程处理器的系统、具有可配置计算元件的混合线程组构以及混合互连网络 |
CN114610238A (zh) * | 2022-03-14 | 2022-06-10 | 浪潮云信息技术股份公司 | 一种裸金属安全使用分布式存储的方法与装置 |
-
2022
- 2022-07-29 CN CN202210902565.3A patent/CN115061638B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070297501A1 (en) * | 2006-06-08 | 2007-12-27 | Via Technologies, Inc. | Decoding Systems and Methods in Computational Core of Programmable Graphics Processing Unit |
CN111602126A (zh) * | 2017-10-31 | 2020-08-28 | 美光科技公司 | 具有混合线程处理器的系统、具有可配置计算元件的混合线程组构以及混合互连网络 |
CN111209606A (zh) * | 2020-01-05 | 2020-05-29 | 苏州浪潮智能科技有限公司 | 一种预警raid卡后硬盘变动的方法、装置和设备 |
CN114610238A (zh) * | 2022-03-14 | 2022-06-10 | 浪潮云信息技术股份公司 | 一种裸金属安全使用分布式存储的方法与装置 |
Non-Patent Citations (1)
Title |
---|
熊伟;武舫;范建永;: "GIS中地图符号化研究与实践", 测绘与空间地理信息, no. 05, 30 October 2006 (2006-10-30), pages 94 - 96 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858410A (zh) * | 2023-02-16 | 2023-03-28 | 浪潮电子信息产业股份有限公司 | 一种io处理方法、装置、设备及存储介质 |
CN115858410B (zh) * | 2023-02-16 | 2023-05-23 | 浪潮电子信息产业股份有限公司 | 一种io处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115061638B (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10073640B1 (en) | Large scale implementation of a plurality of open channel solid state drives | |
US8924659B2 (en) | Performance improvement in flash memory accesses | |
KR100923990B1 (ko) | 플래시 저장 장치의 특성을 기반으로 한 컴퓨팅 시스템 | |
US11960749B2 (en) | Data migration method, host, and solid state disk | |
US6877011B2 (en) | System and method for host based storage virtualization | |
US6941439B2 (en) | Computer system | |
US9612745B2 (en) | Raid set initialization | |
EP2417533A1 (en) | Data striping in a flash memory data storage device | |
US8458289B1 (en) | Methods and apparatus for providing content | |
US10649891B2 (en) | Storage device that maintains mapping data therein | |
US11314655B2 (en) | Storage device configurable mapping granularity system where data is written without performing read-modify-write operations | |
CN109313593B (zh) | 存储系统 | |
CN115757207A (zh) | 缓存状态管理方法、装置、通信设备及存储介质 | |
CN115061638B (zh) | Raid阵列下的硬盘缓存状态管理方法、服务器及存储介质 | |
US8010733B1 (en) | Methods and apparatus for accessing content | |
US10031689B2 (en) | Stream management for storage devices | |
CN113918087B (zh) | 存储装置以及用于管理存储装置中的命名空间的方法 | |
US8572347B2 (en) | Storage apparatus and method of controlling storage apparatus | |
US8285943B2 (en) | Storage control apparatus and method of controlling storage control apparatus | |
CN114822631B (zh) | 一种基于mram主存的混合型nvme ssd存储系统 | |
US11561695B1 (en) | Using drive compression in uncompressed tier | |
WO2020087265A1 (en) | System and method for reporting and handling flash programming failure in host-managed flash translation layer | |
US7590679B2 (en) | Managing multiple unit attentions | |
KR20090113624A (ko) | 솔리드 스테이트 드라이브 및 그 동작 제어방법 | |
US20180329468A1 (en) | Selection of a data loss prevention technique |
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 | ||
GR01 | Patent grant |