CN107273214A - 一种基于固态硬盘的多核控制器资源访问方法及其装置 - Google Patents
一种基于固态硬盘的多核控制器资源访问方法及其装置 Download PDFInfo
- Publication number
- CN107273214A CN107273214A CN201710523228.2A CN201710523228A CN107273214A CN 107273214 A CN107273214 A CN 107273214A CN 201710523228 A CN201710523228 A CN 201710523228A CN 107273214 A CN107273214 A CN 107273214A
- Authority
- CN
- China
- Prior art keywords
- request message
- resource
- priority
- lock
- low priority
- 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
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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种基于固态硬盘的多核控制器资源访问方法及其装置,包括接收控制器核心发送的请求消息后,若消息类型为预设的低优先级类型,则将其分配至低优先级队列,若为其余消息类型,将其分配至高优先级队列;高优先级队列接收到请求消息后,判断请求消息对应资源的高优先级lock位和低优先级lock位是否均有效,若有,控制高优先级lock位失效,返回请求资源;低优先级队列接收到请求消息后,判断请求消息对应资源的高优先级lock位是否有效,若有,控制相应的低优先级lock位失效,返回请求资源。本发明中低优先级类型的请求消息,可以在上一个同类型的请求消息访问过程中直接与其访问同一资源,也可以多个该类型的请求消息同时访问同一资源,访问效率高。
Description
技术领域
本发明涉及访问管理技术领域,特别是涉及一种基于固态硬盘的多核控制器资源访问方法及其装置。
背景技术
随着信息技术的高速发展,固态硬盘因其读写速度快、能耗较低,而被广泛采用。当前对于固态硬盘共享资源的访问方式主要是通过加锁方式进行控制,避免多核心共同访问同一个区域的资源造成资源的访问异常,具体过程为,在一个控制器核心发送请求消息后,若请求消息对应的资源处的lock位为有效,则表明该资源目前未被使用,可以访问,若lock位为失效,表明当前有其他请求正在使用该资源,故不能访问。
在实际应用中,资源的访问有读取、修改与删除,按照如上的资源保护机制,当同时访问的核心有多个时,则每次只能有一个核心进行访问,其余核心只能被挂起进行等待,导致被挂起的核心对应的时延增大。
另外,对于某些资源的读取操作,可能不需要保证其数据的时效性,即只需获取当前数据,该类访问其实并不需要等待上一个访问完成后再进行访问,但是按照目前的资源保护机制,这类访问也需要等到上一个访问完成后,控制lock位解锁有效后,再进行访问操作,访问效率低。
因此,如何提供一种访问效率高的基于固态硬盘的多核控制器资源访问方法及其装置是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种基于固态硬盘的多核控制器资源访问方法及其装置,对于预设的低优先级类型的请求消息,可以在上一个同类型的请求消息访问过程中直接与其访问同一资源区域,也可以多个该类型的请求消息同时访问同一资源区域,数据访问的效率高。
为解决上述技术问题,本发明提供了一种基于固态硬盘的多核控制器资源访问方法,包括:
接收控制器核心发送的请求消息后,若消息类型为预设的低优先级类型,则将其分配至低优先级队列,若为其余消息类型,将其分配至高优先级队列;
判断所述高优先级队列是否接收到所述请求消息,如果是,判断所述请求消息对应的资源的高优先级lock位和低优先级lock位是否均有效,若均有效,则控制所述高优先级lock位失效锁定,并返回请求资源至相应的控制器核心;
若未接收到,判断所述低优先级队列是否接收到所述请求消息,如果是判断所述请求消息对应的资源的高优先级lock位是否有效,若有效,则控制相应的低优先级lock位失效锁定,并返回请求资源至相应的控制器核心;
所述高优先级lock位失效表明该资源当前被所述高优先级队列内的消息占用,所述低优先级lock位失效表明该资源当前被所述低优先级队列内的消息占用。
优选地,所述高优先级队列或所述低优先级队列接收到所述请求消息后,判断相应的lock位是否有效之前,还包括:
检测所述请求消息内携带有加锁信息还是解锁信息,若为解锁信息,进行资源释放处理;若为加锁信息,则继续判断相应的lock位是否有效。
优选地,当所述高优先级队列接收到的请求消息对应的资源的高优先级lock位和/或低优先级lock位失效时,还包括:
判断所述高优先级队列接收到的请求消息内是否包含等待位,若包含,则控制将所述请求消息加入高优先级等待队列;否则,返回资源请求失败响应至相应的控制器核心;
当所述低优先级队列接收到的请求消息对应的资源的高优先级lock位失效时,还包括:
判断所述低优先级队列接收到的请求消息内是否包含等待位,若包含,则控制将所述请求消息加入低优先级等待队列;否则,返回资源请求失败响应至相应的控制器核心。
优选地,当所述低优先级队列接收到的请求消息对应的资源的高优先级lock位有效时,还包括:
控制该资源对应的计数器加1。
优选地,所述资源释放处理的过程具体为:
若所述高优先级队列接收到的请求消息内包含解锁信息,控制所述高优先级队列接收到的请求消息对应的资源的高优先级lock位恢复有效;
判断所述高优先级等待队列内是否包含请求消息,若包含,则控制所述高优先级等待队列内包含的请求消息对应的高优先级lock位失效锁定,并返回请求资源至相应的控制器核心;
若不包含,判断所述低优先级等待队列内是否包含请求消息,若包含,判断所述低优先级等待队列内包含的请求消息对应的资源的高优先级lock位是否有效,若有效,则控制该低优先级lock位失效锁定,相应的计数器加1,并返回请求资源至相应的控制器核心;若失效。则将该请求消息重新放回所述低优先级等待队列内;
若所述低优先级队列接收到的请求消息内包含解锁信息,控制相应的计数器减1;
判断相应的计数器的计数值是否为0,若为0,则控制所述低优先级等待队列内包含的请求消息对应的高优先级lock位失效锁定。
为解决上述技术问题,本发明还提供了一种基于固态硬盘的多核控制器资源访问装置,包括:
接收模块,用于接收控制器核心发送的请求消息后,若消息类型为预设的低优先级类型,则将其分配至低优先级队列,若为其余消息类型,将其分配至高优先级队列;
高优先级判断模块,用于判断所述高优先级队列是否接收到所述请求消息,如果是,判断所述请求消息对应的资源的高优先级lock位和低优先级lock位是否均有效,若均有效,则控制所述高优先级lock位失效锁定,并返回请求资源至相应的控制器核心;所述高优先级lock位失效表明该资源当前被所述高优先级队列内的消息占用,所述低优先级lock位失效表明该资源当前被所述低优先级队列内的消息占用;若未接收到,触发低优先级判断模块;
所述低优先级判断模块,用于判断所述低优先级队列是否接收到所述请求消息,如果是,判断所述请求消息对应的资源的高优先级lock位是否有效,若有效,则控制相应的低优先级lock位失效锁定,并返回请求资源至相应的控制器核心。
优选地,所述高优先级判断模块还包括:
第一加解锁控制单元,用于在所述高优先级队列接收到所述请求消息后,检测所述请求消息内携带有加锁信息还是解锁信息,若为解锁信息,进行资源释放处理;若为加锁信息,则继续判断相应的lock位是否有效;
所述低优先级判断模块还包括:
第二加解锁控制单元,用于在所述低优先级队列接收到所述请求消息后,检测所述请求消息内携带有加锁信息还是解锁信息,若为解锁信息,进行资源释放处理;若为加锁信息,则继续判断相应的lock位是否有效。
优选地,还包括:
等待判断模块,用于当所述高优先级队列接收到的请求消息对应的资源的高优先级lock位和/或低优先级lock位失效时,受到所述高优先级判断模块触发后,判断所述高优先级队列接收到的请求消息内是否包含等待位,若包含,则控制将所述请求消息加入高优先级等待队列;否则,返回资源请求失败响应至相应的控制器核心;当所述低优先级队列接收到的请求消息对应的资源的高优先级lock位失效时,受到所述低优先级判断模块触发后,判断所述低优先级队列接收到的请求消息内是否包含等待位,若包含,则控制将所述请求消息加入低优先级等待队列;否则,返回资源请求失败响应至相应的控制器核心。
优选地,所述低优先级判断模块还包括:
计数单元,用于在当所述低优先级队列接收到的请求消息对应的资源的高优先级lock位有效时,受到控制该资源对应的计数器加1。
优选地,所述第一加解锁控制单元与所述第二加解锁控制单元,在接收到解锁信息后,触发资源释放模块;所述装置还包括:
所述资源释放模块,用于若所述高优先级队列接收到的请求消息内包含解锁信息,控制所述高优先级队列接收到的请求消息对应的资源的高优先级lock位恢复有效;判断所述高优先级等待队列内是否包含请求消息,若包含,则控制所述高优先级等待队列内包含的请求消息对应的高优先级lock位失效锁定,并返回请求资源至相应的控制器核心;若不包含,判断所述低优先级等待队列内是否包含请求消息,若包含,判断所述低优先级等待队列内包含的请求消息对应的资源的高优先级lock位是否有效,若有效,则控制该低优先级lock位失效锁定,相应的计数器加1,并返回请求资源至相应的控制器核心;若失效。则将该请求消息重新放回所述低优先级等待队列内;若所述低优先级队列接收到的请求消息内包含解锁信息,控制相应的计数器减1;判断相应的计数器的计数值是否为0,若为0,则控制所述低优先级等待队列内包含的请求消息对应的高优先级lock位失效锁定。
本发明提供了一种基于固态硬盘的多核控制器资源访问方法及其装置,将接收到的请求信息按照其消息类型进行分类,并将预设的低优先级类型的类型的请求消息分配至低优先级队列,其余分配至高优先级队列。当低优先级队列接收到请求消息后,只需要确定当前相应的资源处的高优先级lock位有效,即当前相应的资源并未被高优先级的请求消息占用,即可控制接收到的请求消息直接进行访问。可见,在本发明中,对于类型为预设的低优先级类型的请求消息,可以不必等待上一个低优先级的消息访问完成即可直接访问,当同时接收到多个低优先级的请求消息后,这些请求消息也可以同时访问,而不需要在一个完成后再进行下一个,从而大大提高了访问的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于固态硬盘的多核控制器资源访问方法的过程的流程图;
图2为本发明提供的另一种基于固态硬盘的多核控制器资源访问方法的过程的流程图;
图3为本发明提供的一种资源释放过程的流程图;
图4为本发明提供的一种基于固态硬盘的多核控制器资源访问装置的结构示意图。
具体实施方式
本发明的核心是提供一种基于固态硬盘的多核控制器资源访问方法及其装置,对于预设的低优先级类型的请求消息,可以在上一个同类型的请求消息访问过程中直接与其访问同一资源区域,也可以多个该类型的请求消息同时访问同一资源区域,数据访问的效率高。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种基于固态硬盘的多核控制器资源访问方法,参见图1所示,图1为本发明提供的一种基于固态硬盘的多核控制器资源访问方法的过程的流程图;该方法包括:
步骤s1:接收控制器核心发送的请求消息后,若消息类型为预设的低优先级类型,则将其分配至低优先级队列;若为其余消息类型,将其分配至高优先级队列;
其中,这里的低优先级类型可以为:不需要保证其读取的数据的时效性,只需获取当前数据资源的读取操作。当然,本发明对此不作具体限定。
步骤s2:判断高优先级队列是否接收到请求消息,如果是,判断请求消息对应的资源的高优先级lock位和低优先级lock位是否均有效,若均有效,则控制高优先级lock位失效锁定,并返回请求资源至相应的控制器核心;若未接收到,进入步骤s3;
其中,高优先级队列接收到请求消息后,可以先判断高优先级lock位是否有效,若有效,则控制高优先级lock位失效锁定,之后再判断低优先级lock位,若有效,再返回请求资源;也可以同时分两路判断高优先级lock位和高优先级lock位是否有效,若高优先级lock位有效,则控制高优先级lock位失效锁定,若两者均有效,则返回请求资源;具体采用哪种顺序本发明不作具体限定。
步骤s3:判断低优先级队列是否接收到请求消息,如果是,判断请求消息对应的资源的高优先级lock位是否有效,若有效,则控制相应的低优先级lock位失效锁定,并返回请求资源至相应的控制器核心;
其中,高优先级lock位失效表明该资源当前被高优先级队列内的消息占用,低优先级lock位失效表明该资源当前被低优先级队列内的消息占用。
可以理解的是,只要没有高优先级的消息占用资源,则低优先级的消息可以无视是否有资源占用直接访问,即不必等待上一个低优先级的消息访问完成即可直接访问,当同时接收到多个低优先级的请求消息后,这些请求消息也可以同时访问,并返回请求资源至发送请求消息的多个控制器核心。
作为优选地,步骤s2和步骤s3中,高优先级队列或低优先级队列接收到请求消息后,判断相应的lock位是否有效之前,还包括:
步骤s20:检测请求消息内携带有加锁信息还是解锁信息,若为解锁信息,进行资源释放处理;若为加锁信息,则继续判断相应的lock位是否有效。
可以理解的是,控制器核心在进行数据访问时,开始会发送一个携带有加锁信息的请求消息,控制自身访问的资源的lock位锁定失效,当访问完成后,控制器核心还会发送一个携带有解锁信息的请求消息,控制相应的lock位解锁有效。因此,访问前需要先判断该请求消息携带的是哪种信息,才能方便后续采用相应的操作。
作为优选地,当高优先级队列接收到的请求消息对应的资源的高优先级lock位和/或低优先级lock位失效时,还包括:
步骤s21:判断高优先级队列接收到的请求消息内是否包含等待位,若包含,则控制将请求消息加入高优先级等待队列;否则,返回资源请求失败响应至相应的控制器核心;
当低优先级队列接收到的请求消息对应的资源的高优先级lock位失效时,还包括:
步骤s31:判断低优先级队列接收到的请求消息内是否包含等待位,若包含,则控制将请求消息加入低优先级等待队列;否则,返回资源请求失败响应至相应的控制器核心。
可以理解的是,控制器核心发送的请求消息内若包含等待位,则表明该请求消息可以在资源被占用的情况下进行等待,若不包含等待位,表明该请求消息必须立即回复结果,不能进行等待,故次数会直接返回资源请求失败响应。
作为优选地,当低优先级队列接收到的请求消息对应的资源的高优先级lock位有效时,还包括:
步骤s32:控制该资源对应的计数器加1。
参见图2所示,图2为本发明提供的另一种基于固态硬盘的多核控制器资源访问方法的过程的流程图。
可以理解的是,由于低优先级消息的特性,使其允许多个低优先级的请求消息同时使用同一资源,故此时为了记录某一资源当前正在访问的消息的数量,需要设置与资源区域对应的计数器。
进一步可知,参见图3所示,图3为本发明提供的一种资源释放过程的流程图;步骤s20中的资源释放处理的过程具体为:
步骤s201:若高优先级队列接收到的请求消息内包含解锁信息,控制高优先级队列接收到的请求消息对应的资源的高优先级lock位恢复有效,并进入步骤s202;
步骤s202:判断高优先级等待队列内是否包含请求消息,若包含,进入步骤s203;若不包含,进入步骤s204;
步骤s203:控制高优先级等待队列内包含的请求消息对应的高优先级lock位失效锁定,并返回请求资源至相应的控制器核心;
步骤s204:判断低优先级等待队列内是否包含请求消息,若包含,判断低优先级等待队列内包含的请求消息对应的资源的高优先级lock位是否有效,若有效,则控制该低优先级lock位失效锁定,相应的计数器加1,并返回请求资源至相应的控制器核心;若失效。则将该请求消息重新放回低优先级等待队列内;
步骤s205:若低优先级队列接收到的请求消息内包含解锁信息,控制相应的计数器减1;
步骤s206:判断相应的计数器的计数值是否为0,若为0,则控制低优先级等待队列内包含的请求消息对应的高优先级lock位失效锁定。
需要注意的是,由于高优先级等待队列中为高优先级的请求消息,优先级别高于低优先级等待队列中的请求消息,因此步骤s202中需要先判断高优先级等待队列内是否包含请求消息,再判断低优先级等待队列内是否包含请求消息。
另外,步骤s201与步骤s205之间为并列关系,两者之间是否有先后顺序本发明不作限定,两者可以同时进行。
本发明提供了一种基于固态硬盘的多核控制器资源访问方法,将接收到的请求信息按照其消息类型进行分类,并将预设的低优先级类型的类型的请求消息分配至低优先级队列,其余分配至高优先级队列。当低优先级队列接收到请求消息后,只需要确定当前相应的资源处的高优先级lock位有效,即当前相应的资源并未被高优先级的请求消息占用,即可控制接收到的请求消息直接进行访问。可见,在本发明中,对于类型为预设的低优先级类型的请求消息,可以不必等待上一个低优先级的消息访问完成即可直接访问,当同时接收到多个低优先级的请求消息后,这些请求消息也可以同时访问,而不需要在一个完成后再进行下一个,从而大大提高了访问的效率。
本发明还提供了一种基于固态硬盘的多核控制器资源访问装置,参见图4所示,图4为本发明提供的一种基于固态硬盘的多核控制器资源访问装置的结构示意图。该装置包括:
接收模块1,用于接收控制器核心发送的请求消息后,若消息类型为预设的低优先级类型,则将其分配至低优先级队列,若为其余消息类型,将其分配至高优先级队列;
高优先级判断模块2,用于判断高优先级队列是否接收到请求消息,如果是,判断请求消息对应的资源的高优先级lock位和低优先级lock位是否均有效,若均有效,则控制高优先级lock位失效锁定,并返回请求资源至相应的控制器核心;高优先级lock位失效表明该资源当前被高优先级队列内的消息占用,低优先级lock位失效表明该资源当前被低优先级队列内的消息占用;若未接收到,触发低优先级判断模块3;
低优先级判断模块3,用于判断低优先级队列是否接收到请求消息,如果是,判断请求消息对应的资源的高优先级lock位是否有效,若有效,则控制相应的低优先级lock位失效锁定,并返回请求资源至相应的控制器核心。
作为优选地,高优先级判断模块2还包括:
第一加解锁控制单元,用于在高优先级队列接收到请求消息后,检测请求消息内携带有加锁信息还是解锁信息,若为解锁信息,进行资源释放处理;若为加锁信息,则继续判断相应的lock位是否有效;
低优先级判断模块3还包括:
第二加解锁控制单元,用于在低优先级队列接收到请求消息后,检测请求消息内携带有加锁信息还是解锁信息,若为解锁信息,进行资源释放处理;若为加锁信息,则继续判断相应的lock位是否有效。
作为优选地,该装置还包括:
等待判断模块4,用于当高优先级队列接收到的请求消息对应的资源的高优先级lock位和/或低优先级lock位失效时,受到高优先级判断模块2触发后,判断高优先级队列接收到的请求消息内是否包含等待位,若包含,则控制将请求消息加入高优先级等待队列;否则,返回资源请求失败响应至相应的控制器核心;当低优先级队列接收到的请求消息对应的资源的高优先级lock位失效时,受到低优先级判断模块3触发后,判断低优先级队列接收到的请求消息内是否包含等待位,若包含,则控制将请求消息加入低优先级等待队列;否则,返回资源请求失败响应至相应的控制器核心。
作为优选地,低优先级判断模块3还包括:
计数单元,用于在当低优先级队列接收到的请求消息对应的资源的高优先级lock位有效时,受到控制该资源对应的计数器加1。
作为优选地,第一加解锁控制单元与第二加解锁控制单元,在接收到解锁信息后,触发资源释放模块5;该装置还包括:
资源释放模块5,用于若高优先级队列接收到的请求消息内包含解锁信息,控制高优先级队列接收到的请求消息对应的资源的高优先级lock位恢复有效;判断高优先级等待队列内是否包含请求消息,若包含,则控制高优先级等待队列内包含的请求消息对应的高优先级lock位失效锁定,并返回请求资源至相应的控制器核心;若不包含,判断低优先级等待队列内是否包含请求消息,若包含,判断低优先级等待队列内包含的请求消息对应的资源的高优先级lock位是否有效,若有效,则控制该低优先级lock位失效锁定,相应的计数器加1,并返回请求资源至相应的控制器核心;若失效。则将该请求消息重新放回低优先级等待队列内;若低优先级队列接收到的请求消息内包含解锁信息,控制相应的计数器减1;判断相应的计数器的计数值是否为0,若为0,则控制低优先级等待队列内包含的请求消息对应的高优先级lock位失效锁定。
本发明提供了一种基于固态硬盘的多核控制器资源访问装置,将接收到的请求信息按照其消息类型进行分类,并将预设的低优先级类型的类型的请求消息分配至低优先级队列,其余分配至高优先级队列。当低优先级队列接收到请求消息后,只需要确定当前相应的资源处的高优先级lock位有效,即当前相应的资源并未被高优先级的请求消息占用,即可控制接收到的请求消息直接进行访问。可见,在本发明中,对于类型为预设的低优先级类型的请求消息,可以不必等待上一个低优先级的消息访问完成即可直接访问,当同时接收到多个低优先级的请求消息后,这些请求消息也可以同时访问,而不需要在一个完成后再进行下一个,从而大大提高了访问的效率。
以上的两种具体实施方式仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些改进也应视为本发明的保护范围。
还需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于固态硬盘的多核控制器资源访问方法,其特征在于,包括:
接收控制器核心发送的请求消息后,若消息类型为预设的低优先级类型,则将其分配至低优先级队列,若为其余消息类型,将其分配至高优先级队列;
判断所述高优先级队列是否接收到所述请求消息,如果是,判断所述请求消息对应的资源的高优先级lock位和低优先级lock位是否均有效,若均有效,则控制所述高优先级lock位失效锁定,并返回请求资源至相应的控制器核心;
若未接收到,判断所述低优先级队列是否接收到所述请求消息,如果是,判断所述请求消息对应的资源的高优先级lock位是否有效,若有效,则控制相应的低优先级lock位失效锁定,并返回请求资源至相应的控制器核心;
所述高优先级lock位失效表明该资源当前被所述高优先级队列内的消息占用,所述低优先级lock位失效表明该资源当前被所述低优先级队列内的消息占用。
2.根据权利要求1所述的方法,其特征在于,所述高优先级队列或所述低优先级队列接收到所述请求消息后,判断相应的lock位是否有效之前,还包括:
检测所述请求消息内携带有加锁信息还是解锁信息,若为解锁信息,进行资源释放处理;若为加锁信息,则继续判断相应的lock位是否有效。
3.根据权利要求2所述的方法,其特征在于,当所述高优先级队列接收到的请求消息对应的资源的高优先级lock位和/或低优先级lock位失效时,还包括:
判断所述高优先级队列接收到的请求消息内是否包含等待位,若包含,则控制将所述请求消息加入高优先级等待队列;否则,返回资源请求失败响应至相应的控制器核心;
当所述低优先级队列接收到的请求消息对应的资源的高优先级lock位失效时,还包括:
判断所述低优先级队列接收到的请求消息内是否包含等待位,若包含,则控制将所述请求消息加入低优先级等待队列;否则,返回资源请求失败响应至相应的控制器核心。
4.根据权利要求3所述的方法,其特征在于,当所述低优先级队列接收到的请求消息对应的资源的高优先级lock位有效时,还包括:
控制该资源对应的计数器加1。
5.根据权利要求4所述的方法,其特征在于,所述资源释放处理的过程具体为:
若所述高优先级队列接收到的请求消息内包含解锁信息,控制所述高优先级队列接收到的请求消息对应的资源的高优先级lock位恢复有效;
判断所述高优先级等待队列内是否包含请求消息,若包含,则控制所述高优先级等待队列内包含的请求消息对应的高优先级lock位失效锁定,并返回请求资源至相应的控制器核心;
若不包含,判断所述低优先级等待队列内是否包含请求消息,若包含,判断所述低优先级等待队列内包含的请求消息对应的资源的高优先级lock位是否有效,若有效,则控制该低优先级lock位失效锁定,相应的计数器加1,并返回请求资源至相应的控制器核心;若失效。则将该请求消息重新放回所述低优先级等待队列内;
若所述低优先级队列接收到的请求消息内包含解锁信息,控制相应的计数器减1;
判断相应的计数器的计数值是否为0,若为0,则控制所述低优先级等待队列内包含的请求消息对应的高优先级lock位失效锁定。
6.一种基于固态硬盘的多核控制器资源访问装置,其特征在于,包括:
接收模块,用于接收控制器核心发送的请求消息后,若消息类型为预设的低优先级类型,则将其分配至低优先级队列,若为其余消息类型,将其分配至高优先级队列;
高优先级判断模块,用于判断所述高优先级队列是否接收到所述请求消息,如果是,判断所述请求消息对应的资源的高优先级lock位和低优先级lock位是否均有效,若均有效,则控制所述高优先级lock位失效锁定,并返回请求资源至相应的控制器核心;所述高优先级lock位失效表明该资源当前被所述高优先级队列内的消息占用,所述低优先级lock位失效表明该资源当前被所述低优先级队列内的消息占用;若未接收到,触发低优先级判断模块;
所述低优先级判断模块,用于判断所述低优先级队列是否接收到所述请求消息,如果是,判断所述请求消息对应的资源的高优先级lock位是否有效,若有效,则控制相应的低优先级lock位失效锁定,并返回请求资源至相应的控制器核心。
7.根据权利要求6所述的装置,其特征在于,所述高优先级判断模块还包括:
第一加解锁控制单元,用于在所述高优先级队列接收到所述请求消息后,检测所述请求消息内携带有加锁信息还是解锁信息,若为解锁信息,进行资源释放处理;若为加锁信息,则继续判断相应的lock位是否有效;
所述低优先级判断模块还包括:
第二加解锁控制单元,用于在所述低优先级队列接收到所述请求消息后,检测所述请求消息内携带有加锁信息还是解锁信息,若为解锁信息,进行资源释放处理;若为加锁信息,则继续判断相应的lock位是否有效。
8.根据权利要求7所述的装置,其特征在于,还包括:
等待判断模块,用于当所述高优先级队列接收到的请求消息对应的资源的高优先级lock位和/或低优先级lock位失效时,受到所述高优先级判断模块触发后,判断所述高优先级队列接收到的请求消息内是否包含等待位,若包含,则控制将所述请求消息加入高优先级等待队列;否则,返回资源请求失败响应至相应的控制器核心;当所述低优先级队列接收到的请求消息对应的资源的高优先级lock位失效时,受到所述低优先级判断模块触发后,判断所述低优先级队列接收到的请求消息内是否包含等待位,若包含,则控制将所述请求消息加入低优先级等待队列;否则,返回资源请求失败响应至相应的控制器核心。
9.根据权利要求8所述的装置,其特征在于,所述低优先级判断模块还包括:
计数单元,用于在当所述低优先级队列接收到的请求消息对应的资源的高优先级lock位有效时,受到控制该资源对应的计数器加1。
10.根据权利要求9所述的装置,其特征在于,所述第一加解锁控制单元与所述第二加解锁控制单元,在接收到解锁信息后,触发资源释放模块;所述装置还包括:
所述资源释放模块,用于若所述高优先级队列接收到的请求消息内包含解锁信息,控制所述高优先级队列接收到的请求消息对应的资源的高优先级lock位恢复有效;判断所述高优先级等待队列内是否包含请求消息,若包含,则控制所述高优先级等待队列内包含的请求消息对应的高优先级lock位失效锁定,并返回请求资源至相应的控制器核心;若不包含,判断所述低优先级等待队列内是否包含请求消息,若包含,判断所述低优先级等待队列内包含的请求消息对应的资源的高优先级lock位是否有效,若有效,则控制该低优先级lock位失效锁定,相应的计数器加1,并返回请求资源至相应的控制器核心;若失效。则将该请求消息重新放回所述低优先级等待队列内;若所述低优先级队列接收到的请求消息内包含解锁信息,控制相应的计数器减1;判断相应的计数器的计数值是否为0,若为0,则控制所述低优先级等待队列内包含的请求消息对应的高优先级lock位失效锁定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710523228.2A CN107273214A (zh) | 2017-06-30 | 2017-06-30 | 一种基于固态硬盘的多核控制器资源访问方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710523228.2A CN107273214A (zh) | 2017-06-30 | 2017-06-30 | 一种基于固态硬盘的多核控制器资源访问方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107273214A true CN107273214A (zh) | 2017-10-20 |
Family
ID=60071029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710523228.2A Pending CN107273214A (zh) | 2017-06-30 | 2017-06-30 | 一种基于固态硬盘的多核控制器资源访问方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273214A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345506A (zh) * | 2018-03-31 | 2018-07-31 | 北京联想核芯科技有限公司 | 一种多个cpu下的ssd硬盘 |
CN108600044A (zh) * | 2018-03-30 | 2018-09-28 | 新华三信息安全技术有限公司 | 一种接口状态获取方法、装置及设备 |
CN109491948A (zh) * | 2018-11-19 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种针对固态硬盘双端口的数据处理方法和装置 |
CN111475213A (zh) * | 2020-04-03 | 2020-07-31 | 深圳忆联信息系统有限公司 | 多核结构固态硬盘的功耗降低方法、装置和计算机设备 |
CN112286697A (zh) * | 2020-11-06 | 2021-01-29 | 上海新时达机器人有限公司 | 基于无操作系统单片机平台的互斥资源访问方法 |
CN112306927A (zh) * | 2019-07-31 | 2021-02-02 | 华为技术有限公司 | 一种io请求的处理方法、装置及系统 |
WO2022236816A1 (zh) * | 2021-05-14 | 2022-11-17 | 华为技术有限公司 | 一种任务分配方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101631328A (zh) * | 2009-08-14 | 2010-01-20 | 北京星网锐捷网络技术有限公司 | 一种对共享资源互斥访问的同步方法、装置和网络设备 |
CN101650646A (zh) * | 2009-09-22 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种共享数据一致性的实现方法及装置 |
CN105224251A (zh) * | 2015-09-28 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种基于Linux的读写锁优化方法和系统 |
US20160162341A1 (en) * | 2014-01-22 | 2016-06-09 | International Business Machines Corporation | Reader-writer lock |
CN105740713A (zh) * | 2016-01-28 | 2016-07-06 | 浪潮电子信息产业股份有限公司 | 一种基于优先级的tpm读写控制方法 |
-
2017
- 2017-06-30 CN CN201710523228.2A patent/CN107273214A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101631328A (zh) * | 2009-08-14 | 2010-01-20 | 北京星网锐捷网络技术有限公司 | 一种对共享资源互斥访问的同步方法、装置和网络设备 |
CN101650646A (zh) * | 2009-09-22 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种共享数据一致性的实现方法及装置 |
US20160162341A1 (en) * | 2014-01-22 | 2016-06-09 | International Business Machines Corporation | Reader-writer lock |
CN105224251A (zh) * | 2015-09-28 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种基于Linux的读写锁优化方法和系统 |
CN105740713A (zh) * | 2016-01-28 | 2016-07-06 | 浪潮电子信息产业股份有限公司 | 一种基于优先级的tpm读写控制方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108600044A (zh) * | 2018-03-30 | 2018-09-28 | 新华三信息安全技术有限公司 | 一种接口状态获取方法、装置及设备 |
CN108345506A (zh) * | 2018-03-31 | 2018-07-31 | 北京联想核芯科技有限公司 | 一种多个cpu下的ssd硬盘 |
CN109491948A (zh) * | 2018-11-19 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种针对固态硬盘双端口的数据处理方法和装置 |
CN109491948B (zh) * | 2018-11-19 | 2021-10-29 | 郑州云海信息技术有限公司 | 一种针对固态硬盘双端口的数据处理方法和装置 |
CN112306927A (zh) * | 2019-07-31 | 2021-02-02 | 华为技术有限公司 | 一种io请求的处理方法、装置及系统 |
CN112306927B (zh) * | 2019-07-31 | 2023-03-03 | 华为技术有限公司 | 一种io请求的处理方法、装置及系统 |
CN111475213A (zh) * | 2020-04-03 | 2020-07-31 | 深圳忆联信息系统有限公司 | 多核结构固态硬盘的功耗降低方法、装置和计算机设备 |
CN111475213B (zh) * | 2020-04-03 | 2023-04-28 | 深圳忆联信息系统有限公司 | 多核结构固态硬盘的功耗降低方法、装置和计算机设备 |
CN112286697A (zh) * | 2020-11-06 | 2021-01-29 | 上海新时达机器人有限公司 | 基于无操作系统单片机平台的互斥资源访问方法 |
CN112286697B (zh) * | 2020-11-06 | 2022-11-25 | 上海新时达机器人有限公司 | 基于无操作系统单片机平台的互斥资源访问方法 |
WO2022236816A1 (zh) * | 2021-05-14 | 2022-11-17 | 华为技术有限公司 | 一种任务分配方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273214A (zh) | 一种基于固态硬盘的多核控制器资源访问方法及其装置 | |
CN103853610B (zh) | 资源优化方法及装置 | |
EP1906589B1 (en) | An overload control method for the access media gateway and an access media gateway | |
CN101789908B (zh) | 分片报文接收处理方法及装置 | |
CN107085542A (zh) | Ipc通信方法和服务器 | |
CN105656765B (zh) | 一种基于深度内容解析的smtp协议数据防外泄方法及系统 | |
CN103841562B (zh) | 一种时隙资源占用处理方法及装置 | |
CN108023805A (zh) | 交互权限的配置方法及装置 | |
CN103617389A (zh) | 终端权限管理方法及终端设备 | |
CN107391279A (zh) | 一种消息队列容器创建方法、装置及消息队列容器 | |
CN107797859A (zh) | 一种定时任务的调度方法及一种调度服务器 | |
CN106469270A (zh) | 一种应用权限的管理方法、设备及系统 | |
CN107645502A (zh) | 一种报文检测方法及装置 | |
CN104184603B (zh) | 一种用户状态统计方法、装置及系统 | |
CN102223269A (zh) | 一种报文处理方法、mac地址漂移的检测方法及装置 | |
CN100364280C (zh) | 一种下发安全策略的方法 | |
US5677910A (en) | High performance two-port transport LAN bridge | |
CN104468818B (zh) | 一种物联网业务处理系统及其方法 | |
CN103810038A (zh) | 一种ha集群中虚拟机存储文件迁移方法及其装置 | |
CN109672618A (zh) | 冗余接口处理方法、装置、服务器及存储介质 | |
CN100550844C (zh) | 还原重定向报文特征信息的方法 | |
CN104572488B (zh) | 内存管理方法、内存管理装置和终端 | |
CN105656855B (zh) | 资源访问的控制方法和装置 | |
CN109495544A (zh) | 一种报文数据处理方法和装置、以及计算机设备 | |
WO2016123888A1 (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171020 |
|
RJ01 | Rejection of invention patent application after publication |