CN109800089A - 一种缓冲资源分配方法、模块以及电子设备 - Google Patents
一种缓冲资源分配方法、模块以及电子设备 Download PDFInfo
- Publication number
- CN109800089A CN109800089A CN201910069218.5A CN201910069218A CN109800089A CN 109800089 A CN109800089 A CN 109800089A CN 201910069218 A CN201910069218 A CN 201910069218A CN 109800089 A CN109800089 A CN 109800089A
- Authority
- CN
- China
- Prior art keywords
- resource
- section
- request
- buffer
- distribution
- 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.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明实施例提出一种缓冲资源分配方法、模块以及电子设备,涉及存储管理领域。模块可以设置于电子设备中以实现该方法。方法包括:接收携带请求缓冲长度的资源占用请求,依据资源占用请求从多个缓冲资源段中确定总长度大于或等于请求缓冲长度的分配资源段,然后将分配资源段分配至请求资源,并将分配资源段对应的识别号标记为占用状态。当有资源占用请求时,从多个可用识别号中确定多个分配识别号,并且这些分配识别号对应的分配资源段的总长度大于或等于请求缓冲长度,然后将分配识别号对应的缓冲资源段分配给资源占用请求对应的请求资源,从而解决存储介质的读写效率低下的问题。
Description
技术领域
本发明涉及存储管理领域,具体而言,涉及一种缓冲资源分配方法、模块以及电子设备。
背景技术
在存储介质中,通常会有多个资源请求模块同时进行数据的读写操作,对于写入数据操作,资源请求模块首先将写入数据写入到缓冲资源分配模块的缓冲资源中,然后从缓冲资源中将写入数据读出并写入至存储单元。对于读取数据操作,资源请求模块首先从存储单元中将读出数据存入缓冲资源,然后从缓冲资源中将读出数据发送出去。
目前,缓冲资源的分配方式存在存储介质读写效率低下的问题。
发明内容
本发明实施例的目的在于提供一种缓冲资源分配方法、模块以及电子设备,以解决上述技术问题。
本发明实施例采用的技术方案如下:
第一方面,本发明实施例提出一种缓冲资源分配方法,方法包括:接收资源占用请求,其中,资源占用请求携带请求缓冲长度,依据资源占用请求从预设的多个缓冲资源段中确定分配资源段,其中,每个缓冲资源段均分配一个识别号,分配资源段的总长度大于或等于请求缓冲长度,将分配资源段分配至资源占用请求对应的请求资源,并将分配资源段对应的识别号标记为占用状态。
第二方面,本发明实施例还提出一种缓冲资源分配模块,模块包括:收发单元,用于接收资源占用请求,其中,资源占用请求携带请求缓冲长度,标识管理单元,用于依据资源占用请求从预设的多个缓冲资源段中确定分配资源段,其中,每个缓冲资源段均分配一个识别号,分配资源段的总长度大于或等于请求缓冲长度,资源管理单元,用于将分配资源段分配至资源占用请求对应的请求资源,标识管理单元还用于将分配资源段对应的识别号标记为占用状态。
第三方面,本发明实施例还提出一种电子设备,包括存储器、控制芯片、通信接口以及总线,实现上述缓冲资源分配方法。
本发明实施例所提供的缓冲资源分配方法、模块以及电子设备,该模块可以设置于电子设备中,实现该方法。方法包括:接收携带请求缓冲长度的资源占用请求,依据资源占用请求从预设的多个缓冲资源段中确定总长度大于或等于请求缓冲长度的分配资源段,其中,每个缓冲资源段均分配一个识别号,然后将分配资源段分配至资源占用请求对应的请求资源,并将分配资源段对应的识别号标记为占用状态。当有资源占用请求时,从多个可用识别号中确定多个分配识别号,并且这些分配识别号对应的分配资源段的总长度大于或等于请求缓冲长度,然后将分配识别号对应的缓冲资源段分配给资源占用请求对应的请求资源,从而解决存储介质的读写效率低下的问题。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的缓冲资源管理装置的结构示意图。
图2示出了本发明实施例所提供的一种缓冲资源分配方法的流程示意图。
图3示出了发明实施例所提供的另一种缓冲资源分配方法的流程示意图。
图4示出了本发明实施例所提供的一种具体确定分配资源段的流程示意图。
图5在图4的基础上示出了一种在接收到至少一个资源占用请求时的流程示意图。
图6示出了本发明实施例所提供的缓冲资源分配模块的功能单元示意图。
图7示出了本发明实施例所提供的一种电子设备的结构框图。
图8示出了本发明实施例所提供的另一种电子设备的结构框图
图标:100-缓冲资源管理装置;110-缓冲资源分配模块;111-收发单元;112-标识管理单元;113-判断单元;114-资源管理单元;120-仲裁模块;130-资源请求模块;140-资源释放模块;200-电子设备;210-存储器;220-控制芯片;230-通信接口;240-总线。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
现有技术在存储介质的读写操作过程中,通常将每个缓冲资源段固定分配给一个资源请求模块。由于每个资源请求模块固定使用一个缓冲资源段,当某个资源请求模块空闲时,其他资源请求模块只能使用其对应的缓冲资源段,无法使用该空闲的资源请求模块对应的缓冲资源段,从而存在存储介质的读写效率低下的问题。
为了解决上述技术问题,下面给出一种可能的缓冲资源管理装置的实现方式,具体的,请参照图1,为本发明实施例所提供的缓冲资源管理装置的结构示意图。该缓冲资源管理装置100包括缓冲资源分配模块110、仲裁模块120、资源请求模块130以及资源释放模块140。缓冲资源分配模块110通过仲裁模块120与多个资源请求模块130连接,该缓冲资源分配模块110还与多个资源释放模块140连接。
在本实施例中,以缓冲资源管理装置100设置在固态硬盘为例,当有数据需要写入固态硬盘的存储器或者需要从固态硬盘的存储器中读出数据时,资源请求模块130首先将待写入数据或待读出数据发送至缓冲资源分配模块110暂存,然后由资源释放模块140从缓冲资源分配模块110取出待写入数据并写入到存储器中,或者从缓冲资源分配模块110取出待读出数据并发送出去。
具体的,缓冲资源分配模块110将缓冲资源分为多个缓冲资源段,并为每个缓冲资源段分配一个识别号。当资源请求模块130向缓冲资源分配模块110发送携带请求缓冲长度的资源占用请求时,缓冲资源分配模块110依据该资源占用请求从多个缓冲资源段中确定分配资源段,然后将分配资源段分配至资源请求模块130,同时将分配资源段对应的识别号标记为占用状态,当分配资源段中的数据被读取时,即资源释放模块140的读写操作完成时,接收资源释放模块140发送的资源释放请求,依据资源释放请求将对应的识别号标记为可用状态。其中,缓冲资源的长度表示缓冲资源(buffer)存储空间的大小,也即是说,缓冲资源段的长度、分配资源段的长度均表示存储空间的大小。
需要说明的是,当存在多个资源请求模块130同时经过仲裁模块120向缓冲资源分配模块110发送资源占用请求时,仲裁模块120依据资源请求模块130的优先级依次将对应的资源占用请求发送至缓冲资源分配模块110。可以理解,本发明实施例所提供的缓冲资源管理装置100并不仅限于设置在固态硬盘中,例如还可以设置在机械硬盘等存储介质中。
基于上述图1所提供的缓冲资源管理装置100,缓冲资源分配模块110将管理的缓冲资源进行分段,并依据资源占用请求从多个缓冲资源段中确定分配资源段,然后分配给对应的资源请求模块130并通过识别号将分配资源段为占用状态,最后在分配资源段中的数据被读取后,依据资源释放请求通过识别号解除对应分配资源段的占用,从而达到有效利用空闲的缓冲资源目的。解决了上述现有技术中,当某个资源请求模块空闲时,其他资源请求模块只能使用其对应的缓冲资源段,无法使用该空闲的资源请求模块对应的缓冲资源段,存储介质的读写效率低下问题。
基于上述图1所示的实施例,下面给出一种缓冲资源分配方法的可能的实现方式,请参照图2,为本发明实施例所提供的一种缓冲资源分配方法的流程示意图。该方法的执行主体是上述实施例所提供的缓冲资源分配模块,方法包括如下步骤:
S100,接收资源占用请求;
其中,资源占用请求携带请求缓冲长度。
具体的,请求缓冲长度表示需要缓冲资源存储空间的大小。
S110,依据资源占用请求从预设的多个缓冲资源段中确定分配资源段;
其中,每个缓冲资源段均分配一个识别号,分配资源段的总长度大于或等于请求缓冲长度。
S120,将分配资源段分配至资源占用请求对应的请求资源,并将分配资源段对应的识别号标记为占用状态。
具体的,预先维护多个缓冲资源段,每个缓冲资源段均分配一个识别号,在接收到资源占用请求后,依据资源占用请求携带的请求缓冲长度从预先维护的多个缓冲资源段中确定至少一个分配资源段,并且这些分配资源段的总长度大于或等于请求缓冲长度,优选的,这些分配资源段的总长度与请求缓冲长度一致,并将这些分配资源段分配至资源占用请求对应的请求资源,同时将分配资源段对应的识别号标记为占用状态。
基于上述图2所提供的缓冲资源分配方法,通过对缓冲资源进行分段,并为每个缓冲资源段分配一个识别号。当有资源占用请求时,从多个可用识别号中确定多个分配识别号,并且这些分配识别号对应的分配资源段的总长度大于或等于请求缓冲长度,然后将分配识别号对应的缓冲资源段分配给资源占用请求对应的请求资源,从而解决存储介质的读写效率低下的问题。
在图2的基础上,下面给出一种完整方案可能的实现方式,具体的,请参照图3,为本发明实施例所提供的另一种缓冲资源分配方法的流程示意图。需要说明的是,本发明实施例提供的缓冲资源分配方法并不以图3以及以下的具体顺序为限制,应当理解,在其它实施例中,本发明实施例提供的缓冲资源分配方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图3所示的具体流程进行详细阐述。
S100,接收资源占用请求;其中,资源占用请求携带请求缓冲长度。
S111,依据资源占用请求从多个缓冲资源段中返回可用资源段。
具体的,将缓冲资源进行分段,并为每一个缓冲资源段分配一个识别号,如表1所示,假设缓冲资源为16KB,以1KB的大小将缓冲资源分为16段,并为每一个段分配一个识别号,其中,被标记“×”的缓冲资源段表示已被占用,未被标记“×”的缓冲资源段表示可用,即“0”、“1”号缓冲资源段已被占用,“2~15”号缓冲资源段为可用资源段。
表1
S112,依据请求缓冲长度从可用资源段中确定分配资源段。
具体的,再如表1所示,假设请求缓冲长度为5KB时,从可用资源段中确定长度大于或等于5KB的缓冲资源段作为分配资源段,即可用资源段包括2~15号缓冲资源段,然后将2~6号缓冲资源段作为分配资源段发送至资源请求模块。
优选的,从可用资源段中确定长度与5KB一致的缓冲资源段作为分配资源段,可以理解,当请求缓冲长度为单个缓冲资源段长度的非整数倍时,可以从可用资源段中确定长度刚好大于请求缓冲长度的整数倍的缓冲资源段作为分配资源段。
在本实施例中,如图4所示,对于图3中S112涉及的确定分配资源段,下面给出一种具体的可能实现方式,包括:
S112-1,判断请求缓冲长度是否小于或等于可用资源段的总长度。
具体的,如表2所示,识别号为“2~9”以及“14~15”为可用资源段,长度分别为8KB和2KB,所以可用资源段的总长度为10KB,假设请求缓冲长度为6KB,则判断请求缓冲长度小于或等于可用资源段的总长度,该资源占用请求可以得到对应的缓冲资源段,执行S112-2;假设请求缓冲长度为11KB,判断请求缓冲长度大于可用资源段的总长度,该资源占用请求无法得到对应的缓冲资源段,执行S112-3。
表2
S112-2,从可用资源段中获取第一可用资源段作为分配资源段。
具体的,再如表2所示,识别号为“2~9”以及“14~15”为可用资源段,长度分别为8KB和2KB,所以可用资源段的总长度为10KB,假设请求缓冲长度为6KB时,可以将识别号为“2~7”对应的可用资源段作为分配资源段;假设请求缓冲长度为9KB时,可以将识别号为“2~9”以及“14”对应的可用资源段作为分配资源段。
S112-3,发送等待分配信息以延迟所述资源占用请求。
具体的,由于可用资源段的总长度小于请求缓冲长度,返回等待分配信息以延迟该资源占用请求,等待出现缓冲资源段总长度大于该请求缓冲长度的情况时,将缓冲资源段分配至资源占用请求对应的请求资源。
在本实施例中,如图5所示,当接收到至少一个资源占用请求且请求缓冲长度大于可用资源段的总长度时,对于图4中S112涉及的判断:请求缓冲长度大于可用资源段的总长度,下面给出另一种具体的可能实现方式,包括:
S112-4,判断可用资源段的总长度是否大于或等于其他资源占用请求携带的其他请求缓冲长度。
具体的,请参照表3,识别号为“2~5”、“7~9”、“14”以及“15”为可用资源段,可用资源段的总长度是9KB,假设同时接收到三个资源占用请求,第一个资源占用请求携带的请求缓冲长度为10KB,第二个资源占用请求携带的请求缓冲长度为11KB,第三个资源占用请求携带的请求缓冲长度为6KB,则判断可用资源段的总长度大于或等于其他资源占用请求携带的其他请求缓冲长度,执行S112-5以确定分配资源段;假设同时接收到三个资源占用请求,第一个资源占用请求携带的请求缓冲长度为10KB,第二个资源占用请求携带的请求缓冲长度为11KB,第三个资源占用请求携带的请求缓冲长度为10KB,则判断可用资源段的总长度小于其他资源占用请求携带的其他请求缓冲长度,执行S112-3,以延迟资源占用请求。
表3
S112-5,从可用资源段中获取第二可用资源段作为分配资源段。
具体的,请再参照表3,识别号为“2~5”、“7~9”、“14”以及“15”为可用资源段,可用资源段的总长度是9KB,假设同时接收到三个资源占用请求,第一个资源占用请求携带的请求缓冲长度为10KB,第二个资源占用请求携带的请求缓冲长度为11KB,第三个资源占用请求携带的请求缓冲长度为6KB,则将“2~5”、“7”以及“8”对应的可用资源段作为分配资源段。
继续参照图4,S120,将分配资源段分配至资源占用请求对应的请求资源,并将分配资源段对应的识别号标记为占用状态。
具体的,如表4所示,假设分配资源段对应的识别号是“2~6”,将识别号“2~6”对应的缓冲资源段分配至资源占用请求对应的请求资源,并将分配资源段对应的识别号“2~6”标记为占用状态。需要说明的是,请求资源可以是本发明实施例所提供的缓冲资源管理装置中的资源请求模块和资源释放模块中的至少一个。
表4
在本实施例中,每个缓冲资源段的长度为预设值,其中,预设值与最小搬移长度一致,最小搬移长度为请求资源在缓冲资源中读写数据的最小长度。需要说明的是,该请求资源在缓冲资源中读写数据的最小长度实质是由相关协议以及存储设备主控的设计决定,也就是说存储设备在设计时规定了最小搬移长度,在不同的芯片中我们可以改变最小搬移长度的大小。优选的,资源占用请求对应数据的最小搬移长度可以是200dw,其中,1dw=64bit。
S130,当请求资源从所述分配资源段被读取后,依据资源释放请求将分配资源段对应的识别号标记为可用状态。
具体的,请参照表5,假设资源释放请求包括的释放的识别号为“1~2”,则将识别号“1~2”标记为可用状态以解除“1~2”对应的缓冲资源段,此时,可用资源段变为“1~2”、“7~15”对应的缓冲资源段。
表5
请参照图6,为本发明实施例所提供的缓冲资源分配模块的功能单元示意图。需要说明的是,本实施例所提供的缓冲资源分配模块110可执行上述图6所示的缓冲资源分配方法,其基本原理及产生的技术效果与前述方法实施例相同,为简要描述,本实施例中未提及部分,可参考前述方法实施例中的相应内容。其包括收发单元111、标识管理单元112、资源管理单元114以及判断单元113。
收发单元111用于接收资源占用请求,其中,资源占用请求携带请求缓冲长度。
可以理解的是,该收发单元111可以执行上述S100。
标识管理单元112用于依据资源占用请求从预设的多个缓冲资源段中确定分配资源段,其中,每个缓冲资源段均分配一个识别号,分配资源段的总长度大于或等于请求缓冲长度。
可以理解的是,该标识管理单元112可以执行上述S110。
资源管理单元114用于将分配资源段分配至资源占用请求对应的请求资源,并将分配资源段对应的识别号标记为占用状态。
可以理解的是,该资源管理单元114可以执行上述S120。
标识管理单元112还用于依据资源占用请求从多个缓冲资源段中返回可用资源段;以及用于依据请求缓冲长度从可用资源段中确定分配资源段。
可以理解的是,该标识管理单元112可以执行上述S111、S112。
判断单元113在收到可用资源段后,用于判断请求缓冲长度是否小于或等于可用资源段的总长度。
可以理解的是,该判断单元113可以执行上述S112-1。
标识管理单元112在请求缓冲长度小于或等于可用资源段的总长度时,还用于从可用资源段中获取第一可用资源段作为分配资源段;以及在请求缓冲长度大于可用资源段的总长度时,发送等待分配信息以延迟所述资源占用请求。
可以理解的是,该标识管理单元112可以执行上述S112-2、S112-3。
判断单元113在接收到至少一个资源占用请求且请求缓冲长度大于可用资源段的总长度时,用于判断可用资源段的总长度是否大于或等于其他资源占用请求携带的其他请求缓冲长度。
可以理解的是,该判断单元113可以执行上述S112-4。
标识管理单元112在可用资源段的总长度大于或等于其他资源占用请求携带的其他请求缓冲长度时,还用于从可用资源段中获取第二可用资源段作为分配资源段。
可以理解的是,该标识管理单元112可以执行上述S112-5。
标识管理单元112还用于当请求资源从所述分配资源段被读取后,依据资源释放请求将分配资源段对应的识别号标记为可用状态。
可以理解的是,该标识管理单元112可以执行上述S130。
基于上述图1所提供的缓冲资源管理装置、图4以及图5所提供的缓冲资源分配方法和图6所提供的缓冲资源分配模块,本发明实施例还提供一种电子设备。请参照图7,为本发明实施例所提供的一种电子设备的结构框图,该电子设备200可以包括存储器210、控制芯片220、通信接口230以及总线240。存储器210、控制芯片220与通信接口230各元件相互之间直接或间接地电性连接,以实现数据的传输或交互,例如,这些元件相互之间可通过一条或多条总线240或信号线实现电性连接。
缓冲资源管理装置包括缓冲资源分配模块,该电子设备200可以通过预先设置的缓冲资源管理装置实现对应的缓冲资源分配方法,该缓冲资源管理装置可以是以固件的形式直接设置在控制芯片220中,例如,当控制芯片220包括静态内存以及处理器时,缓冲资源管理装置直接以固件的形式预先存储在该静态内存中。该缓冲资源管理装置还可以以程序模块的形式保存在该存储器210中,控制芯片220的处理器可以在运行时,通过总线240调用存储器210中保存的缓冲资源管理装置并执行对应的缓冲资源分配方法。或者,本发明实施例所提供的缓冲资源管理装置还可以分别保存在上述静态内存以及存储器210中,处理器在运行时可以分别调用存储于静态内存以及存储器210中的缓冲资源管理装置并实现对应的缓冲资源分配方法,本发明实施例不对缓冲资源管理装置的存储位置作限制。需要说明的是,本发明实施例所提供的缓冲资源分配模块可以但不限于采用硬件描述语言(Hardware Description Language,HDL)实现。
其中,存储器210可以是但不限于,NAND flash芯片(Nand flash,NAND闪存),随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
控制芯片220可能是一种集成电路芯片,具有信号处理能力。该控制芯片220可以是ARM架构的处理器,或者是通用控制芯片220,包括中央控制芯片(Central ProcessingUnit,CPU)、网络控制芯片(Network Processor,NP)等;还可以是数字信号控制芯片(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图7所示的结构仅为示意,电子设备200可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。图7中所示的各组件可以采用硬件、软件或其组合实现。
请参照图8,本发明实施例所提供的缓冲资源管理装置100还可以以硬件的形式设置在该电子设备200中,在该电子设备200运行时,该缓冲资源管理装置100可以通过总线240与通信接口230、控制芯片220以及存储器210进行数据与信令的交互从而完成对应的缓冲资源分配方法。
可以理解的是,本发明实施例所提供的电子设备200可以安装在其他电子设备200中,从而使该电子设备200可以与其他电子设备200协同完成数据的处理,例如该电子设备200可以安装在计算机、嵌入式设备或者物联网设备中。以该电子设备200安装在计算机中为例,该电子设备200可以通过通信接口230与计算机进行数据与信令的交互,需要说明的是,本发明实施例所提供的缓冲资源管理装置100还可以以固件的形式设置在计算机的中央处理器(CPU,Central Processing Unit)中,或以程序模块的形式由该CPU执行从而完成对应的缓冲资源分配方法。
综上所述,本发明实施例所提供的缓冲资源分配方法、模块以及电子设备,接收携带请求缓冲长度的资源占用请求,依据资源占用请求从预设的多个缓冲资源段中确定总长度大于或等于请求缓冲长度的分配资源段,其中,每个缓冲资源段均分配一个识别号,然后将分配资源段分配至资源占用请求对应的请求资源,并将分配资源段对应的识别号标记为占用状态。当有资源占用请求时,从多个可用识别号中确定多个分配识别号,并且这些分配识别号对应的分配资源段的总长度大于或等于请求缓冲长度,然后将分配识别号对应的缓冲资源段分配给资源占用请求对应的请求资源,从而解决存储介质的读写效率低下的问题。
本领域内的技术人员应明白,本发明实施例可提供为方法、装置、电子设备。因此,本发明实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。
本发明实施例是参照根据本发明实施例的方法、装置、电子设备的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和电子设备的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种缓冲资源分配方法,其特征在于,所述方法包括:
接收资源占用请求,其中,所述资源占用请求携带请求缓冲长度;
依据所述资源占用请求从预设的多个缓冲资源段中确定分配资源段,其中,每个所述缓冲资源段均分配一个识别号,所述分配资源段的总长度大于或等于所述请求缓冲长度;
将所述分配资源段分配至所述资源占用请求对应的请求资源,并将所述分配资源段对应的识别号标记为占用状态。
2.如权利要求1所述的缓冲资源分配方法,其特征在于,所述依据所述资源占用请求从预设的多个缓冲资源段中确定分配资源段的步骤包括:
依据所述资源占用请求从多个缓冲资源段中返回可用资源段;
依据所述请求缓冲长度从所述可用资源段中确定分配资源段。
3.如权利要求2所述的缓冲资源分配方法,其特征在于,所述依据所述请求缓冲长度从所述可用资源段中确定分配资源段的步骤包括:
判断所述请求缓冲长度是否小于或等于所述可用资源段的总长度;
当所述请求缓冲长度小于或等于所述可用资源段的总长度时,从所述可用资源段中获取第一可用资源段作为所述分配资源段;
当所述请求缓冲长度大于所述可用资源段的总长度时,发送等待分配信息以延迟所述资源占用请求。
4.如权利要求3所述的缓冲资源分配方法,其特征在于,当接收到至少一个资源占用请求时,所述判断所述请求缓冲长度是否小于或等于所述可用资源段的总长度的步骤之后,所述方法还包括:
当所述请求缓冲长度大于所述可用资源段的总长度时,判断所述可用资源段的总长度是否大于或等于其他资源占用请求携带的其他请求缓冲长度;
当所述可用资源段的总长度大于或等于所述其他请求缓冲长度时,从所述可用资源段中获取第二可用资源段作为所述分配资源段。
5.如权利要求1所述的缓冲资源分配方法,其特征在于,所述将所述分配资源段对应的识别号标记为占用状态的步骤之后,所述方法还包括:
当所述请求资源从所述分配资源段被读取后,依据资源释放请求将所述分配资源段对应的识别号标记为可用状态。
6.如权利要求1所述的缓冲资源分配方法,其特征在于,每个所述缓冲资源段的长度为预设值,其中,所述预设值与最小搬移长度一致,所述最小搬移长度为所述请求资源在所述缓冲资源中读写数据的最小长度。
7.一种缓冲资源分配模块,其特征在于,包括:
收发单元,用于接收资源占用请求,其中,所述资源占用请求携带请求缓冲长度;
标识管理单元,用于依据所述资源占用请求从预设的多个缓冲资源段中确定分配资源段,其中,每个所述缓冲资源段均分配一个识别号,所述分配资源段的总长度大于或等于所述请求缓冲长度;
资源管理单元,用于将所述分配资源段分配至所述资源占用请求对应的请求资源;
所述标识管理单元还用于将所述分配资源段对应的识别号标记为占用状态。
8.如权利要求7所述的缓冲资源分配模块,其特征在于,所述标识管理单元还用于依据所述资源占用请求从多个缓冲资源段中返回可用资源段;
所述标识管理单元还用于依据所述请求缓冲长度从所述可用资源段中确定分配资源段。
9.如权利要求8所述的缓冲资源分配模块,其特征在于,还包括判断单元;
所述判断单元用于判断所述请求缓冲长度是否小于或等于所述可用资源段的总长度;
所述标识管理单元在所述请求缓冲长度小于或等于所述可用资源段的总长度时,用于从所述可用资源段中获取第一可用资源段作为所述分配资源段;
所述收发单元在所述请求缓冲长度大于所述可用资源段的总长度时,还用于发送等待分配信息以延迟所述资源占用请求。
10.一种电子设备,其特征在于,包括存储器、控制芯片、通信接口以及总线,实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910069218.5A CN109800089A (zh) | 2019-01-24 | 2019-01-24 | 一种缓冲资源分配方法、模块以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910069218.5A CN109800089A (zh) | 2019-01-24 | 2019-01-24 | 一种缓冲资源分配方法、模块以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109800089A true CN109800089A (zh) | 2019-05-24 |
Family
ID=66560323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910069218.5A Pending CN109800089A (zh) | 2019-01-24 | 2019-01-24 | 一种缓冲资源分配方法、模块以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109800089A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231096A (zh) * | 2020-09-27 | 2021-01-15 | 苏州浪潮智能科技有限公司 | 一种fpga池化资源任务均衡的方法、系统、设备及介质 |
CN113064723A (zh) * | 2021-03-23 | 2021-07-02 | 瀚云科技有限公司 | 存储介质、电子设备、总线资源分配方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1874490A (zh) * | 2006-06-30 | 2006-12-06 | 华中科技大学 | 一种用于对等网络视频点播系统的磁盘缓存方法 |
CN101094183A (zh) * | 2007-07-25 | 2007-12-26 | 杭州华三通信技术有限公司 | 一种缓存管理方法及装置 |
CN101610197A (zh) * | 2008-06-16 | 2009-12-23 | 中兴通讯股份有限公司 | 一种缓冲区管理方法及其系统 |
CN106970765A (zh) * | 2017-04-25 | 2017-07-21 | 杭州宏杉科技股份有限公司 | 数据存储方法及装置 |
CN107665146A (zh) * | 2016-07-29 | 2018-02-06 | 华为技术有限公司 | 内存管理装置和方法 |
CN108845958A (zh) * | 2018-06-19 | 2018-11-20 | 中国科学院软件研究所 | 一种交织器映射和动态内存管理系统及方法 |
-
2019
- 2019-01-24 CN CN201910069218.5A patent/CN109800089A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1874490A (zh) * | 2006-06-30 | 2006-12-06 | 华中科技大学 | 一种用于对等网络视频点播系统的磁盘缓存方法 |
CN101094183A (zh) * | 2007-07-25 | 2007-12-26 | 杭州华三通信技术有限公司 | 一种缓存管理方法及装置 |
CN101610197A (zh) * | 2008-06-16 | 2009-12-23 | 中兴通讯股份有限公司 | 一种缓冲区管理方法及其系统 |
CN107665146A (zh) * | 2016-07-29 | 2018-02-06 | 华为技术有限公司 | 内存管理装置和方法 |
CN106970765A (zh) * | 2017-04-25 | 2017-07-21 | 杭州宏杉科技股份有限公司 | 数据存储方法及装置 |
CN108845958A (zh) * | 2018-06-19 | 2018-11-20 | 中国科学院软件研究所 | 一种交织器映射和动态内存管理系统及方法 |
Non-Patent Citations (2)
Title |
---|
赵刚: ""离散分配式存储管理—分页式管理分析"", 《2015年7月建筑科技与管理学术交流会论文集》 * |
黄治坤等: "《操作系统》", 31 December 2011, 吉林大学出版社 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231096A (zh) * | 2020-09-27 | 2021-01-15 | 苏州浪潮智能科技有限公司 | 一种fpga池化资源任务均衡的方法、系统、设备及介质 |
CN112231096B (zh) * | 2020-09-27 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种fpga池化资源任务均衡的方法、系统、设备及介质 |
CN113064723A (zh) * | 2021-03-23 | 2021-07-02 | 瀚云科技有限公司 | 存储介质、电子设备、总线资源分配方法及装置 |
CN113064723B (zh) * | 2021-03-23 | 2024-05-24 | 瀚云科技有限公司 | 存储介质、电子设备、总线资源分配方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684065B (zh) | 一种资源调度方法、装置及系统 | |
US8984085B2 (en) | Apparatus and method for controlling distributed memory cluster | |
CN113641457B (zh) | 容器创建方法、装置、设备、介质及程序产品 | |
CN106503058B (zh) | 一种数据加载方法、终端和计算集群 | |
CN111324427B (zh) | 一种基于dsp的任务调度方法及装置 | |
CN104321758A (zh) | 经由共享存储器结构的仲裁存储器访问 | |
CN105159841B (zh) | 一种内存迁移方法及装置 | |
KR20140048186A (ko) | 메모리 콘트롤러와 이 메모리 콘트롤러의 작동방법 | |
CN113172625A (zh) | 一种机器人调度方法、装置、设备及存储介质 | |
CN109144710A (zh) | 资源调度方法、装置及计算机可读存储介质 | |
CN109417488A (zh) | 虚拟网络功能资源管理的方法和设备 | |
KR20160061863A (ko) | 이기종 스토리지 및 처리 메커니즘을 갖는 컴퓨팅 시스템 및 그것의 동작 방법 | |
CN110162396A (zh) | 内存回收方法、装置、系统和存储介质 | |
CN108429783A (zh) | 电子装置、配置文件推送方法及存储介质 | |
CN112905342A (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
CN109800089A (zh) | 一种缓冲资源分配方法、模块以及电子设备 | |
CN109144714A (zh) | 内存管理方法及装置 | |
CN108958950A (zh) | 电子存储设备的任务管理方法、主机和存储装置 | |
CN113010265A (zh) | Pod的调度方法、调度器、存储插件及系统 | |
CN102402422A (zh) | 处理器组件及该组件内存共享的方法 | |
CN110235106A (zh) | 完成侧客户端节流 | |
CN104267985A (zh) | 一种软件加载方法和设备 | |
CN111562883B (zh) | 固态硬盘的缓存管理系统、方法、装置 | |
CN109656479A (zh) | 一种构建存储器命令序列的方法及装置 | |
CN117076353A (zh) | 描述符的配置方法和描述符的配置装置 |
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 |