一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多核硬盘及其数据监测方法、系统与流程

2022-04-30 14:06:16 来源:中国专利 TAG:


1.本发明涉及服务器技术领域,尤其是一种多核硬盘及其数据监测方法、系统。


背景技术:

2.早期ssd(solid state disk,固态硬盘)绝大多数都是使用sata(serial advanced technology attachment hard disk,串口硬盘)接口,足够满足系统性能需求。然而,大数据相关产业的发展同样也带动了ssd技术的发展。以前的sata硬盘的存储读取速度已然无法满足。此时使用nvme(non volatile memory host controller interface specification,非易失性内存主机控制器接口规范)协议和pcie(peripheral component interconnect express,最新的总线和接口标准)接口ssd硬盘就应运而生。nvme ssd具有低时延,高性能,低功耗的特点,这些特点使得越来越多的服务器应用领域选择更快更高效的nvme ssd硬盘。同时随着nvme ssd硬盘的存储和读取速率的显著提升,硬盘运行时产生的热量也大大增加。为了保证设备安全并稳定的运行,需要时刻检测ssd硬盘运行的温度。
3.目前ssd硬盘检测温度通过i2c(inter-integrated circuit,一种简单、双向二线制同步串行总线)去读取内置的温度传感器的数值。但是i2c的读取速度相较于其他读写操作很慢。如果想要实时的获得当前的温度数值,就需要频繁的通过i2c去读取温度传感器的数值。在这个过程中cpu需等待读数结束,才可以进行其他操作。
4.在nvme ssd硬盘中,为了保证系统出现异常高温时可以及时做出相应处理,每个cpu都需要通过i2c去读取温度传感器的数值。这样就会对nvme ssd性能有很大的影响。


技术实现要素:

5.本发明提供了一种多核硬盘及其数据监测方法、系统,用于解决现有硬盘数据监测方式影响硬盘性能的问题。
6.为实现上述目的,本发明采用下述技术方案:
7.本发明第一方面提供了一种多核硬盘的数据监测方法,所述方法包括以下步骤:
8.通过硬盘内预设的小核cpu获取监测数据,将所述监测数据存储至公共内存;
9.硬盘内预设的大核cpu响应于硬盘交互任务,且通过所述公共内存获取所述监测数据,对所述监测数据进行分析处理。
10.进一步地,所述大核cpu包括若干cortex r8核,所述小核cpu包括若干cortex m3核。
11.进一步地,所述获取监测数据之前还包括对大核cpu和对小核cpu进行上电配置。
12.进一步地,所述对大核cpu和对小核cpu进行上电配置具体为:
13.硬盘上电后,cortex r8_0的电源域上电,并引导硬盘系统启动及进行初始化操作;
14.将cortex r8核的cpu入口地址写入对应入口寄存器,并将该cpu的状态寄存器置位有效,将cortex m3核的cpu入口地址暂存;
15.为context r8核的cpu上电;
16.将cortex m3核的起始地址重映射到ram,并将暂存的cpu入口地址写入该ram,为cortex m3核的cpu上电。
17.进一步地,所述引导硬盘系统启动及进行初始化操作包括:
18.执行固化在rom中的boot代码,引导硬盘系统启动;
19.对存储在nand或spi flash中的固件包进行解析,获取fsbl代码,并将该fsbl代码加载至ram中;
20.执行所述fsbl代码,进行硬盘及外围硬件模块的初始化设置。
21.进一步地,所述监测数据包括通过温度传感器获取的温度信号和通过电压传感器获取的电压信号。
22.进一步地,所述对所述监测数据进行分析处理包括:
23.对周期性读取的监测数据进行阈值分析,在发现异常后进行设备报警;
24.响应于主机的监测数据获取指令,读取监测数据并返回主机。
25.本发明第二方面提供了一种多核硬盘的数据监测系统,所述系统包括:
26.小核控制单元,通过硬盘内预设的小核cpu获取监测数据,将所述监测数据存储至公共内存;
27.大核控制单元,硬盘内预设的大核cpu响应于硬盘交互任务,且通过所述公共内存获取所述监测数据,对所述监测数据进行分析处理。
28.本发明第三方面提供了一种计算机存储介质,所述计算机存储介质中存储有计算机指令,所述计算机指令在所述的数据监测系统上运行时,使所述数据监测系统执行如所述数据监测方法的步骤。
29.本发明第四方面提供了一种多核硬盘,所述硬盘包括大核cpu和小核cpu;所述小核cpu用于获取监测数据,将所述监测数据存储至公共内存;所述大核cpu响应于硬盘交互任务,且通过所述公共内存获取所述监测数据,对所述监测数据进行分析处理。
30.本发明第二方面的所述数据监测系统能够实现第一方面及第一方面的各实现方式中的方法,并取得相同的效果。
31.发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
32.本发明硬盘采用大小核设计,大核cpu用于处理ssd硬盘的主要业务逻辑,小核cpu通过i2c去读取监测数据并将数据写到公共内存中,同时小核cpu也担任起和其他外设进行通信的任务。这样就避免了因为频繁地读取各种外设而导致的ssd性能的下降。将主要业务逻辑和低效率的外设通信分开,在保证ssd性能的同时也实现了对ssd硬盘的运行数据的监测。另外本发明实施例还设计了nvme id-ctrl命令,可以实时获得ssd硬盘当前的运行温度,大大提高了测试人员检测效率。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1是本发明所述多核硬盘的结构示意图;
35.图2是本发明所述方法实施例的流程示意图;
36.图3是本发明所述系统实施例的结构示意图。
具体实施方式
37.为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
38.如图1所示,本发明实施例提供了一种多核ssd硬盘,所述ssd硬盘包括大核cpu和小核cpu;所述小核cpu用于获取监测数据,将所述监测数据存储至公共内存;所述大核cpu响应于主机host端的硬盘交互任务,且通过所述公共内存获取所述监测数据,对所述监测数据进行分析处理。
39.其中,所述大核cpu包括若干cortex r8核,所述小核cpu包括若干cortex m3核。本实施例中选用4个cortex r8核和2个cortex m3核。
40.小核cpu通过与传感器sensor的通信,获取实时监测数据,传感器包括温度传感器和电压传感器等监测传感器。
41.本实施例的ssd硬盘使用cortex m3核通过i2c和传感器通信,然后申请一段公共内存将获取到的监测数据写入其中,cortex r8的每个核在每次需要获得数据的时候都会去此内存中获得数据,大大提高了工作效率,不会增加硬盘和主机host之间的通信工作量,且避免了现有方案中cortex r8的每个核都单独通过i2c和传感器进行通信影响硬盘性能的问题。
42.如图2所示,本发明实施例还提供了一种多核硬盘的数据监测方法,包括以下步骤:
43.s1,通过硬盘内预设的小核cpu获取监测数据,将所述监测数据存储至公共内存;
44.s2,硬盘内预设的大核cpu响应于硬盘交互任务,且通过所述公共内存获取所述监测数据,对所述监测数据进行分析处理。
45.其中,所述大核cpu包括若干cortex r8核,所述小核cpu包括若干cortex m3核。
46.所述获取监测数据之前还包括对大核cpu和对小核cpu进行上电配置,具体为:
47.硬盘上电后,cortex r8_0的电源域上电启动,并引导硬盘系统启动及进行初始化操作,具体包括:执行固化在rom中的boot代码,引导系统启动,对存储在nand(nand flash memory,计算机闪存设备,本实施例终于数据的存储)或者spi flash(本实施例中用于指令的存储)中的固件包进行解析。cortex r8_0在固件包中找到fsbl(first boot loader,启动载入程序)代码,并将其加载到ram(random access memory,与cpu直接交换数据的内部存储器)中。cortex r8_0执行fsbl(first boot loader)代码,进行时钟、dram和一些外围硬件模块的初始化设置,其中包括温度传感器的初始化设置;
48.扫描遍历出fsbl之外的剩余固件包,将cortex r8核的cpu入口地址写入对应入口
寄存器,并将该cpu的状态寄存器置位有效,将cortex m3核的cpu入口地址暂存;
49.cortex r8_0打开已加载完固件的cortex r8系列的cpu的电源域,并执行唤醒指令,唤醒同cluster(组)的其他r8 cpu,为context r8核的cpu上电;
50.cortex r8_0将cortex m3核的起始地址重映射到ram,并将暂存的cpu入口地址写入该ram,打开cortex m3的电源域,为cortex m3核的cpu上电。依次对cortex m3_0和cortex m3_1执行该步骤的操作,完成上电。
51.步骤s1中,所述监测数据包括通过温度传感器获取的温度信号和通过电压传感器获取的电压信号。
52.步骤s2中,所述对所述监测数据进行分析处理包括:对周期性读取的监测数据进行阈值分析,在发现异常后进行设备报警;响应于主机的监测数据获取指令,读取监测数据并返回主机。
53.监测数据获取指令为nvme id-ctrl命令。为了进一步方便测试人员对ssd设备的运行状况有更好的了解,测试人员通过nvme id-ctrl命令获取到监测数据。当输入以上命令时,host会和ssd设备通信,然后cortex m3_0会把数据写入到申请的公共内存中,cortex r8_0就会去公共内存处读取数据并返给host,host在通过终端将数据进行打印输出。
54.如图3所示,本发明实施例还提供了一种多核硬盘的数据监测系统,包括小核控制单元1和大核控制单元2。
55.小核控制单元1通过硬盘内预设的小核cpu获取监测数据,将所述监测数据存储至公共内存;大核控制单元2通过硬盘内预设的大核cpu响应于硬盘交互任务,且通过所述公共内存获取所述监测数据,对所述监测数据进行分析处理。
56.本发明实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机指令,所述计算机指令在所述的数据监测系统上运行时,使所述数据监测系统执行所述数据监测方法的步骤。
57.上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献