CN112463391B - 内存控制方法、内存控制装置、存储介质与电子设备 - Google Patents
内存控制方法、内存控制装置、存储介质与电子设备 Download PDFInfo
- Publication number
- CN112463391B CN112463391B CN202011444443.1A CN202011444443A CN112463391B CN 112463391 B CN112463391 B CN 112463391B CN 202011444443 A CN202011444443 A CN 202011444443A CN 112463391 B CN112463391 B CN 112463391B
- Authority
- CN
- China
- Prior art keywords
- chip
- memory
- operation event
- event
- disconnected
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本公开提供了一种内存控制方法、内存控制装置、计算机存储介质与电子设备,涉及计算机技术领域。其中,内存控制方法包括:利用预先训练的用户行为预测模型确定用户在预设时长之后的预测操作事件;根据预测操作事件对应的资源需求量,动态调节与处理器连接的内存芯片的数目。本公开能够根据终端的实际使用情况动态调节与处理器连接的内存芯片数目,使得资源需求量较小的情况下仅激活部分内存芯片,从而能够解决相关技术中各内存芯片始终处于激活通信状态导致功耗偏高的问题,降低内存和处理器的功耗,降低耗电量,延长移动终端的电池的使用时间。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种内存控制方法、内存控制装置、计算机存储介质与电子设备。
背景技术
目前电子设备上的应用功能越来越多,越来越丰富多彩,导致功耗越来越高,影响硬件性能与续航。
相关技术中,一般是通过动态调频以节省功耗,然而,动态调频可以降低通信频率,但始终还是存在通信,各模块还是处于激活状态,功耗依旧偏高。或者,通过设计多个CPU(Central Processing Unit,中央处理器),每个CPU单独控制一个存储器,然而,这种方法需要重新设计SOC(System on Chip,系统级芯片),且无法与现存市场的SOC方案相兼容,多颗CPU也会造成硬件浪费,成本较高。
发明内容
本公开的目的在于提供一种内存控制方法、内存控制装置、计算机存储介质与电子设备,进而至少在一定程度上改善了相关技术中功耗较高的缺陷。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种内存控制方法,包括:利用预先训练的用户行为预测模型确定用户在预设时长之后的预测操作事件;根据所述预测操作事件对应的资源需求量,动态调节与处理器连接的内存芯片的数目。
根据本公开的第二方面,提供一种内存控制装置,包括:操作事件预测模块,用于利用预先训练的用户行为预测模型确定用户在预设时长之后的预测操作事件;内存调节模块,用于根据所述预测操作事件对应的资源需求量,动态调节与处理器连接的内存芯片的数目。
根据本公开的第三方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的内存控制方法及其可能的实现方式。
根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面的内存控制方法及其可能的实现方式。
本公开的技术方案具有以下有益效果:
一方面,利用预先训练的用户行为预测模型确定用户在预设时长之后的预测操作事件,能够预判用户在未来的操作事件,以便于后续及时对与处理器连接的内存芯片的数量进行调节,避免处理延时。另一方面,根据预测操作事件对应的资源需求量,动态调节与处理器连接的内存芯片的数目,使得资源需求量较小的情况下仅激活部分内存芯片,从而能够解决相关技术中各内存芯片始终处于激活通信状态导致功耗偏高的问题,降低内存和处理器的功耗,降低耗电量,保证硬件性能与续航。
本公开应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本示例性实施方式中一种电子设备的结构示意图;
图2示出本示例性实施方式中一种内存控制方法的流程图;
图3示出本示例性实施方式中一种训练得到用户行为预测模型的流程图;
图4示出本示例性实施方式中一种根据预测操作事件对应的资源需求量,动态调节与处理器连接的内存芯片的数目的示意图;
图5示出本示例性实施方式中一种确定预测操作事件对应的资源需求量是否小于需求量阈值的示意图;
图6示出本示例性实施方式中一种对待断开芯片中的数据进行重定位处理,以将待断开芯片中的数据拷贝至待保留芯片中的流程图;
图7示出本示例性实施方式中一种内存控制方法的示意图;
图8示出本示例性实施方式中一种内存控制方法的整体流程图;
图9示出本示例性实施方式中一种内存控制装置的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本公开的示例性实施方式首先提供一种内存控制方法,其应用场景包括但不限于:各个用户通过使用客户端软件,例如社交App(Application,应用程序),游戏App等,可以形成用户的历史操作数据。可以基于这些历史操作数据,以及用户的特征信息,构建一个用户行为预测模型。进而,可以根据该用户行为预测模型得到用户在预设时长之后的预测操作事件,当预测操作事件的资源需求量小于需求量阈值时,可以关闭CPU中的部分M-PHY接口,以断开CPU与部分内存芯片之间的连接,降低内存和CPU的功耗。
本公开的示例性实施方式还提供一种电子设备,用于执行上述内存控制方法。该电子设备可以是终端或云端的服务器,包括但不限于计算机、智能手机、可穿戴设备(如AR眼镜)、机器人、无人机等。一般的,电子设备包括处理器和存储器。存储器用于存储处理器的可执行指令,也可以存储应用数据,如图像数据、视频数据等;处理器配置为经由执行可执行指令来执行本示例性实施方式中的内存控制方法。
下面以图1中的移动终端100为例,对上述电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图1中的构造也能够应用于固定类型的设备。
如图1所示,移动终端100具体可以包括:处理器110、内部存储器121、外部存储器接口122、USB(Universal Serial Bus,通用串行总线)接口130、充电管理模块140、电源管理模块141、电池142、天线1、天线2、移动通信模块150、无线通信模块160、音频模块170、扬声器171、受话器172、麦克风173、耳机接口174、传感器模块180、显示屏190、摄像模组191、指示器192、马达193、按键194以及SIM(Subscriber Identification Module,用户标识模块)卡接口195等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括AP(Application Processor,应用处理器)、调制解调处理器、GPU(Graphics ProcessingUnit,图形处理器)、ISP(Image Signal Processor,图像信号处理器)、控制器、编码器、解码器、DSP(Digital Signal Processor,数字信号处理器)、基带处理器和/或NPU(Neural-Network Processing Unit,神经网络处理器)等。
编码器可以对图像或视频数据进行编码(即压缩),例如对拍摄的场景图像进行编码,形成对应的码流数据,以减少数据传输所占的带宽;解码器可以对图像或视频的码流数据进行解码(即解压缩),以还原出图像或视频数据,例如对场景图像的码流数据进行解码,得到完整的图像数据,便于执行本示例性实施方式的定位方法。移动终端100可以支持一种或多种编码器和解码器。这样,移动终端100可以处理多种编码格式的图像或视频,例如:JPEG(Joint Photographic Experts Group,联合图像专家组)、PNG(Portable NetworkGraphics,便携式网络图形)、BMP(Bitmap,位图)等图像格式,MPEG(Moving PictureExperts Group,动态图像专家组)1、MPEG2、H.263、H.264、HEVC(High Efficiency VideoCoding,高效率视频编码)等视频格式。
在一些实施方式中,处理器110可以包括一个或多个接口,通过不同的接口和移动终端100的其他部件形成连接。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括易失性存储器与非易失性存储器。处理器110通过运行存储在内部存储器121的指令,执行移动终端100的各种功能应用以及数据处理。
外部存储器接口122可以用于连接外部存储器,例如Micro SD卡,实现扩展移动终端100的存储能力。外部存储器通过外部存储器接口122与处理器110通信,实现数据存储功能,例如存储图像,视频等文件。
USB接口130是符合USB标准规范的接口,可以用于连接充电器为移动终端100充电,也可以连接耳机或其他电子设备。
充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为设备供电;电源管理模块141还可以监测电池的状态。
移动终端100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。移动通信模块150可以提供应用在移动终端100上的包括2G/3G/4G/5G等无线通信的解决方案。无线通信模块160可以提供应用在移动终端100上的包括WLAN(Wireless LocalArea Networks,无线局域网)(如Wi-Fi(Wireless Fidelity,无线保真)网络)、BT(Bluetooth,蓝牙)、GNSS(Global Navigation Satellite System,全球导航卫星系统)、FM(Frequency Modulation,调频)、NFC(Near Field Communication,近距离无线通信技术)、IR(Infrared,红外技术)等无线通信解决方案。
移动终端100可以通过GPU、显示屏190及AP等实现显示功能,显示用户界面。例如,当用户开启拍摄功能时,移动终端100可以在显示屏190中显示拍摄界面和预览图像等。
移动终端100可以通过ISP、摄像模组191、编码器、解码器、GPU、显示屏190及AP等实现拍摄功能。例如,用户可以启动视觉定位的相关服务,触发开启拍摄功能,此时可以通过摄像模组191实时采集图像,并进行定位。
移动终端100可以通过音频模块170、扬声器171、受话器172、麦克风173、耳机接口174及AP等实现音频功能。
传感器模块180可以包括深度传感器1801、压力传感器1802、陀螺仪传感器1803、气压传感器1804等,以实现相应的感应检测功能。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。马达193可以产生振动提示,也可以用于触摸振动反馈等。按键194包括开机键,音量键等。
移动终端100可以支持一个或多个SIM卡接口195,用于连接SIM卡,以实现通话与移动通信等功能。
图2示出了上述内存控制方法的示例性流程,可以包括:
步骤S210,利用预先训练的用户行为预测模型确定用户在预设时长之后的预测操作事件;
步骤S220,根据预测操作事件对应的资源需求量,动态调节与处理器连接的内存芯片的数目。
通过上述方法,一方面,利用预先训练的用户行为预测模型确定用户在预设时长之后的预测操作事件,能够预判用户在未来的操作事件,以便于后续及时对与处理器连接的内存芯片的数量进行调节,避免处理延时。另一方面,根据预测操作事件对应的资源需求量,动态调节与处理器连接的内存芯片的数目,使得资源需求量较小的情况下仅激活部分内存芯片,从而能够解决相关技术中各内存芯片始终处于激活通信状态导致功耗偏高的问题,降低内存和处理器的功耗,降低耗电量,保证硬件性能与续航。
以下对图2中的步骤进行具体说明。
在步骤S210中,利用预先训练的用户行为预测模型确定用户在预设时长之后的预测操作事件。
本步骤中,可以预先训练一用户行为预测模型,示例性的,可以参考图3,图3示出训练得到用户行为预测模型的流程图,包含步骤S301-S302,以下结合图3对步骤S210进行解释。
在步骤S301中,获取用户的历史操作数据。
本步骤中,可以从实时记录的用户操作日志中获取用户的历史操作数据,历史操作数据包括历史操作事件(用户每天的操作事件序列,例如:开机-编辑备忘录-打开微信-打开微博等)、各历史操作事件对应的历史操作时间及持续时长等。
在步骤S302中,根据历史操作数据,对待训练用户行为预测模型进行训练,得到用户行为预测模型。
本步骤中,可以将上述历史操作数据输入待训练用户行为预测模型中,多次调整参数以训练上述待训练用户行为预测模型,使上述待训练用户行为预测模型的损失函数趋于收敛,得到上述用户行为预测模型。
示例性的,还可以获取用户的用户画像,其中,用户画像可以包括用户基本信息、用户偏好和用户行为,其中,用户基本信息可以是性别、年龄、学历、职业、户籍地等,用户偏好可以是喜欢瑜伽、听音乐、跑步、购物等,用户行为可以是看新闻、刷微博等。进而,可以将上述历史操作数据及用户画像输入待训练用户行为预测模型中,多次调整参数以训练上述待训练用户行为预测模型,使上述待训练用户行为预测模型的损失函数趋于收敛,得到上述用户行为预测模型。
其中,上述预设机器学习模型可以是回归模型,例如:线性回归(是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析)、多项式回归,支持向量回归、分位数回归、稳健回归等。预设机器学习模型还可以是Arima(Autoregressive Integrated Moving Average model,差分整合移动平均自回归模型,又称整合移动平均自回归模型,是时间序列预测分析方法之一,ARIMA(p,d,q)中,AR是“自回归”,p为自回归项数,MA为“滑动平均”,q为滑动平均项数,d为使之成为平稳序列所做的差分阶数)、GBDT(Gradient Boosting Decision Tree,又叫MART(Multiple AdditiveRegression Tree,是为了解决一般损失函数的优化问题,方法是用损失函数的负梯度在当前模型的值来模拟回归问题中残差的近似值)。预设机器学习模型还可以是深度学习模型,例如多层神经网络,LSTM(Long Short-Term Memory,长短期记忆网络,是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式)、waveNet(是谷歌deepmind最新推出基于深度学习的语音生成模型,该模型可以直接对原始语音数据进行建模)、transfomer(是Google的团队在2017年提出的一种自然语言处理经典模型)、DeepAR(DeepAR是一种适用于时间序列预测的监督学习算法,该算法使用递归神经网络生成点预测和概率预测)等,可以根据实际情况自行设定,属于本公开的保护范围。
在训练得到上述用户行为预测模型之后,可以将用户当前的操作事件及操作时间输入上述用户行为预测模型中,根据上述用户行为预测模型的输出,得到用户在预设时长之后的预测操作事件,从而,能够预判用户在未来的操作事件,以便于后续及时对与处理器连接的内存芯片的数量进行调节,避免处理延时,保证处理时效性。
需要说明的是,上述预设时长可以是预先设定的数值,例如:3秒,可以根据实际情况自行设定和更改,属于本公开的保护范围。
在步骤S220中,根据预测操作事件对应的资源需求量,动态调节与处理器连接的内存芯片的数目。
本步骤中,在得到上述预测操作事件之后,可以确定上述预测操作事件对应的资源需求量(例如:带宽需求量),并直接根据上述资源需求量动态调节与处理器连接的内存芯片的数目。具体的,可以预先存储一资源需求量和处理器连接的内存芯片数目之间的对应表(例如:资源需求量X-处理器连接的内存芯片数目Y),进而,根据上述资源需求量读取上述对应表,以确定出与处理器连接的内存芯片的数目,进而,基于上述数目采用随机算法确定出与处理器连接的目标内存芯片的编号,进而,断开与剩余内存芯片的连接。
在确定出上述预测操作事件对应的资源需求量之后,还可以参考图4,图4示出根据预测操作事件对应的资源需求量,动态调节与处理器连接的内存芯片的数目的流程图,包含步骤S401-S404,以下结合图4对步骤S220进行解释。
在步骤S401中,判断预测操作事件对应的资源需求量是否小于需求量阈值。
本步骤中,可以判断预测操作事件对应的带宽需求量是否小于需求量阈值(例如:1600Mbps),示例性的,可以参考图5,图5示出确定预测操作事件对应的资源需求量是否小于需求量阈值的流程图,包含步骤S501-步骤S502,以下结合图5对步骤S401进行解释。
在步骤S501中,若预测操作事件为锁屏事件、无触控事件或间歇触控事件,则确定预测操作事件对应的资源需求量小于需求量阈值。
本步骤中,若预测操作事件为锁屏事件(例如:用户点击锁屏按钮不再操作)、无触控事件(用户打开某页面之后停止触控,进而设备自动灭屏,例如:灭屏听音乐)或间歇触控事件(例如:用户打开电子书软件或新闻软件之后,浏览电子书或浏览新闻时偶尔的滑动或翻页操作)时,则可以确定上述预测操作事件对应的资源需求量小于上述需求量阈值。
在步骤S502中,若预测操作事件为亮屏事件、拍摄事件或连续多次触控事件,则确定预测操作事件对应的资源需求量大于或等于需求量阈值。
本步骤中,若上述预测操作事件为亮屏事件(例如:用户点击某视频APP之后观看视频,设备长时间保持亮屏状态)、拍摄事件(例如:用户点击拍摄按钮后,进行拍照或摄像)、连续多次触控事件(例如:用户进入游戏应用后,多次触控以进行游戏操作)时,则可以确定上述预测操作事件对应的资源需求量大于或等于上述需求量阈值。
继续参考图4,在步骤S402中,若预测操作事件对应的资源需求量小于需求量阈值,则从多个内存芯片中选取待断开芯片和待保留芯片,并将待断开芯片中的数据拷贝至待保留芯片中。
本步骤中,若确定出预测操作事件的资源需求量小于上述需求量阈值,则可以从多个内存芯片中选取待断开芯片和待保留芯片。举例而言,当内存为双通道模式时(即包含内存芯片1和内存芯片2),则可以将内存芯片1确定为待保留芯片,将内存芯片2确定为待断开芯片。当内存为四通道模式时(即包含内存芯片1、内存芯片2、内存芯3和内存芯4),则可以将内存芯片1和内存芯片2确定为待保留芯片,将内存芯片3和内存芯片4确定为待断开芯片(也可以将内存芯片1和内存芯片3确定为待保留芯片,将内存芯片2和内存芯片4确定为待断开芯片,可以根据实际情况自行设定,属于本公开的保护范围)。
示例性的,还可以根据上述带宽需求量与上述各个内存芯片的带宽参数进行比较和计算,以准确确定出待保留芯片和待断开芯片的数量。示例性的,仍以内存为四通道模式为例进行说明,若计算出预测操作事件对应的带宽需求量为1300Mbps,而每个内存芯片的带宽为1000Mbps时,则示例性的,可以将内存芯片1和内存芯片2确定为待保留芯片,将内存芯片3和内存芯片4确定为待断开芯片。
在确定出待断开芯片和待保留芯片之后,可以对待断开芯片中的数据进行重定位处理,以将待断开芯片中的数据拷贝至待保留芯片中。具体的,可以参考图6,图6示出对待断开芯片中的数据进行重定位处理,以将待断开芯片中的数据拷贝至待保留芯片中的流程图,包含步骤S601-步骤S603,以下结合图6对步骤S402进行解释。
在步骤S601中,获取待断开芯片与待保留芯片之间的内存地址映射关系。
本步骤中,可以获取待断开芯片与待保留芯片之间的内存地址映射关系。参照上述步骤S502的相关解释,示例性的,可以获取待断开芯片3与待保留芯片1之间的内存地址映射关系,以及,获取待断开芯片4与待保留芯片2之间的内存地址映射关系。
在步骤S602中,根据内存地址映射关系,将待断开芯片中的数据的源内存地址转换为待保留芯片中的目的内存地址。
本步骤中,在获取到上述内存地址映射关系之后,示例性的,可以将待断开芯片3中的数据的源内存地址转换为待保留芯片1中的目的内存地址,将待断开芯片4中的数据的源内存地址转换为待保留芯片2中的目的内存地址。
在步骤S603中,将待断开芯片中的数据拷贝至目的内存地址。
本步骤中,可以将上述待断开芯片中的数据拷贝至上述目的内存地址中,即将上述待断开芯片3中的数据拷贝至上述待保留芯片1中的目的内存地址,将待断开芯片4中的数据拷贝至上述待保留芯片2中的目的内存地址,以完成将上述待断开芯片中的数据拷贝至上述待保留芯片中。
继续参考图4,在步骤S403中,获取用户在预设时长之后的实际操作事件。
本步骤中,可以获取用户在预设时长之后的实际操作事件。示例性的,可以用Java或JS(JavaScript)设置一监听器,并创建一list表,通过该监听器监听用户的实际操作事件并写入上述list表中,进而,通过读取该list表以获取到用户在预设时长之后的实际操作事件。
在步骤S404中,根据实际操作事件与预测操作事件的比对结果,动态调节与处理器连接的内存芯片的数目。
本步骤中,可以将实际操作事件与预测操作事件进行比对,并根据比对结果动态调节与处理器连接的内存芯片的数目。从而,能够避免因预测结果不准确而导致的与处理器连接的内存芯片数目过少,导致数据丢失,业务无法运行的问题,保证后续调节后的内存芯片数目能够与业务需求相适配。
具体的,若实际操作事件与上述预测操作事件一致,则可以断开与待断开芯片的连接。具体的,可以关闭CPU中与待断开芯片(内存芯片3和内存芯片4)相连接的M-PHY接口,以切断CPU与上述待断开芯片的连接,从而能够减少处于激活状态的内存芯片的数目,降低内存功耗和CPU功耗。示例性的,可以参考图7,图7示出本公开一内存控制方法的示意图,内存(DRAM,动态随机存取存储器)中有4个内存芯片(内存芯片1、内存芯片2、内存芯片3和内存芯片4),各个内存芯片分别与CPU中的M-PHY接口(M-PHY1、M-PHY2、M-PHY3、M-PHY4)相连接,形成4条数据通道(通道1、通道2、通道3、通道4),当判断出预测操作事件的资源需求量小于需求量阈值,且实际操作事件与预测操作事件一致时,可以关闭与内存芯片3连接的M-PHY3接口,以及,关闭和内存芯片4相连接的M-PHY4接口,以断开通道3和4,从而断开CPU与内存芯片3和内存芯片4的连接,使得与处理器连接的内存芯片的数目被减少为两个。
在断开CPU与内存芯片3和内存芯片4的连接之后,若确定出用户在预设时长之后的预测操作事件的资源需求量大于需求量阈值,则示例性的,可以控制处理器在与内存芯片1和内存芯片2建立连接的基础上,与内存芯片3建立连接(即使得与处理器连接的内存芯片的数目被调整为3个),以避免存储空间不足、数据丢失、业务卡顿崩溃的问题,保证系统的正常运行。
若实际操作事件与预测操作事件不一致,则可以获取实际操作事件对应的资源消耗量,若资源消耗量小于需求量阈值,则可以断开与待断开芯片(即上述内存芯片3和内存芯片4)的连接。若资源消耗量大于或等于需求量阈值,则可以删除拷贝至待保留芯片中的数据,并保留与待断开芯片的连接,从而,能够避免重复数据的内存占用,提高内存的数据存储速度。
需要说明的是,本公开中还可以根据确定出的预测操作事件,向用户推荐操作页面,同时,根据用户反馈不断训练和改进上述用户行为预测模型,以提高推荐准确度。当模型准确度达到一定程度时,示例性的,当预测出用户在预设时长之后的操作事件为听音乐时,则可以自动弹出一进入音乐应用软件的快捷键,从而,能够更大程度的帮助用户快速达到目标页面,简化用户操作,提升用户体验。
示例性的,可以参考图8,图8示出本示例性实施方式中一种内存控制方法的整体流程图,包含步骤S801-步骤S806:
在步骤S801中,开始;
在步骤S802中,预判带宽需求是否小于需求量阈值;
若否,则进入步骤S803中,保持四通道模式;
若是,则进入步骤S804中,将内存芯片3和内存芯片4中的数据拷贝到内存芯片1和内存芯片2中;
在步骤S805中,将与内存芯片3和内存芯片4相连接的M-PHY接口关闭,以将数据通道3和数据通道4关闭(即断开与内存芯片3和内存芯片4的连接);此外,循环执行步骤S802-S805;
在步骤S806中,结束。
基于以上技术方案,一方面,本公开中仅通过一个CPU控制多个内存芯片的连接与断开,能够解决相关技术中每个CPU单独控制一个存储器所导致的无法与现存市场的SOC方案相兼容,多个CPU也会造成硬件浪费,成本较高的技术问题,降低开发成本。另一方面,本公开能够使得资源需求量较小的情况下仅激活部分内存芯片,从而能够解决相关技术中各内存芯片始终处于激活通信状态导致功耗偏高的问题,降低内存和处理器的功耗,降低耗电量,延长移动终端的电池的使用时间。
本公开还提供了一种内存控制装置。参考图9所示,内存控制装置900可以包括:
操作事件预测模块910,用于利用预先训练的用户行为预测模型确定用户在预设时长之后的预测操作事件。
内存调节模块920,用于根据预测操作事件对应的资源需求量,动态调节与处理器连接的内存芯片的数目。
在一种实施方式中,操作事件预测模块910,被配置为:
获取用户的历史操作数据,历史操作数据包括历史操作事件、各历史操作事件对应的历史操作时间;
根据历史操作数据,对待训练用户行为预测模型进行训练,得到用户行为预测模型。
在一种实施方式中,内存调节模块920,被配置为:
若预测操作事件对应的资源需求量小于需求量阈值,则从多个内存芯片中选取待断开芯片和待保留芯片,并将待断开芯片中的数据拷贝至待保留芯片中;
获取用户在预设时长之后的实际操作事件;
根据实际操作事件与预测操作事件的比对结果,动态调节与处理器连接的内存芯片的数目。
在一种实施方式中,内存调节模块920,被配置为:
对待断开芯片中的数据进行重定位处理,以将待断开芯片中的数据拷贝至待保留芯片中。
在一种实施方式中,内存调节模块920,被配置为:
获取待断开芯片与待保留芯片之间的内存地址映射关系;
根据内存地址映射关系,将待断开芯片中的数据的源内存地址转换为待保留芯片中的目的内存地址;
将待断开芯片中的数据拷贝至目的内存地址。
在一种实施方式中,内存调节模块920,被配置为:
若实际操作事件与预测操作事件一致,则断开与待断开芯片的连接。
在一种实施方式中,内存调节模块920,被配置为:
若实际操作事件与预测操作事件不一致,则获取实际操作事件对应的资源消耗量;
若资源消耗量小于需求量阈值,则断开与待断开芯片的连接;
若资源消耗量大于需求量阈值,则删除拷贝至待保留芯片中的数据,并保留与待断开芯片的连接。
在一种实施方式中,内存调节模块920,被配置为:
若预测操作事件为锁屏事件、无触控事件或间歇触控事件,则确定预测操作事件对应的资源需求量小于需求量阈值;
若预测操作事件为亮屏事件、拍摄事件或连续多次触控事件,则确定预测操作事件对应的资源需求量大于或等于需求量阈值。
上述内存控制装置900中各部分的具体细节已经在对应的内存控制方法中进行了详细的描述,因此此处不再赘述。
本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。在一种实施方式中,该程序产品可以实现为便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。
Claims (10)
1.一种内存控制方法,其特征在于,包括:
利用预先训练的用户行为预测模型确定用户在预设时长之后的预测操作事件;
根据所述预测操作事件对应的资源需求量,动态调节与处理器连接的内存芯片的数目;
其中,所述根据所述预测操作事件对应的资源需求量,动态调节与处理器连接的内存芯片的数目,包括:
若所述预测操作事件对应的资源需求量小于需求量阈值,则从多个所述内存芯片中选取待断开芯片和待保留芯片,并将所述待断开芯片中的数据拷贝至所述待保留芯片中;
获取所述用户在所述预设时长之后的实际操作事件;
根据所述实际操作事件与所述预测操作事件的比对结果,动态调节与所述处理器连接的内存芯片的数目。
2.根据权利要求1所述的方法,其特征在于,所述将所述待断开芯片中的数据拷贝至所述待保留芯片中,包括:
对所述待断开芯片中的数据进行重定位处理,以将所述待断开芯片中的数据拷贝至所述待保留芯片中。
3.根据权利要求2所述的方法,其特征在于,所述对所述待断开芯片中的虚拟地址进行重定位处理,以将所述待断开芯片中的数据拷贝至所述待保留芯片中,包括:
获取所述待断开芯片与所述待保留芯片之间的内存地址映射关系;
根据所述内存地址映射关系,将所述待断开芯片中的数据的源内存地址转换为所述待保留芯片中的目的内存地址;
将所述待断开芯片中的数据拷贝至所述目的内存地址。
4.根据权利要求1所述的方法,其特征在于,所述根据所述实际操作事件与所述预测操作事件的比对结果,动态调节与所述处理器连接的内存芯片的数目,包括:
若所述实际操作事件与所述预测操作事件一致,则断开与所述待断开芯片的连接。
5.根据权利要求4所述的方法,其特征在于,所述根据所述实际操作事件与所述预测操作事件的资源需求量比对结果,动态调节与所述处理器连接的内存芯片的数目,包括:
若所述实际操作事件与所述预测操作事件不一致,则获取所述实际操作事件对应的资源消耗量;
若所述资源消耗量小于所述需求量阈值,则断开与所述待断开芯片的连接;
若所述资源消耗量大于所述需求量阈值,则删除拷贝至所述待保留芯片中的数据,并保留与所述待断开芯片的连接。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若预测操作事件为锁屏事件、无触控事件或间歇触控事件,则确定所述预测操作事件对应的资源需求量小于需求量阈值;
若所述预测操作事件为亮屏事件、拍摄事件或连续多次触控事件,则确定所述预测操作事件对应的资源需求量大于或等于所述需求量阈值。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述用户行为预测模型通过以下方式训练得到:
获取所述用户的历史操作数据,所述历史操作数据包括历史操作事件、各所述历史操作事件对应的历史操作时间;
根据所述历史操作数据,对待训练用户行为预测模型进行训练,得到所述用户行为预测模型。
8.一种内存控制装置,其特征在于,包括:
操作事件预测模块,用于利用预先训练的用户行为预测模型确定用户在预设时长之后的预测操作事件;
内存调节模块,用于根据所述预测操作事件对应的资源需求量,动态调节与处理器连接的内存芯片的数目;
内存调节模块被配置为:
若所述预测操作事件对应的资源需求量小于需求量阈值,则从多个所述内存芯片中选取待断开芯片和待保留芯片,并将所述待断开芯片中的数据拷贝至所述待保留芯片中;
获取所述用户在所述预设时长之后的实际操作事件;
根据所述实际操作事件与所述预测操作事件的比对结果,动态调节与所述处理器连接的内存芯片的数目。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~7中任意一项所述的内存控制方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~7中任意一项所述的内存控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011444443.1A CN112463391B (zh) | 2020-12-08 | 2020-12-08 | 内存控制方法、内存控制装置、存储介质与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011444443.1A CN112463391B (zh) | 2020-12-08 | 2020-12-08 | 内存控制方法、内存控制装置、存储介质与电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112463391A CN112463391A (zh) | 2021-03-09 |
CN112463391B true CN112463391B (zh) | 2023-06-13 |
Family
ID=74800540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011444443.1A Active CN112463391B (zh) | 2020-12-08 | 2020-12-08 | 内存控制方法、内存控制装置、存储介质与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463391B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225565B (zh) * | 2022-07-25 | 2023-12-15 | 科东(广州)软件科技有限公司 | 数据包收发配置、收取、发送方法及装置、电子设备 |
CN115686872B (zh) * | 2022-12-30 | 2023-03-21 | 浪潮电子信息产业股份有限公司 | 基于bmc的内存资源处理设备、方法、装置及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104040524A (zh) * | 2012-01-10 | 2014-09-10 | 英特尔公司 | 用于存储服务器的流量控制机制 |
CN109284871A (zh) * | 2018-09-30 | 2019-01-29 | 北京金山云网络技术有限公司 | 资源调整方法、装置和云平台 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8161260B2 (en) * | 2009-02-09 | 2012-04-17 | Oracle International Corporation | Optimal memory allocation for guested virtual machine(s) |
US11281629B2 (en) * | 2019-03-15 | 2022-03-22 | International Business Machines Corporation | Using and training a machine learning module to determine actions to be taken in response to file system events in a file system |
US20200310526A1 (en) * | 2019-03-26 | 2020-10-01 | Kyocera Document Solutions Inc. | Systems and methods for managing power consumption and device resources |
-
2020
- 2020-12-08 CN CN202011444443.1A patent/CN112463391B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104040524A (zh) * | 2012-01-10 | 2014-09-10 | 英特尔公司 | 用于存储服务器的流量控制机制 |
CN109284871A (zh) * | 2018-09-30 | 2019-01-29 | 北京金山云网络技术有限公司 | 资源调整方法、装置和云平台 |
Also Published As
Publication number | Publication date |
---|---|
CN112463391A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2640632C2 (ru) | Способ и устройство для доставки информации | |
KR101828889B1 (ko) | 공유된 장치 및 개인용 장치를 이용한 개인맞춤화된 사용자 기능의 협력적 제공 | |
CN112463391B (zh) | 内存控制方法、内存控制装置、存储介质与电子设备 | |
CN108462900B (zh) | 视频推荐方法及装置 | |
CN112289279B (zh) | 屏幕亮度调整方法、装置、存储介质与电子设备 | |
CN104580019A (zh) | 网络服务提供方法及装置 | |
CN112040333B (zh) | 视频发布方法、装置、终端及存储介质 | |
CN111309617A (zh) | 应用程序的控制方法、装置、存储介质及电子设备 | |
CN114996168A (zh) | 一种多设备协同测试方法、测试设备及可读存储介质 | |
CN114268796A (zh) | 视频流处理的方法及装置 | |
CN113626626A (zh) | 一种多人共享的照片存储方法、装置以及设备 | |
US11606604B2 (en) | System and method for streaming video data | |
CN113628097A (zh) | 图像特效配置方法、图像识别方法、装置及电子设备 | |
US20230055968A1 (en) | Filtering group messages | |
CN112786070B (zh) | 音频数据处理方法、装置、存储介质与电子设备 | |
CN111770484B (zh) | 模拟卡切换方法及装置、计算机可读介质和移动终端 | |
CN114495081A (zh) | 文本识别的方法、装置、可读介质和电子设备 | |
CN113918246A (zh) | 功能控制方法、功能控制装置、存储介质与电子设备 | |
CN112562688A (zh) | 语音转写方法、装置、录音笔和存储介质 | |
CN111552871A (zh) | 基于应用使用记录的信息推送方法、装置及相关设备 | |
CN111327816A (zh) | 图像处理方法及其装置、电子设备以及计算机存储介质 | |
CN111246313A (zh) | 一种视频关联方法、装置,服务器、终端设备及存储介质 | |
CN116567194B (zh) | 虚拟图像合成方法、装置、设备及存储介质 | |
CN115334349B (zh) | 音频处理方法、装置、电子设备及存储介质 | |
US20240046917A1 (en) | Information processing device, information processing method, and program for generating synthesized audio content from text when audio content is not reproducible |
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 | ||
GR01 | Patent grant |