掌桥专利:专业的专利平台
掌桥专利
首页

一种缓存器硬件管理装置、方法及电子设备

文献发布时间:2024-04-18 19:57:31


一种缓存器硬件管理装置、方法及电子设备

技术领域

本发明涉及缓存管理技术领域,尤其涉及缓存器硬件管理装置、方法及电子设备。

背景技术

固态硬盘(SSD,Solid State Drive)是由控制单元,存储单元与缓存芯片组成的,由固态电子存储芯片阵列制成的硬盘。固态硬盘使用时,会涉及到从NAND闪存读数据到HOST,从HOST写数据到NAND闪存,从NAND闪存读数据写回NAND闪存进行碎片整理等多种场景。

为提高硬盘读写性能,在NAND FLASH(NAND型闪存,一种非易失存储器)与HOST(主机)之前,使用读写速率更快的DRAM(Dynamic Random Access Memory,动态随机存取存储器)或SRAM(Static Random-Access Memory,静态随机存取存储器)作为数据缓存区。数据缓存区目前普遍为FW(Firmware,固件)自行管理,即,FW通过CPU(中央处理器)自己管理当前buffer(缓冲存储器)的使用情况,管理大量buffer被不同功能模块的占用或释放情况,并分配buffer给个功能模块

FW为进行管理,需要监控各功能模块对buffer的占用情况即功能完成状态,造成FW的负担较大;另外,这种管理方式处理耗时较长,不能及时监测到功能模块完成状态,会导致buffer释放速度慢,进而buffer的申请分配受到影响,buffer的使用流转率低;此外,当FW在多核CPU系统上运行时,FW管理的方式会存在多核访问的问题,需更多处理比如加锁来保证各核所管理的buffer一致,导致buffer管理操作消耗较大。

发明内容

为了解决上述现有技术中存在的技术问题,本发明提供了一种缓存器硬件管理装置、方法及电子设备。

为实现上述目的,本发明实施例提供了如下的技术方案:

第一方面,在本发明提供的一个实施例中,提供了缓存器硬件管理装置,该装置包括:处理器模组、硬件模块和功能模块;

所述处理器模组,用于向配置硬件模块发出缓存器配置信号,向硬件模块申请占用缓存器以及配置硬件模块释放缓存器;用于向硬件模块发出空闲缓存器申请,并接受硬件模块分配的空闲缓存器;以及用于向功能模块配置获取到的空闲缓存器;

所述硬件模块,用于配置管理缓存器的条数,读取空闲缓存器条数,根据硬件信号释放完成数据处理的对应的缓存器,并申请基于处理器模组的空闲缓存器以及向处理器模组配置空闲缓存器;

所述功能模块,用于接受处理器模组配置的空闲缓存器,并执行其对应的任务,执行任务完成后向硬件模块发送硬件信号,硬件模块基于所述硬件信号释放对应的缓存器。

作为本发明的进一步方案,所述处理器模组包括多个CPU。

作为本发明的进一步方案,所述配置硬件模块包括配置寄存器、缓存器列表管理器和释放寄存器;

所述配置寄存器用于基于处理器模组发出的缓存器配置信号配置管理缓存器的条数;

所述缓存器列表管理器用于管理当前缓存器内部管理个数;

所述释放寄存器用于根据硬件信号释放完成数据处理的对应的缓存器。

作为本发明的进一步方案,所述缓存器列表管理器通过获取空闲寄存器的地址,读取空闲缓存器条数。

作为本发明的进一步方案,所述硬件模块基于处理器模组的控制,读取空闲缓存器条数,将写入的缓存器地址进行释放。

作为本发明的进一步方案,所述处理器模组包括信号接受一单元、缓存器申请单元和分配单元;

所述信号接受单元,用于接受处理器模组发出执行任务信号;

所述缓存器申请单元,用于根据执行任务信号向配置硬件模块发出空闲缓存器申请信号;

所述分配单元,用于将接受硬件模块分配的空闲缓存器,并向向功能模块配置获取到的空闲缓存器。

作为本发明的进一步方案,所述功能模块,包括信号接受二单元、执行单元和发送信号单元。

所述信号接受二单元,用于接受处理器模组发出执行任务数据;

所述执行单元,用于根据执行任务数据,利用处理器模组配置的空闲缓存器执行对应的任务;

所述发送信号单元,用于在任务执行完成后向硬件模块发出硬件信号,以便硬件模块释放对应的缓存器。

第二方面,在本发明提供的又一个实施例中,提供了缓存器硬件管理方法,该方法包括:

处理器模组发出空闲缓存器申请,配置硬件模块配置空闲缓存器。

用于接受处理器模组配置的空闲缓存器,并执行其对应的任务,执行任务完成后向硬件模块发送硬件信号,根据硬件信号硬件模块释放完成数据处理对应缓存器。

作为本发明的进一步方案,在所述发出处理器模组空闲缓存器申请,配置硬件模块配置空闲缓存器,步骤之前还包括:

配置硬件模块中缓存器总条数。

第三方面,在本发明提供的又一个实施例中,提供了一种电子设备,包括壳体和容纳于所述壳体之中的缓存器硬件管理装置。

本发明提供的技术方案,具有如下有益效果:

本发明提供的缓存器硬件管理装置、方法及电子设备,本发明中处理器模组无需监控各功能模块占用情况,由各功能模块通过硬件信号自动释放缓存器,处理器模组负担小。自动释放的方式比处理器模组监测管理耗时短,缓存器释放申请速度不会受到影响,使用流转速度快。由硬件来保证缓存器的使用情况,即使处理器模组中多CPU访问缓存器列表管理器寄存器,处理器模组也能根据多CPU访问顺序的前后,给各CPU正确的空闲缓存器id号,避免了处理器模组自身管理时为保证多核一致性进行的额外操作,对处理器模组负担小。

本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为本发明一个实施例的缓存器硬件管理装置的结构框图。

图2为本发明一个实施例的缓存器硬件管理装置的具体示例图。

图3为本发明一个实施例的缓存器硬件管理装置中硬件模块的结构框图。

图4为本发明一个实施例的缓存器硬件管理装置中固件模块的结构框图。

图5为本发明一个实施例的缓存器硬件管理装置中功能模块的结构框图。

图中:处理器模组-100、硬件模块-200、功能模块-300、信号发生单元-101、缓存器申请配置单元-102、缓存器回收分配单元-103、分配单元-104、配置寄存器-201、缓存器列表管理器-202、释放寄存器-203、信号接受一单元-301、缓存器申请单元-302、分配单元-303、信号接受二单元-301、执行单元-302、发送信号单元-303。

具体实施方式

以下参照附图说明各种实施例及/或各形态。在以下说明中,以说明为目的公开了多个具体细节以整体上理解一个以上的形态。但是,本领域的技术人员可以理解在没有具体细节的情况下也可以实施这些形态。在以下的记载及附图中将详细说明一个以上的形态的特定例示。但是,这些形态是例示而已,可以利用各种形态的原理中各种方法中的一部分,所阐述的说明旨在包括所有形态及其等同物。具体地,在本说明书中使用的术语“实施例”、“例”、“形态”、“例示”等可以被解释为所描述的任意形态或设计可以比其他形态或设计更好或具有优点。

另外,各种形态及特征可通过包括一个以上的装置、终端、服务器、设备、组件及/或模块等的系统体现。应理解并认识各种系统可包括额外的多个装置、终端、服务器、设备、组件及/或模块,并且/或也可以不包括图中所示的多个装置、终端、服务器、设备、组件、模块等的全部。

在本说明书中使用的术语“计算机程序”、“组件”、“模块”、“系统”等可以互换使用,并且计算机-相关实体、硬件、固件、软件、软件及硬件的组合或指软件的执行。例如,组件可以是在处理器上执行的处理过程、处理器、客体、执行线程、程序及/或计算机,但不限定于此。例如,可以是在计算机装置执行的应用程序及/或计算装置所有组件。一个以上的组件可以安装在处理器及/或执行线程内。一个组件可以在一个计算机中本地化。一个组件也可以在两个以上的计算机之间分配。

并且,这些组件可由在内部存储各种数据构造的各种计算机可读介质执行。这些组件,例如可根据具有一个以上的数据包的信号(例如,在本地系统、分散系统上通过与其他组件相互作用的一个组件发出的数据及信号与其他系统通过互联网等网络传输的数据)通过本地及/或远程处理通信。

以下,与图面符号无关,对相同或类似的构成要素赋予相同的符号,并省略对此的重复说明。并且,在说明本说明书中公开的实施例时,若判断对公知技术的具体说明会使本发明的要旨不明确,则省略对其的详细说明。并且,附图仅为了更容易理解在本说明书中公开的实施例,本说明书中公开的技术思想并不限定于附图。

第一、第二等术语可用于说明多种元件或构成要素,但所述元件或构成要素并不局限于所述术语。所述术语以从其他元件或构成要素区分一个元件或构成要素而使用。因此,在以下提及的第一元件或构成要素当然也可以是本发明的技术思想内的第2元件或构成要素。

若没有其他定义,在本说明书中使用的所有术语(包括技术及科学术语)可以用于本发明所属领域的领域技术人员共通理解的含义。另外,在一般使用的词典上被定义的术语,若没有特别明确定义,则不应以理想性或过度解释。

另外,术语“或”的意思不是排他的“或”而是包含的“或”。即,除非有其他特定或文脉上不明确时“X利用A或B”意味着自然内涵的替换之一。即,X利用A或;X利用B或X利用A及B时,“X利用A或B”可以上面的任何情况。并且,应理解在本说明书中使用的“及/或”的术语指代包括在例举的相关项目中的一个以上项目可能的所有组合。

另外,在本说明书中使用的术语“信息”及“数据”通常可互换使用。

在以下说明中使用的对构成要素的后缀“模块”及“部”,只是为了方便撰写说明书而赋予或混用的,其本身并没有相互区别的含义或作用。

缓存,原始意义是指访问速度比一般随机存取存储器(RAM)快的一种高速存储器,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。缓存的设置是所有现代计算机系统发挥高性能的重要因素之一。

寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类。基本寄存器只能并行送入数据,也只能并行输出。移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,或串行输入、并行输出,十分灵活,用途也很广。

固件(Firmware)就是写入EPROM(可擦写可编程只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。固件是指设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等都有内部固件。固件是担任着一个系统最基础最底层工作的软件。而在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就决定着硬件设备的功能及性能。

具体地,下面结合附图,对本发明实施例作进一步阐述。

在一个实施例中,参见图1和2所示,图1在本发明的实施例中还提供了缓存器硬件管理装置,图2为缓存器硬件管理装置的具体示例图,其中图2中Bufmng表示为硬件模块200;该装置包括处理器模组100、硬件模块200和功能模块300。本发明中处理器模组100、硬件模块200和功能模块300通过总线连接。

所述处理器模组100,用于向配置硬件模块200发出缓存器配置信号;向硬件模块200申请占用缓存器,配置硬件模块200释放缓存器;用于向硬件模块200发出空闲缓存器申请,并接受硬件模块200分配的空闲缓存器,用于向功能模块300配置获取到的空闲缓存器。

在本发明实施例中,所述处理器模组100包括多个CPU。

所述处理器模组100,还用于,向功能模块300发出执行任务数据。

所述硬件模块200,用于配置管理缓存器的条数,用于读取空闲缓存器条数,根据硬件信号释放完成数据处理对应缓存器,用于基于处理器模组100的空闲缓存器申请,向处理器模组100配置空闲缓存器。

所述硬件模块200用于根据处理器模组100中多CPU访问顺序,依次给出相对应的空闲缓存器地址,如此避免CPU自身管理时为保证多核一致性进行的额外操作。

参见图3,在本发明的实施例中,所述硬件模块200包括多个配置寄存器201、多个缓存器列表管理器202和多个释放寄存器203。

所述配置寄存器201,用于基于处理器模组100发出的缓存器配置信号配置管理缓存器的条数;

所述缓存器列表管理器202,用于读取空闲缓存器条数。

其中,所述缓存器列表管理器202通过获取空闲寄存器的地址,读取空闲缓存器条数。

所述释放寄存器203,用于根据硬件信号释放完成数据处理对应缓存器。

在本发明的实施例中,所述硬件模块200基于处理器模组100的控制,读取空闲缓存器条数,将写入的缓存器地址进行释放。

具体的,基于所述处理器模组写硬件config寄存器配置,硬件模块200配置配置缓存器总条数;

基于处理器模组通过读硬件缓存器列表管理器获取当前空闲的缓存器地址,硬件模块200将获取到的缓存器地址视为占用;

基于处理器模组写释放寄存器,硬件模块200将写入的缓存器地址进行释放。

参见图4,在本发明的实施例中,所述处理器模组100包括包括信号发生单元101、缓存器申请配置单元102、缓存器回收分配单元103和分配单元104;

所述信号发生单元101用于向配置硬件模块发出缓存器配置信号;

所述缓存器申请配置单元102用于向硬件模块申请占用缓存器,以及配置硬件模块释放缓存器;

所述缓存器回收分配单元103用于向硬件模块发出空闲缓存器申请,并接受硬件模块分配的空闲缓存器;

具体的,所述缓存器回收分配单元103将未分配给功能模块的空闲缓存器通过写缓存器管理硬件释放寄存器的方式,让缓存器管理模块释放对应缓存器。

所述分配单元用于104向功能模块配置获取到的空闲缓存器。

在本发明的实施例中,所述应用于所述处理器模组100的固件可以为FW。

参见图5,在本发明的实施例中,所述功能模块300,包括信号接受二单元301、执行单元302和发送信号单元303。

所述信号接受二单元301,用于接受处理器模组100发出执行任务数据;

所述执行单元302,用于根据执行任务数据,利用处理器模组100配置的空闲缓存器执行对应的任务;

所述发送信号单元303,用于在任务执行完成后向硬件模块200发出硬件信号,以便硬件模块200释放对应的缓存器。

本发明中处理器模组100无需监控各功能模块300占用情况,由各功能模块300通过硬件信号自动释放缓存器,处理器模组100负担小。自动释放的方式比处理器模组100监测管理耗时短,缓存器释放申请速度不会受到影响,使用流转速度快。由硬件来保证缓存器的使用情况,即使处理器模组100中多CPU访问缓存器列表管理器寄存器,处理器模组100也能根据多CPU访问顺序的前后,给各CPU正确的空闲缓存器id号,避免了处理器模组自身管理时为保证多核一致性进行的额外操作,对处理器模组负担小。以上效果最终体现到SSD可见整盘性能得到提升。

请参阅图1,图1是本发明实施例提供的一种缓存器硬件管理方法的流程图,如图1所示,该缓存器硬件管理方法包括步骤S10至步骤S20。

S10、处理器模组100发出空闲缓存器申请,配置硬件模块200配置空闲缓存器。

在本发明实施例中,在所述发出处理器模组100空闲缓存器申请,配置硬件模块200配置空闲缓存器,步骤之前还包括:

配置硬件模块200中缓存器总条数。

S20、用于接受处理器模组100配置的空闲缓存器,并执行其对应的任务,执行任务完成后向硬件模块200发送硬件信号,根据硬件信号硬件模块200释放完成数据处理对应缓存器。

本发明中处理器模组100无需监控各功能模块300占用情况,由各功能模块300通过硬件信号自动释放缓存器,处理器模组100负担小。自动释放的方式比处理器模组100监测管理耗时短,缓存器释放申请速度不会受到影响,使用流转速度快。由硬件来保证缓存器的使用情况,即使处理器模组100中多CPU访问缓存器列表管理器寄存器,处理器模组100也能根据多CPU访问顺序的前后,给各CPU正确的空闲缓存器id号,避免了处理器模组自身管理时为保证多核一致性进行的额外操作,对处理器模组负担小。以上效果最终体现到SSD可见整盘性能得到提升。

应该理解的是,上述虽然是按照某一顺序描述的,但是这些步骤并不是必然按照上述顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本实施例的一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

需要说明的是,以下为本申请中缩略语以及关键术语的定义:

SSD(Solid State Disk):固态硬盘

Buffer:缓存

Bufmng(buffer management):缓存区硬件管理模块

NAND FLASH:NAND型闪存,是非易失存储器

SRAM(Static Random-Access Memory):静态随机存取存储器

DRAM(Dynamic Random Access Memory):动态随机存取存储器

HOST:主机,电脑或服务器等

CPU(Central Process Unit):中央处理器

FW(Firmware):固件

HW(Hardware):硬件

MEM(Memory):存储。

对应于上述装置,本申请还公开了一种电子设备,该设备可以包括:壳体和容纳于所述壳体之中的本申请上述任意一项实施例公开的缓存器硬件管理装置。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(ApplicationSpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

所述电子设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述电子设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他电子设备的交互操作来实现本发明。其中,所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。

还应当进理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

本发明提供的一种缓存器硬件管理装置、方法及电子设备,本发明中处理器模组100无需监控各功能模块300占用情况,由各功能模块300通过硬件信号自动释放缓存器,处理器模组100负担小。自动释放的方式比处理器模组100监测管理耗时短,缓存器释放申请速度不会受到影响,使用流转速度快。由硬件来保证缓存器的使用情况,即使处理器模组100中多CPU访问缓存器列表管理器寄存器,处理器模组100也能根据多CPU访问顺序的前后,给各CPU正确的空闲缓存器id号,避免了处理器模组自身管理时为保证多核一致性进行的额外操作,对处理器模组负担小。以上效果最终体现到SSD可见整盘性能得到提升。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种数据缓存方法及装置、电子设备
  • 一种基于浏览器断电保护缓存信息的方法以及电子设备
  • 一种基于缓存技术的浏览器数据传递方法及装置
  • 一种多控制器缓存备份方法、装置、设备及可读存储介质
  • 一种控制显示器屏幕输出亮度的方法、装置及电子设备
  • 硬件加速器设备管理方法、装置及电子设备和存储介质
  • 一种目标对象的缓存管理方法、系统、装置及电子设备
技术分类

06120116458610