CN117472793A - 用于管理存储空间的装置及方法、计算设备 - Google Patents

用于管理存储空间的装置及方法、计算设备 Download PDF

Info

Publication number
CN117472793A
CN117472793A CN202210853749.5A CN202210853749A CN117472793A CN 117472793 A CN117472793 A CN 117472793A CN 202210853749 A CN202210853749 A CN 202210853749A CN 117472793 A CN117472793 A CN 117472793A
Authority
CN
China
Prior art keywords
request
space management
space
threshold
module
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
Application number
CN202210853749.5A
Other languages
English (en)
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Moore Threads Technology Co Ltd
Original Assignee
Moore Threads Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Moore Threads Technology Co Ltd filed Critical Moore Threads Technology Co Ltd
Priority to CN202210853749.5A priority Critical patent/CN117472793A/zh
Publication of CN117472793A publication Critical patent/CN117472793A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本公开涉及一种用于管理存储空间的装置及方法、计算设备。用于管理存储空间的装置包括:至少两个第一接口,被配置为接收来自至少两个外部请求源的空间管理请求,空间管理请求用于管理所述存储空间;第二接口,连接存储器,存储器包括存储空间;优先级仲裁模块,被配置为:当同时存在经由不同第一接口接收到的至少两个空间管理请求时,在至少两个空间管理请求中,确定并输出优先级最高的空间管理请求;空间管理模块,被配置为接收来自优先级仲裁模块的空间管理请求,并基于空间管理请求,经由第二接口,管理存储空间。由此,可以允许以硬件方式有序且高效地实现针对多请求源场景的存储空间管理。

Description

用于管理存储空间的装置及方法、计算设备
技术领域
本公开涉及计算机技术领域,具体地,涉及一种用于管理存储空间的装置、计算设备和用于管理存储空间的方法。
背景技术
随着计算机技术的发展,在人们的生活、工作、学习中,出现了越来越多的各种各样的计算设备。一般而言,在这些计算设备中,存在各种形式的处理器、控制器或微控制器,当它们运行应用程序以实现某种功能时,需要向内存请求一定的空间,当应用程序运行结束后,相应空间可以被释放。这便涉及到对内存空间的管理。
目前,内存空间的管理一般通过软件方式实现,即由CPU(central processingunit,中央处理器)或MCU(Microcontroller Unit,微控制单元)等运行内存管理策略,并发出指令,进而由硬件***对指令进行处理,再通过总线实现对内存的读写操作。在这类软件实现的内存管理方案中,通常存在路径长,延时高,结构复杂等问题。并且,随着计算***的复杂度越来越高,在对诸如内存的存储器进行读写时,常常会出现多个外部请求源同时发出请求的情况,针对这种情况,上述软件实现的内存管理方案中的路径长、延时高、结构复杂等问题将愈发凸显,并对整个计算***的运行效率产生不利影响。
发明内容
有鉴于此,本申请提供了一种用于管理存储空间的装置、用于管理存储空间的方法和计算设备,可以缓解、减轻或甚至消除上述问题。
根据本公开的一方面,提供了一种用于管理存储空间的装置,包括:至少两个第一接口,被配置为接收来自至少两个外部请求源的空间管理请求,空间管理请求用于管理存储空间;第二接口,连接存储器,存储器包括存储空间;优先级仲裁模块,被配置为:当同时存在经由不同第一接口接收到的至少两个空间管理请求时,在至少两个空间管理请求中,确定并输出优先级最高的空间管理请求;空间管理模块,被配置为接收来自优先级仲裁模块的空间管理请求,并基于所接收的空间管理请求,经由第二接口管理存储空间。
在一些实施例中,空间管理请求包括请求源标识和预设优先级别中的至少一项,确定并输出优先级最高的空间管理请求包括:基于请求源标识和预设优先级别中的至少一项,确定并输出优先级最高的空间管理请求。
在一些实施例中,优先级仲裁模块包括:至少两个第一仲裁器,每个第一仲裁器被配置为接收具有相同预设优先级别的空间管理请求,并且,在所接收的空间管理请求中,基于请求源标识确定并输出一个空间管理请求;第二仲裁器,被配置为接收来自至少两个第一仲裁器的空间管理请求,并且,输出预设优先级别最高的空间管理请求。
在一些实施例中,每个第一仲裁器与至少两个第一接口中的每个第一接口相连接。
在一些实施例中,基于请求源标识确定并输出一个空间管理请求包括:基于与请求源标识相关的当前排序,确定并输出来自排序最靠前的外部请求源的空间管理请求;将与所输出的空间管理请求相对应的请求源标识移动至当前排序的最末位,以更新当前排序。
在一些实施例中,输出预设优先级别最高的空间管理请求包括以下中的至少一项:基于空间管理请求的优先级别标识,确定并输出优先级最高的空间管理请求;输出来自与最高预设优先级别对应的第一仲裁器的空间管理请求。
在一些实施例中,装置还包括:高水位阈值模块,被配置为在空闲状态下接收来自优先级仲裁模块的空间管理请求,并且,响应于与所接收的空间管理请求对应的外部请求源的累计占用存储空间未超过预设阈值,将该空间管理请求传递至空间管理模块。
在一些实施例中,高水位阈值模块还被配置为响应于与所接收的空间管理请求对应的外部请求源的累计占用存储空间超过预设阈值,不输出该空间管理请求,并向该对应的外部请求源反馈请求重传信息。
在一些实施例中,向该对应的外部请求源反馈请求重传信息包括:令重传次数加一,并向对应的外部请求源反馈重传次数。
在一些实施例中,高水位阈值模块还被配置为响应于接收到针对所输出的空间管理请求或所反馈的请求重传信息的响应,恢复至空闲状态。
在一些实施例中,在空闲状态下接收来自优先级仲裁模块的空间管理请求包括:响应于高水位阈值模块处于阈值配置阶段,向与所接收的空间管理请求对应的外部请求源反馈请求重传信息;响应于高水位阈值模块未处于阈值配置阶段,确定所接收的空间管理请求对应的外部请求源的累计占用存储空间是否超过预设阈值。
在一些实施例中,向与所接收的空间管理请求对应的外部请求源反馈请求重传信息包括:将重传次数设定为指示阈值配置阶段的预设值,并向对应的外部请求源反馈所述重传次数。
在一些实施例中,装置还包括:阈值寄存器,被配置为基于用户输入,存储阈值修改数据,并在阈值配置阶段向高水位阈值模块发送阈值修改数据,以及其中,高水位阈值模块还被配置为,在阈值配置阶段中,基于所接收的阈值修改数据,更新针对至少部分外部请求源的预设阈值。
根据本公开的另一方面,提供了一种计算设备,包括根据前述方面的各种实施例所述的用于管理存储空间的装置。
根据本公开的又一方面,提供了一种用于管理存储空间的方法,包括:经接收来自至少两个外部请求源的空间管理请求,空间管理请求用于管理存储空间;当同时存在来自不同外部请求源的至少两个空间管理请求时,在至少两个空间管理请求中,确定优先级最高的空间管理请求;基于所确定的优先级最高的空间管理请求,经由第二接口,管理存储空间。
通过本公开提供的用于管理存储空间的装置,允许以硬件方式实现内存管理,有助于避免软件方式所带来的路径长、延时高等问题,从而有助于提升存储空间的管理效率,进而有助于提升整个计算***的运行速度。同时,借助单独的硬件装置实施内存管理可以释放处理器、控制器或微控制器的资源,有助于实现其资源的优化配置,从而有助于提升计算***的整体性能。此外,本公开提供的用于管理存储空间的装置具有两个或更多个用于连接外部请求源并接收空间管理请求的硬件接口,并设置了优先级仲裁模块,可以在接收到来自不同外部请求源的空间管理请求时,在所接收的两个或更多个空间管理请求中选择一个优先级最高的空间管理请求并将其送至下级电路(例如空间管理模块或其他中间模块)进行处理。由此,可以有序且高效地实现针对多请求源场景的存储空间管理操作,并可以保证高优先级的空间管理请求能够被优先响应,从而有助于提升存储空间管理效率,进而提升整个***的操作效率,并有助于优化存储资源的合理配置。
根据在下文中所描述的实施例,本申请的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
在下面结合附图对于示例性实施例的描述中,本申请的更多细节、特征和优点被公开,在附图中:
图1示例性示出了相关技术中的内存管理架构的示意图;
图2示意性示出了根据本公开的一些实施例的存储空间管理***的示例框图;
图3示意性示出了根据本公开的一些实施例的存储空间管理***的另一示例框图;
图4示意性示出了根据本公开的一些实施例的优先级仲裁模块的示例架构图;
图5示意性示出了根据本公开的一些实施例的用于高水位阈值模块的示例状态机;
图6示意性示出了根据本公开的一些实施例的高水位阈值模块的示例框图;
图7示意性示出了根据本公开的一些实施例的空间管理模块的示例框图;
图8示意性示出了根据本公开的一些实施例的存储空间的划分方案;
图9示意性示出了借助第一指针和第二指针管理存储单元索引的示例方案;
图10示意性示出了根据本公开的一些实施例的用于空间分配模块的示例状态机;
图11示意性示出了根据本公开的一些实施例的用于空间回收模块的示例状态机;
图12示意性示出了根据本公开的一些实施例的计算设备的示例框图;
图13示意性示出了根据本公开的一些实施例的空间管理方法的示例流程图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。应理解,所描述的实施例仅仅是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
图1示例性示出了相关技术中的内存管理架构100的示意图。如图1所示,在相关技术中,内存110可以直接由处理器120或类似结构经由总线130管理。示例性地,当处理器120需要向内存空间写入数据时,可以根据内部存储的内存空间管理策略确定可使用的空间,进而发出向相应内存空间写入数据的指令,该指令可以由硬件处理,并经由总线130发送至内存110,以实现数据写入。数据读取、删除等过程可以类似地实施。然而,申请人发现,通过这类方式执行内存管理存在以下缺点:第一,需占用处理器(或控制器、微控制器等)的资源来执行空间分配、回收等操作,不利于其资源的高效利用;第二,通过软件实施内存空间的分配和回收,需要硬件对指令进行处理,进而通过总线来在内存空间中进行读写操作,存在路径长、延时高、结构复杂等特点;第三,当存在多个发起读写请求的硬件结构(例如多个处理器、控制器或微控制器等)时,在通过软件方式管理内存并协调多个硬件结构的过程中,上述路径长、延时高、结构复杂的缺点会被进一步放大,并且受限于现有硬件结构,管理的灵活度也会受到限制;等等。
基于以上考虑,申请人提出了一种通过硬件电路实现内存管理的方案,其有助于解决或缓解上述各种问题。
图2示意性示出了根据本公开的一些实施例的存储空间管理***200的示例框图。该存储空间管理***200包括用于管理存储空间的装置210,其可以接收来自至少两个外部请求源220-1至220-N(N≥2)的空间管理请求,并对所接收的空间管理请求进行处理,以管理存储器230中的存储空间。示例性地,存储器230可以是各种用作内存的存储器,例如双倍速率(Double Data Rate,DDR)同步动态随机存储器等,或者也可以是其他类型的存储器。示例性地,外部请求源220-1至220-N可以是任何可以发起空间管理请求的设备,例如CPU、MCU等中的一种或多种的组合。
如图2所示,装置210可以包括至少两个第一接口211-1至221-N(N≥2)、第二接口212、优先级仲裁模块213和空间管理模块214。第一接口211-1至221-N可以分别与外部请求源220-1至220-N相连接,,例如通过专用线路或公用线路(比如总线)相连接,并用于实现外部请求源220-1至220-N与装置210之间的通信,例如通过握手方式实现数据通信。示例性地,第一接口211-1可以被配置为接收来自外部请求源220-1的空间管理请求,并可以被配置为将管理结果反馈至外部请求源220-1,管理结果可以为例如指示所分配空间的存储单元索引、空间分配失败、空间回收成功等的信息;其他第一接口可以类似地操作。第二接口212可以被配置为与存储器230相连接,并用于实现存储器230与装置210之间的通信,例如可以将来自空间管理装置210的读取或写入请求发送至存储器230、将来自存储器230的数据反馈至装置210等。
优先级仲裁模块213可以被配置为:当同时存在经由不同第一接口接收到的至少两个空间管理请求时,在该至少两个空间管理请求中,确定并输出优先级最高的空间管理请求。示例性地,不同外部请求源可以经由不同第一接口同时发起空间管理请求,此时,优先级仲裁模块213可以根据预设机制在两个或更多个空间管理请求中选择一个空间管理请求,并将其输出至下级电路,例如,可以基于请求源标识和预设优先级别中的至少一项,确定并输出优先级最高的空间管理请求。
空间管理模块214可以被配置为接收来自优先级仲裁模块的空间管理请求,并基于该空间管理请求,经由第二接口管理存储空间。应理解,在本公开中,“来自”可以指“直接来自”或“间接来自”。例如,“来自优先级仲裁模块的空间管理请求”可以指直接来自优先级仲裁模块的空间管理请求,也可以指间接来自优先级仲裁模块的空间管理请求。示例性地,空间管理模块214可以直接接收来自优先级仲裁模块213的空间管理请求,或者,也可以经由其他中间模块接收来自优先级仲裁模块213的空间管理请求。示例性地,在接收到空间管理请求后,空间管理模块214可以对该空间管理请求进行分析和处理,例如,当空间管理请求为请求分配某个大小的存储空间的空间分配请求时,空间管理模块214可以确定存储器230中是否存在足够的可用空间,若存在,则可以向对应的外部请求源分配所需空间,若不存在,则可以向对应的外部请求源反馈指示空间不足或分配失败的消息;或者,当空间管理请求为请求回收某部分存储空间的空间回收请求时,空间管理模块214可以操作以将存储器230中的该部分空间释放为可用空间。
示例性地,装置210可以被实现为各种类型的硬件电路,例如形成为集成电路、封装为芯片结构等,从而可以根据需求而被使用,例如被焊接到电路板的相应引脚处或***到电路板的相应插口中等。
通过装置210,可以通过硬件方式对存储器230(例如,诸如DDR的内存储器)的存储空间进行管理,可以避免软件管理方式的弊端,并可以提供一种更便捷的管理方式,有利于提升空间管理效率,节省CPU或MCU等主控制单元的处理资源,进而提升整个计算***的操作效率,优化整个计算***的资源配置。此外,在同时存在来自不同外部请求源的空间管理请求时,可以在所接收的两个或更多个空间管理请求中选择一个优先级最高的空间管理请求并将其送至下级电路(例如空间管理模块或其他中间模块)进行处理。由此,可以有序且高效地实现针对多请求源场景的存储空间管理操作,并可以保证高优先级的空间管理请求能够被优先响应,从而进一步有助于提升多请求源场景的存储空间管理效率,进而提升整个***的操作效率,并有助于优化存储资源的合理配置。
图3示意性示出了根据本公开的一些实施例的存储空间管理***300的示例框图。类似于图2,存储空间管理***300包括用于管理存储空间的装置310、外部请求源320-1至320-N(N≥2)和存储器330,其中,外部请求源320-1至320-N和存储器330类似于图2中的外部请求源220-1至220-N和存储器230,在此不再赘述。另外,为简洁起见,在图3中,省略了对第一接口和第二接口的绘制。示例性地,优先级仲裁模块311可以经由两个或更多个第一接口接收来自外部请求源320-1至320-N的空间管理请求,以及向外部请求源320-1至320-N反馈空间管理请求的处理结果;空间管理模块312可以经由第二接口向存储器330发送读写请求,以及接收来自存储器330的数据或响应信息。
在一些实施例中,优先级仲裁模块311可以通过图4所示的两级仲裁器架构400来实现。如图4所示,两级仲裁器可以包括第一仲裁器420-1、420-2和420-3,以及第二仲裁器430。每个第一仲裁器可以被配置为接收具有相同预设优先级别的空间管理请求,并且,在所接收的空间管理请求中,基于请求源标识确定并输出一个空间管理请求;第二仲裁器可以被配置为接收来自至少两个第一仲裁器的空间管理请求,并且,输出预设优先级别最高的空间管理请求。
示例性地,可以针对不同预设优先级设置不同的第一仲裁器。假如存在高优先级、中优先级和低优先级三种预设优先级,则可以对应地设置三个第一仲裁器,每个第一仲裁器用于接收具有一种预设优先级的空间管理请求,并在所接收的具有相同预设优先级的空间管理请求中,选择并输出一个相对优先的空间管理请求。
例如,在图4所示的架构400中,外部硬件(或称为外部请求源)可以经由外部硬件接口(或称之为第一接口)410-1至410-N通过握手方式向空间管理装置传递空间管理请求。第一仲裁器420-1可以用于接收和处理具有低优先级的空间管理请求,第一仲裁器420-2可以用于接收和处理具有中优先级的空间管理请求,第一仲裁器420-3可以用于接收和处理具有高优先级的空间管理请求。当外部硬件接口410-1至410-N中的两个或更多个外部硬件接口处同时存在由外部硬件向第一仲裁器420-1传递的具有低优先级的空间管理请求时,第一仲裁器420-1可以在来自两个或更多个外部硬件的空间管理请求中选择一个相对优先的空间管理请求,并将其输出至第二仲裁器430,例如可以通过随机方式、根据针对外部请求源的预设排序等来选择该相对优先的空间管理请求。第一仲裁器420-2和420-3可以类似地操作。当第一仲裁器420-1至420-3中的两个或更多个同时试图向第二仲裁器430传递空间管理请求时,第二仲裁器430可以根据高优先级、中优先级、低优先级的排序选择当前优先级最高的空间管理请求,并将其输入至下级电路(例如空间管理模块或其他电路模块)。
应理解,图4仅仅是示例性地,实际上,可以存在两个第一仲裁器,或者也可以存在四个或更多个第一仲裁器,本公开对第一仲裁器的具体数量不做限制。此外,还可以存在两级以上的仲裁器,例如可以设置两个或更多个第二仲裁器,并在第二仲裁器之后设置第三仲裁器,等等。通过设置两级(或更多级)仲裁器,可以更加快捷地实现空间管理请求的优先级的确定,并可以通过将存储资源优先分配至优先级较高的空间管理请求,来优化存储空间的分配。
在一些实施例中,每个第一仲裁器可以与所有第一接口中的每个第一接口相连接,即,可以通过全连接方式连接所有第一仲裁器和所有第一接口。示例性地,在图4所示的实施例中,外部硬件接口410-1至410-N中的每一个可以被连接至所有第一仲裁器420-1至420-3。在这种实施例中,当某个外部硬件经由一个外部硬件接口发送空间管理请求时,其可以通过预先发送带有指示预设优先级的标识的请求,或者通过在空间管理请求中携带指示预设优先级的标识,来使得该外部硬件或该空间管理请求被绑定至对应的第一仲裁器;或者,也可以通过其他方式来使得该外部硬件或该外部硬件所发送的空间管理请求被绑定至对应的第一仲裁器。由此,通过上述全连接方式,可以允许外部请求源被绑定至任意第一仲裁器,从而支持针对多种应用场景的配置,增加空间管理装置在使用方面的灵活性。
在一些实施例中,第一仲裁器420-1至420-3中的每一个可以基于轮询方式确定输出至第二仲裁器430的空间管理请求。示例性地,可以基于与请求源标识相关的当前排序,确定并输出来自排序最靠前的外部请求源的空间管理请求;然后,可以将与所输出的空间管理请求相对应的请求源标识移动至当前排序的最末位,以更新当前排序。例如,假设当前排序为410-1、410-2、410-3、……、410-N,若外部硬件接口410-2和410-3处同时存在来自外部请求源的空间管理请求,则允许410-2处的空间管理请求被输出至第二仲裁器,同时将当前排序更新为410-1、410-3、……、410-N、410-2;以此类推。由此,可以快捷地在两个或更多个空间管理请求中确定一个被输出至下一级仲裁器的空间管理请求,并可以平衡经由不同接口传递的空间管理请求(或者说,来自不同外部请求源的空间管理请求)被优先处理的概率,有助于在相同预设优先级的空间管理请求之间均衡分配处理及存储资源。
在一些实施例中,第二仲裁器430可以基于预设优先级确定输出至下级电路的空间管理请求。示例性地,空间管理请求中可以携带指示预设优先级的优先级别标识,或者来自不同第一仲裁器的空间管理请求可以被视为具有不同优先级别标识,并且第二仲裁器430可以基于该优先级别标识,根据预设优先级别排序,确定并输出优先级最高的空间管理请求。示例性地,预设优先级别排序可以为诸如高优先级、中优先级、低优先级的排序等。由此,可以优先响应高优先级的空间管理请求,从而有助于优化处理及存储资源的配置,使得这些资源优先被分配给更为重要的外部请求源或由外部请求源发起的空间管理请求。
回到图3,在一些实施例中,空间管理装置310还可以包括高水位阈值模块313。高水位阈值模块313可以被配置为在空闲状态下接收来自优先级仲裁模块311的空间管理请求,并且,响应于与所接收的空间管理请求对应的外部请求源的累计占用存储空间未超过预设阈值,将该空间管理请求传递至空间管理模块312。示例性地,可以为不同外部请求源预先设置高水位阈值(即预设阈值),当高水位阈值模块313接收到某个空间管理请求时,可以确定发送该空间管理请求的外部请求源,例如通过空间管理请求中的指示外部请求源的标识等来确定。若该空间管理请求为空间分配请求,可以判断该外部请求源当前占用的空间与本次请求分配的空间之和(该和可以理解为外部请求源的累计占用存储空间)是否超过相应的高水位阈值,并仅在未超过时才将该请求输出至下级电路;若该空间管理请求为空间回收请求,由于该请求被处理后不会增加相应外部请求源所占用的空间,因此,可以直接将其输出至下级电路。可选地,根据实际应用需求,不同外部请求源的高水位阈值可以被设置为相同、部分相同或完全不同。
申请人发现,当存在多个外部请求源时,***存在发生死锁(Deadlock)的风险。具体而言,死锁可以理解为:如果一组进程中的每一个进程都在等待仅由该组进程中的其它进程才能引发的事件,那么该组进程是死锁的。死锁通常源于多个进程对资源的争夺,对不可抢占资源或对可消耗资源进行争夺时都可能引起死锁。示例性地,针对总共具有8 Gb可分配的存储空间的存储器,假如高优先级的事件1申请了全部的8 Gb存储空间,而该事件1在释放存储空间时,需要依赖事件2,但是,事件2此时没有可以申请的存储空间,并且事件2还在尝试申请存储空间,在这种情况下,***就会产生死锁。在本公开的上述实施例中,通过设置高水位阈值模块313,可以为每个外部请求源预先设置高水位阈值,以限制单个外部请求源的最大可分配空间,当接收到空间管理请求时,仅在相应外部请求源的累计占用存储空间未超过该预设高水位阈值时,才将该空间管理请求传递至下级电路,由此,可以有效避免死锁发生,从而有助于提升整个***的稳定性和可靠性。
在一些实施例中,高水位阈值模块313还可以被配置为响应于与所接收的空间管理请求对应的外部请求源的累计占用存储空间超过预设阈值,不输出该空间管理请求,并向该对应的外部请求源反馈请求重传信息。示例性地,请求重传信息可以通过预设字符串或其他方式反馈至外部请求源,并且,外部请求源在接收到该信息后,可以根据情况选择是否重传该空间管理请求。通过这种重传机制,有助于实现空间管理请求的及时响应。具体而言,当某个空间分配请求在当前时刻因超出高水位阈值而无法被处理时,假设后续存在一个或多个由相同外部请求源发起的空间回收请求,则当相应存储空间被回收后,前述空间分配请求可能变为可以被处理。在这种情况下,上述重传机制可以允许空间管理请求的重传,以便其在存储空间满足高水位阈值要求时被及时处理。
示例性地,可以在反馈请求重传信息时反馈重传次数。例如,当与所接收的空间管理请求对应的外部请求源的累计占用存储空间超过预设阈值时,可以令重传次数加一,并将该重传次数随请求重传信息一起反馈至相应的外部请求源。示例性地,当外部请求源接收到该信息以及重传次数时,可以根据重传次数是否达到重传门限来确定是否重传相应的空间分配请求。若未达到重传门限,则可以重发该空间管理请求;若超过,则可以不再重发该空间管理请求,并且可选地可以上报出错(Error)。可选地,外部请求源在重传空间分配请求时,可以在请求中包含当前的重传次数。由此,可以在允许空间分配请求被重传的同时,便捷地控制某一空间分配请求被重传的次数上限,从而有助于缓解某些时刻可用空间暂时不足的问题,同时避免空间分配请求被无限重传和处理而过度耗费资源,并有助于及时发现***中存在的潜在问题。或者,可选地,也可以由高水位阈值模块313执行重传次数是否超门限的判断,即,外部请求源在重传空间分配请求时,在请求中包含当前的重传次数,并且高水位阈值模块313可以进一步被配置为判断重传次数是否超过重传门限,若未超过,则可以正常处理该请求;若超过,则可以上报出错并恢复至空闲状态。
在一些实施例中,高水位阈值模块313可以被配置为响应于接收到针对所输出的空间管理请求或所反馈的请求重传信息的响应,恢复至空闲状态。示例性地,在将空间管理请求输出至空间管理模块312并接收到空间管理模块312发送的响应信息后,高水位阈值模块313可以恢复至空闲状态;或者,在反馈请求重传信息并接收到来自外部请求源的响应信息后,高水位阈值模块313可以恢复至空闲状态。在恢复至空闲状态后,高水位阈值模块313可以接收和处理下一个空间管理请求。通过在接收到响应信息后再恢复至空闲状态,可以避免空间管理请求未成功传递至空间管理模块、或请求重传信息为成功反馈至外部请求源的情况,从而有助于提升***的可靠性。
在一些实施例中,高水位阈值模块313的针对不同外部请求源的高水位阈值可以是可配置的,例如可以在空间管理装置310上电后,在阈值配置阶段配置高水位阈值。在这种实施例中,当优先级仲裁模块311向高水位阈值模块313传递空间管理请求时,响应于处于阈值配置阶段,高水位阈值模块313可以向与所接收的空间管理请求对应的外部请求源反馈请求重传信息,以及响应于未处于阈值配置阶段,高水位阈值模块313可以确定所接收的空间管理请求对应的外部请求源的累计占用存储空间是否超过预设阈值。示例性地,在反馈请求重传信息时,可以将重传次数设定为指示阈值配置阶段的预设值,并向对应的外部请求源反馈该重传次数。例如,可以将重传次数设定为FFFF或其他值,该值可以指示高水位阈值模块313处于阈值配置阶段。当外部请求源接收到该重传次数时,可以获知高水位阈值模块313处于阈值配置阶段,并重传该空间管理请求。
示例性地,可以通过阈值寄存器314来配置针对至少一个外部请求源的高水位阈值。阈值寄存器314可以被配置为基于用户输入,存储阈值修改数据,并在阈值配置阶段向高水位阈值模块313发送阈值修改数据。相应地,高水位阈值模块313可以被配置为,在阈值配置阶段中,基于所接收的阈值修改数据,更新针对至少部分外部请求源的预设阈值。例如,可以提供软件接口,该软件接口允许用户输入或修改针对至少一个外部请求源的高水位阈值,用户输入的数据可以被存储至阈值寄存器314,当空间管理装置310上电后,阈值寄存器314所存储的数据可以被下发至高水位阈值模块313,并且高水位阈值模块313可以基于所下发的数据更新针对至少一个外部请求源的高水位阈值。该传递和更新过程所对应的时段可以被称为阈值配置阶段。为了避免引起***紊乱,可以仅在空间管理装置310上电后的特定时段内实施高水位阈值的配置,随后,在开始处理空间管理请求后,高水位阈值不再改变,直至装置断电。
通过允许在阈值配置阶段修改针对至少一个外部请求源的高水位阈值,可以实现动态、可配置的高水位阈值,有助于实现对空间管理装置的动态、高效配置,提升空间管理装置的灵活性。
在一些示例中,高水位阈值模块313可以由图5所示的状态机500来控制。
如图5所示,当未接收到任何空间管理请求时,状态机500可以处于IDLE状态,即上述空闲状态。当接收到空间管理请求时,可以判断高水位阈值模块是否处于阈值配置阶段。若处于阈值配置阶段,则可以将重传次数填写为预设值,如FFFF,并向外部请求源反馈请求重传信息;若未处于阈值配置阶段,则可以判断对应外部请求源的累计占用存储空间是否超过预先设置的高水位阈值。若未超过,则将该空间管理请求输出至下级电路模块,例如空间管理模块312;若超过,则令重传次数加1,并向对应外部请求源反馈请求重传信息。下级电路模块收到空间管理请求后,可以对该空间管理请求进行处理,并可以可选地向高水位阈值模块313反馈响应信息。可选地,对应外部请求源在接收到该请求重传信息后,可以确定是否重传该空间管理请求,并可以可选地向高水位阈值模块313反馈响应信息。在完成请求重传信息的反馈或输出空间管理请求后,或者,在接收到上述响应信息后,高水位阈值模块313可以恢复至IDLE状态。在该状态下,高水位阈值模块313可以接收并处理下一个空间管理请求。
此外,可选地,如图5所示,在判断是否处于阈值配置阶段后,还可以判断当前空间管理请求的重传次数是否达到或超过重传门限。若未达到或超过重传门限,则可以进一步判断对应外部请求源的累计占用存储空间是否超过预先设置的高水位阈值;若达到或超过重传门限,则可以上报出错,并返回至IDLE状态。或者,可选地,该判断过程也可以由外部请求源来实施,即,外部请求源接收到请求重传信息后,可以根据其中包括的重传次数来判断是否重传对应的空间管理请求。若重传次数未达到或超过重传门限,则可以重传该空间管理请求;若重传次数达到或超过重传门限,则可以不再重传该空间管理请求。
在一些实施例中,高水位阈值模块可以通过图6所示的电路结构或其他类似结构来实施。
图6所示,高水位阈值模块600可以包括请求分类电路610、对应逻辑电路620和至少两个阈值计数器640-1至640-N。示例性地,请求分类电路610可以判断所传入的空间管理请求为空间分配请求还是空间回收请求。对应逻辑电路620可以根据前文描述的各种实施例来操作。示例性地,可以直接将空间回收请求输出至下级电路模块,并更新对应请求源的阈值计数器,例如减少与该空间回收请求对应的空间量或表征该空间量的索引量等;针对空间分配请求,可以判断对应请求源的累计占用存储空间是否超过预设高水位阈值,若超过,则发送请求重传信息,若未超过,则将该空间分配请求输出至下级电路模块,并更新对应请求源的阈值计数器,例如增加与该空间分配请求对应的空间量或表征该空间量的索引量等。可选地,高水位阈值模块600还可以包括上报出错电路630,其可以在出现处理错误时上报出错,例如,如前文所描述的,当重传次数达到或超过重传门限时,可以上报出错。替代地或附加地,高水位阈值模块600也可以包括其他电路,只要可以实施前文各种实施例描述的空间分配模块的功能即可。
在本公开的各种实施例中,空间管理模块214或空间管理模块312可以采取任何可能的形式,其用于接收来自上级电路模块的空间管理请求,并基于所接收的空间管理请求管理存储器中的存储空间。示例性地,空间管理模块可以根据空间管理请求的类型(空间分配请求或空间回收请求)来分配或回收存储器中的存储空间。在下文中,仅作为示例描述一种空间管理模块的实施方式,应理解,也可以采取其他方式来实现空间管理模块。
如图7中的架构700所示,空间管理模块710可以包括请求分类模块711、初始化模块712、空间分配模块713和空间回收模块714。
请求分类模块711可以被配置为,当空间管理请求是空间分配请求时,将该空间分配请求存储至第一队列,以及,当空间管理请求是空间回收请求时,将该空间回收请求存储至第二队列。第一队列和第二队列例如可以借助FIFO(First Input First Output,先进先出)电路实施,FIFO可以采用握手方式与外部请求源进行数据传输。由此,可以对来自外部请求源的空间管理请求进行分类存储,使得空间分配请求和空间回收请求可以同时被传递至后级模块,即空间分配模块和空间回收模块,从而进一步便利于对空间分配请求和空间回收请求进行并行处理。此外,第一队列和第二队列可以对所接收的空间分配请求和空间回收请求进行存储,如此,当外部请求源发起多次请求时,可以减少对外部请求源的反压,提高***效率。
可选地,由于以诸如FIFO电路实现的队列的存储空间的有限性,可以为第一队列和第二队列设置预满门限。当第一队列中所存储的空间分配请求的数量达到相应预满门限(或被称为第一阈值)时,第一队列可以进行预满反压,不再接收来自外部请求源的空间分配请求;当第二队列中所存储的空间回收请求的数量达到相应预满门限(或被称为第二阈值)时,第二队列可以进行预满反压,不再接收来自外部请求源的空间回收请求。或者,当第一队列和第二队列中的任一队列中所存储的请求的数量达到相应预满门限时,即,当第一队列中的空间分配请求的数量达到第一阈值或第二队列中的空间回收请求的数量达到第二阈值时,请求分类模块可以反压前级,不再接收来自外部请求源的空间管理请求。通过反压机制,可以防止请求分类模块711接收到超出其存储能力的空间分配请求和/或空间回收请求,从而避免出现处理错误。
初始化模块712可以被配置为,在装置上电后,经由总线715,在存储器720的存储空间的第一存储区域中写入多个存储单元索引,其中,每个存储单元索引用于表征存储空间的第二存储区域中的一个具有预设大小的存储单元。示例性地,当硬件电路上电复位后,初始化模块712可以先将存储单元索引写入存储器720的第一存储区域中,该第一存储区域可以是预先指定的区域,并且其大小和位置可以根据需要进行调整。当所有存储单元索引写入完毕后,空间管理模块710可以开始响应来自前级电路模块的空间管理请求,并且此后初始化模块712可以不再工作,直至硬件电路断电,并在下次上电后再次启动。示例性地,当初始化模块712完成上述索引写入操作后,可以向前级电路模块请求分类模块711发出信号,以告知其可以开始接收空间管理请求。
示例性地,图8示出了存储空间800的示意图。如图所示,存储空间800可以包括第一存储区域810和第二存储区域820。可选地,存储空间800还可以包括留作他用的其他存储区域830。第二存储区域820可以被划分为多个存储单元,每个存储单元可以具有预设大小,该预设大小可以根据具体需求设置,例如被设置为4Kb,或者被设置为2Kb、8Kb、16Kb、32Kb等。第一存储区域810可以被写入多个存储单元索引,每个存储单元索引可以表征第二存储区域820中的一个存储单元。
空间分配模块713和空间回收模块714可以分别用于处理空间管理请求中的空间分配请求和空间回收请求。示例性地,空间分配模块713可以被配置为基于空间分配请求,经由第二接口,根据第一指针指向的位置从第一存储区域读取存储单元索引;空间回收模块714可以被配置为基于空间回收请求,经由第二接口,根据第二指针指向的位置向第一存储区域写入存储单元索引。由此,可以通过分离的空间分配模块713和空间回收模块714分别管理空间分配请求和空间回收请求,并分别借助第一指针和第二指针来管理第一存储区域内的存储单元索引的读取和写入,从而可以借助硬件电路的并行处理,使得在同一时间,可以同时处理来自外部请求源的空间分配请求和空间回收请求。由此,有助于进一步提升存储空间管理效率。
示例性地,图9示意性示出了借助第一指针和第二指针管理存储单元索引在第一存储区域中的读取和写入过程的示例方案900。如子图A所示,当装置上电后,第一指针和第二指针可以被初始化为指向第一存储区域910中的相同位置,例如均指向第一存储区域910的最小地址,或者也可以指向其他位置。如子图B所示,当空间分配请求被空间分配模块713处理后,来自第一存储区域910的一定数量的存储单元索引被读取,此时第一指针将向下偏移,例如指向下一个可被读取的存储单元索引的位置。如子图C所示,当空间回收请求被空间回收模块714处理后,相应的存储单元索引将被写入第一存储区域910,此时第二指针将向下偏移,例如指向下一个可写入存储单元索引的位置。如子图D所示,当第一指针和/或第二指针偏移到第一存储区域910的最大地址后,将绕回到起始位置。以上描述仅仅是示例性的,第一指针和第二指针也可以以其他方式随存储单元索引的读取和写入而偏移。
示例性地,空间分配模块713可以由图10所示的状态机1000来控制。如图10所示,当未接收到任何空间分配请求时,状态机1000可以处于IDLE状态,即空闲状态。当接收到空间分配请求时,可以判断当前可用空间是否满足本次空间分配请求的需求,即当前可用空间是否大于或等于本次空间分配请求所请求分配的空间。若否,则可以向外部请求源反馈指示空间分配失败的信息,并令状态跳转会IDLE状态;若是,则可以从存储器读取存储单元索引,并将读取的存储单元索引存储至本地索引队列。随后,在本地索引队列非空的情况下,可以分配存储单元索引,即,向外部请求源反馈本地索引队列中的存储单元索引,直至所有存储单元索引反馈完毕,再次恢复至IDLE状态。
示例性地,空间回收模块714可以由图11所示的状态机1100来控制。如图11所示,当未接收到任何空间回收请求时,状态机1100可以处于IDLE状态。当接收到空间回收请求时,可以发起针对存储单元索引的写操作。示例性地,可以先将空间回收请求所涉及的存储单元索引写入本地索引队列,然后可以基于本地索引队列中的存储单元索引生成索引写入请求。接着可以发起针对存储器的写入操作,即,通过发送索引写入操作来将本地索引队列中的存储单元索引写入存储器中的第一存储区域,直至所有存储单元索引写入完毕,再次恢复至IDLE状态。
总线715可以与初始化模块712、空间分配模块713及空间回收模块714相连接,以便这些模块可以与存储器430互连并进行数据交互。示例性地,总线715可以是标准的NOC(Network on Chip,片上网络)总线,或者也可以采用其他类型的总线来实现。此外,可选地,总线415还可以连接与本公开描述的各种模块相关或不相关的其他模块。
在本公开的一些实施例中,还提供了一种计算设备,其可以包括前文所描述的用于管理存储空间的装置,例如装置210、310。示意性地,图12示出了计算设备1200的示例框图。如图所示,计算设备1200可以包括用于管理存储空间的装置1210,其可以如前文各种实施例描述的那样执行存储空间管理功能。计算设备1200还可以包括处理器或控制器1220,其可以被实施为CPU、MCU或类似结构,并可以用于执行各种处理或控制操作。计算设备1200还可以包括存储器1230,其可以用于存储数据,例如处理器或控制器1220在执行应用程序时所需的各种程序数据或者应用程序执行过程中使用或产生的数据等。存储器1230例如被实现为单个存储器,或者也可以被实现为两个或更多个存储器的组合。例如,存储器1230可以包括一个或多个内存储器,比如用作内存的DDR存储器或者SDRAM存储器等。装置1110、处理器/控制器1220以及存储器1230可以通过通信线路1240连接在一起,并实现彼此之间的数据传递。示例性地,通信线路1240可以为总线(诸如AXI总线等)或其他类型的通信线路,或者可以为它们的组合。
在本公开的一些实施例中,还提供了一种用于管理存储空间的方法。示例性地,图13示出了方法1300的示例流程图。
如图13所示,在步骤1310,可以接收来自至少两个外部请求源的空间管理请求,空间管理请求用于管理所述存储空间;在步骤1320,当同时存在来自不同外部请求源的至少两个空间管理请求时,可以在至少两个空间管理请求中,确定优先级最高的空间管理请求;在步骤1330,可以基于所确定的优先级最高的空间管理请求,管理存储空间。
方法1300可以具有与前述用于管理存储空间的装置相同或相似的实施例,并可以具有与之相同或相似的技术效果。为简洁起见,在此不再赘述。
在本公开的描述中,术语“上”、“下”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开而不是要求本公开必须以特定的方位构造和操作,因此不能理解为对本公开的限制。
在本说明书的描述中,参考术语“一个实施例”、“另一个实施例”等的描述意指结合该实施例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。另外,需要说明的是,本说明书中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本公开中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接,还可以是通信;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此。任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (15)

1.一种用于管理存储空间的装置,包括:
至少两个第一接口,被配置为接收来自至少两个外部请求源的空间管理请求,所述空间管理请求用于管理所述存储空间;
第二接口,连接存储器,所述存储器包括所述存储空间;
优先级仲裁模块,被配置为:当同时存在经由不同第一接口接收到的至少两个空间管理请求时,在所述至少两个空间管理请求中,确定并输出优先级最高的空间管理请求;
空间管理模块,被配置为接收来自所述优先级仲裁模块的空间管理请求,并基于所接收的空间管理请求,经由所述第二接口管理所述存储空间。
2.根据权利要求1所述的装置,其中,所述空间管理请求包括请求源标识和预设优先级别中的至少一项,所述确定并输出优先级最高的空间管理请求包括:
基于请求源标识和预设优先级别中的至少一项,确定并输出优先级最高的空间管理请求。
3.根据权利要求1或2所述的装置,其中,所述优先级仲裁模块包括:
至少两个第一仲裁器,每个第一仲裁器被配置为接收具有相同预设优先级别的空间管理请求,并且,在所接收的空间管理请求中,基于请求源标识确定并输出一个空间管理请求;
第二仲裁器,被配置为接收来自所述至少两个第一仲裁器的空间管理请求,并且,输出预设优先级别最高的空间管理请求。
4.根据权利要求3所述的装置,其中,每个第一仲裁器与所述至少两个第一接口中的每个第一接口相连接。
5.根据权利要求3所述的装置,其中,所述基于请求源标识确定并输出一个空间管理请求包括:
基于与请求源标识相关的当前排序,确定并输出来自排序最靠前的外部请求源的空间管理请求;
将与所输出的空间管理请求相对应的请求源标识移动至所述当前排序的最末位,以更新所述当前排序。
6.根据权利要求3所述的装置,其中,所述输出预设优先级别最高的空间管理请求包括以下中的至少一项:
基于空间管理请求的优先级别标识,确定并输出优先级最高的空间管理请求;
输出来自与最高预设优先级别对应的第一仲裁器的空间管理请求。
7.根据权利要求1所述的装置,还包括:
高水位阈值模块,被配置为在空闲状态下接收来自所述优先级仲裁模块的空间管理请求,并且,响应于与所接收的空间管理请求对应的外部请求源的累计占用存储空间未超过预设阈值,将该空间管理请求传递至所述空间管理模块。
8.根据权利要求7所述的装置,其中,所述高水位阈值模块还被配置为响应于与所接收的空间管理请求对应的外部请求源的累计占用存储空间超过预设阈值,不输出该空间管理请求,并向该对应的外部请求源反馈请求重传信息。
9.根据权利要求8所述的装置,其中,所述向该对应的外部请求源反馈请求重传信息包括:
令重传次数加一,并向所述对应的外部请求源反馈所述重传次数。
10.根据权利要求7或8所述的装置,其中,所述高水位阈值模块还被配置为响应于接收到针对所输出的空间管理请求或所反馈的请求重传信息的响应,恢复至所述空闲状态。
11.根据权利要求7所述的装置,其中,所述在空闲状态下接收来自所述优先级仲裁模块的空间管理请求包括:
响应于所述高水位阈值模块处于阈值配置阶段,向与所接收的空间管理请求对应的外部请求源反馈请求重传信息;
响应于所述高水位阈值模块未处于阈值配置阶段,确定所接收的空间管理请求对应的外部请求源的累计占用存储空间是否超过预设阈值。
12.根据权利要求11所述的装置,其中,所述向与所接收的空间管理请求对应的外部请求源反馈请求重传信息包括:
将重传次数设定为指示阈值配置阶段的预设值,并向所述对应的外部请求源反馈所述重传次数。
13.根据权利要求7所述的装置,还包括:
阈值寄存器,被配置为基于用户输入,存储阈值修改数据,并在阈值配置阶段向所述高水位阈值模块发送所述阈值修改数据,
以及其中,所述高水位阈值模块还被配置为,在阈值配置阶段中,基于所接收的阈值修改数据,更新针对至少部分外部请求源的预设阈值。
14.一种计算设备,包括根据权利要求1至13所述的用于管理存储空间的装置。
15.一种用于管理存储空间的方法,包括:
接收来自至少两个外部请求源的空间管理请求,所述空间管理请求用于管理所述存储空间;
当同时存在来自不同外部请求源的至少两个空间管理请求时,在所述至少两个空间管理请求中,确定优先级最高的空间管理请求;
基于所确定的优先级最高的空间管理请求,管理所述存储空间。
CN202210853749.5A 2022-07-20 2022-07-20 用于管理存储空间的装置及方法、计算设备 Pending CN117472793A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210853749.5A CN117472793A (zh) 2022-07-20 2022-07-20 用于管理存储空间的装置及方法、计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210853749.5A CN117472793A (zh) 2022-07-20 2022-07-20 用于管理存储空间的装置及方法、计算设备

Publications (1)

Publication Number Publication Date
CN117472793A true CN117472793A (zh) 2024-01-30

Family

ID=89622525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210853749.5A Pending CN117472793A (zh) 2022-07-20 2022-07-20 用于管理存储空间的装置及方法、计算设备

Country Status (1)

Country Link
CN (1) CN117472793A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090144517A1 (en) * 2007-11-29 2009-06-04 Renesas Technology Corp. Data processing apparatus and data processing system
CN101887382A (zh) * 2010-06-28 2010-11-17 中兴通讯股份有限公司 动态优先级的仲裁方法及装置
CN102783090A (zh) * 2009-12-23 2012-11-14 思杰***有限公司 用于多核***中的对象速率限制的***和方法
CN104321758A (zh) * 2013-01-17 2015-01-28 英特尔公司 经由共享存储器结构的仲裁存储器访问
CN110209610A (zh) * 2018-02-28 2019-09-06 畅想科技有限公司 存储器接口
US20200285420A1 (en) * 2020-05-26 2020-09-10 Intel Corporation System, apparatus and method for persistently handling memory requests in a system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090144517A1 (en) * 2007-11-29 2009-06-04 Renesas Technology Corp. Data processing apparatus and data processing system
CN102783090A (zh) * 2009-12-23 2012-11-14 思杰***有限公司 用于多核***中的对象速率限制的***和方法
CN101887382A (zh) * 2010-06-28 2010-11-17 中兴通讯股份有限公司 动态优先级的仲裁方法及装置
CN104321758A (zh) * 2013-01-17 2015-01-28 英特尔公司 经由共享存储器结构的仲裁存储器访问
CN110209610A (zh) * 2018-02-28 2019-09-06 畅想科技有限公司 存储器接口
US20200285420A1 (en) * 2020-05-26 2020-09-10 Intel Corporation System, apparatus and method for persistently handling memory requests in a system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MANI DEV GOMONY .ETC: "A Globally Arbitrated memory Tree for Mixed-Time-Criticality Systems", 《IEEE TRANSACTION ON COMPUTERS》, vol. 66, no. 2, 31 July 2016 (2016-07-31), pages 212 - 225, XP011638611, DOI: 10.1109/TC.2016.2595581 *

Similar Documents

Publication Publication Date Title
US10379903B2 (en) Task queues
US11636014B2 (en) Memory system and data processing system including the same
KR101876001B1 (ko) 장치 내의 전력 관리를 위한 자원 할당 및 할당해제
CN1128406C (zh) 数据处理***及其中断处理方法
TWI463317B (zh) Memory device and control method thereof
US8250310B2 (en) Assigning data to NVRAM of shared access hybrid hard drives
US11237756B2 (en) System and method of writing to nonvolatile memory using write buffers
US10175885B2 (en) Memory device managing data in accordance with command and non-transitory computer readable recording medium
EP3296836A1 (en) Computer device and data read-write method for computer device
US20210286551A1 (en) Data access ordering for writing-to or reading-from memory devices
WO2024036985A1 (zh) 存储***及其计算存储处理器、固体硬盘和数据读写方法
EP4064022A1 (en) Cooperative storage architecture
CN115658328B (zh) 用于管理存储空间的装置及方法、计算设备、芯片
CN115658326B (zh) 用于管理存储空间的装置及方法、计算设备、芯片
JP7330694B2 (ja) コンピュータシステム及びその動作方法
CN117472793A (zh) 用于管理存储空间的装置及方法、计算设备
EP4198728A1 (en) Method and apparatus to perform workload management in a disaggregated computing system
US11748027B2 (en) Storage system and method for avoiding clustering of reads during a program suspend
US11971771B2 (en) Peer storage device messaging for power management
US20220147276A1 (en) Memory system and method of controlling nonvolatile memory
US11741025B2 (en) Storage system and method for providing a dual-priority credit system
CN115617707B (zh) 用于管理存储空间的装置及方法、计算设备、芯片
CN115658327B (zh) 用于管理存储空间的装置及方法、计算设备、芯片
JP2011070470A (ja) 半導体記憶装置
CN102591820B (zh) 一种idma总线桥装置

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