CN105103138B - 用于实时应用的嵌入式存储器管理方案 - Google Patents

用于实时应用的嵌入式存储器管理方案 Download PDF

Info

Publication number
CN105103138B
CN105103138B CN201480019761.XA CN201480019761A CN105103138B CN 105103138 B CN105103138 B CN 105103138B CN 201480019761 A CN201480019761 A CN 201480019761A CN 105103138 B CN105103138 B CN 105103138B
Authority
CN
China
Prior art keywords
memory
memory devices
program
type
amount
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
Application number
CN201480019761.XA
Other languages
English (en)
Other versions
CN105103138A (zh
Inventor
B.乔施
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.)
TEMIC AUTOMOTIVE NA Inc
Original Assignee
TEMIC AUTOMOTIVE NA Inc
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 TEMIC AUTOMOTIVE NA Inc filed Critical TEMIC AUTOMOTIVE NA Inc
Publication of CN105103138A publication Critical patent/CN105103138A/zh
Application granted granted Critical
Publication of CN105103138B publication Critical patent/CN105103138B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Abstract

存储器在嵌入式计算机系统中被动态地共享或分配。首先确定作为该系统的一部分的存储器的类型。其后,确定可用于供使用的存储器的量。根据所需要的空间的量来确定由程序或应用所需要的存储器的类型。如果在第一类型的所请求的存储器中可以被分配给程序的存储器空间的量大于或至少等于由计算机程序所需要的存储器空间的量,那么该程序被加载到可用存储器中。如果所请求类型的储器不可用或者没有足够的所请求的存储器可用,如果在其他类型的存储器设备中的一个或多个中存在充足的空间,则考虑和使用该其他类型的存储器设备。

Description

用于实时应用的嵌入式存储器管理方案
背景技术
如本文中所使用的,术语“嵌入式系统”指的是计算机系统,其被设计为在另一个且通常更大的系统内或为该另一个且通常更大的系统执行控制功能。因为这样的计算机系统通常是更大的系统的组成部分,因此它被称为被“嵌入”该更大的系统中。例如,控制车辆“信息娱乐(infotainment)”系统的各种部件的计算机系统在本文被认为是嵌入式系统。控制手机的部件的计算机系统在本文被认为是嵌入式系统。另一方面,诸如个人计算机或“PC”之类的并且没有连接到更大的系统或形成更大的系统的一部分的通用计算机并不是嵌入式系统。
需要许多嵌入式系统能够同时或本质上同时运行许多不同类型的应用或程序。许多嵌入式系统也采用不同类型的物理存储器设备来降低成本却优化具有相应不同的重要性水平的不同程序的执行。这样的系统可能使用的存储器设备的类型可以包括IRAM(内部RAM,其位于与处理器相同的半导体管芯上)和外部RAM设备(诸如DDR1、DDR2、SDRAM、闪存(FLASH)或甚至硬盘驱动器)。
每种类型的RAM将具有不同的访问时间,即可以将数据写入到设备中的位置以及从设备中的位置读取数据的速率。IRAM经常是最快的,这是由于其中的位置是在与CPU相同的时钟速率下可访问的。另一方面,闪速RAM经常是最慢的。
需要将数据写入到不同类型的RAM设备以及从不同类型的RAM设备读取数据的CPU时钟周期的数量可以变成对将运行在嵌入式计算机系统上的程序(即嵌入式应用)将实际上如何在该系统上执行的关键贡献因素(contributor)。因为相对快的RAM设备经常是比相对慢速的RAM设备更昂贵的,很多嵌入式计算机系统被设计为通过使用相对小量的快速RAM与更大量的慢速RAM相结合来降低成本,其示例包括SDRAM和闪速存储器。
在不得不运行不同程序的嵌入式系统中,需要被快速执行的程序经常一直分配数据到快速存储器设备中,该快速存储器设备的示例是在与CPU或处理器相同的半导体管芯上的存储器设备和位置。不太重要的程序或不需要被快速执行的那些程序通常一直分配数据到相对慢速的存储器设备中,该相对慢速的存储器设备通常是CPU或处理器外部的存储器设备或者是使用固有更慢的技术所制成的。所谓的DDR-2存储器设备具有更短的访问时间以及因此比SDRAM设备更快。SDRAM设备可以具有更短的访问时间以及因此可以比配置和操作为随机访问存储器的磁盘(即硬盘驱动器)更快。
对可用于存储用于具有不同执行优先级的不同程序的程序数据的不同类型的存储器设备进行最优共享可能是对于嵌入式计算机系统而言至关重要的任务。随着嵌入式计算机系统必须执行的任务的数量增加,存储器空间的最优使用变得更为关键。
图1是现有技术嵌入式计算机系统100的简化的框图。使用对于半导体领域中的普通技术人员众所周知的技术来将半导体基板102形成为具有中央处理单元或CPU 104和若干可单独寻址的随机访问存储器(RAM)位置106。为了说明的目的,芯片上RAM 106位置的地址被示出从零到一千(十进制)编号。DDR-2随机访问存储器(RAM)设备108和SDRAM设备110在管芯102的外部但经由相同的常规总线112来访问。总线112也将CPU 104耦合到需要CPU104来控制的各种不同外围设备114。
因为芯片上RAM位置106处于与CPU 104相同的半导体管芯102上以及当然地比其他外部存储器设备108、110更接近于CPU 104,CPU 104能够在比CPU 104访问CPU 104外部的存储器设备(即DDR2 108和SRAM110)所花费的时间明显更少的时间内访问芯片上存储器位置106。需要被快速访问的程序因此优选地被存储在芯片上RAM位置106中以及从芯片上RAM位置106执行。
本领域普通技术人员知道由CPU 104控制的不同外围设备114可能需要来自CPU104的不同响应度。在现有技术中,当写入计算机程序以控制特定外围设备114时,该程序可以被写入为包括编译器命令或“编译指示(pragma)”,其在被编译时将实施存储器映射,该存储器映射将指导存储器管理器114在存储器中在何处加载数据段。这样的编译器命令通常被称为存储器分配函数或(malloc(arg)),其中变元(argument)指定存储器设备的大小和类型两者,其中随后的程序指令将由存储器管理器114来加载。
在以下语句(1)、(2)和(3)中,性能关键存储器和性能非关键存储器由编译器通过使用相同的存储器分配(malloc)函数但改变函数的变元来分配。对应的数据分配将被加载到相应不同的物理存储器设备中。
pSlow = malloc(sizeof(rtSlowArray)); (l)
pFast = malloc(sizeof(rtFastArray)); (2)
pSlow2 = malloc(sizeof(nrtSlowArray)); (3)
其中pSlow、pFast和pSlow2是在存储器设备中的地址或指向位置的指针。为了说明的目的,“rtSlowArray”生成存储器的相对慢速或非实时的块的分配,其将适合于不需要CPU密集计算的程序。变元“rtFastArray”生成快速存储器的分配,其将适合于需要CPU密集计算的程序。变元“nrtSlowArray”将生成慢速存储器的分配,其将适合于非实时应用。遗憾的是,当编译器命令需要特定程序被加载到特定类型的存储器设备中时,用于该程序的空间必须在编译器指导的存储器设备中是可用的,否则被该程序请求的数据段将不被系统的存储器管理器114加载。
图2是现有技术方法的流程图,通过该方法,用于嵌入式计算机系统100的现有技术存储器管理器114响应于存储器函数malloc来为程序分配存储器空间。在图2中示出的方法200是十分简单的。当由malloc函数生成的指令被执行时,在步骤202处这些指令有效地询问存储器管理器114以确定所需大小的存储器块是否可用于供默认存储器设备(通常是SDRAM)中的特定程序所使用。如果所需存储器大小是可用的,在步骤204处该存储器被分配以及在步骤206处返回指向开始位置的指针。如果所需的空间大小在所需的默认存储器设备中不是可用的,则由程序请求的数据段将不会被加载;它将不会被运行。
为了保证程序将被加载,因此必须提供充足量的存储器。明智的系统设计者或集成者必须因此提供足够的各种类型的存储器以便能够适应理论上可能被同时运行的所有程序,即使这样的要求也许从来不会发生。
如果有可能在嵌入式系统的不同物理设备中动态地分配存储器,可以避免对于提供也许从不会被需要的高速存储器的成本。下述方法和装置因此将是相比现有技术的改进:通过该方法和装置,快速存储器可以被需要快速响应的可执行程序有效地共享。
发明内容
依照本发明实施例,在嵌入式计算机系统中动态地共享或分配存储器。首先确定作为该系统的一部分的存储器的类型。其后,确定可用于供使用的存储器的量。根据所需要的空间的量来确定由程序或应用所需要的存储器的类型。如果在第一类型的所请求的存储器中可以被分配给程序的存储器空间的量大于或至少等于由计算机程序所需要的存储器空间的量,那么该程序被加载到可用存储器中。如果所请求类型的储器不可用或者没有足够的所请求的存储器可用,如果在其他类型的存储器设备中的一个或多个中存在充足的空间,则考虑和使用该其他类型的存储器设备。
附图说明
图1是表示具有不同类型的存储器设备的嵌入式计算机系统的框图,所述不同类型的存储器设备具有相应不同的访问时间,所述不同类型的存储器设备存储控制耦合到计算机系统的不同外围设备的程序;
图2是图示了现有技术存储器分配方法的流程图;
图3是图示了动态存储器分配方法的步骤的流程图;
图4是具有动态存储器管理器的嵌入式计算机系统的框图;以及
图5是动态存储器管理器的框图。
具体实施方式
当高速存储器变得可用时,在高速存储器设备中的高速存储器位置可以被重新使用并且在不同嵌入式应用之间共享。用于实时应用程序的嵌入式存储器管理方案是使用动态存储器分配来完成的。动态存储器分配是通过以下来是实现的:使用动态存储器管理器以及控制该管理器首先确定对于分配到程序的可用的存储器设备的类型和对于在每个类型的存储器设备中分配可用的空间的量。当实时程序被调用或者被嵌入式系统或不同的外围设备所需要时,动态存储器管理器确定将由特定计算机程序所需要的存储器设备的类型和由该程序需要的存储器空间的量。还确定在该程序所需要的特定类型的存储器设备中实际上可用且可以被分配给用于供计算机程序所使用的程序的空间。如果在特定类型的存储器设备中可以被分配给特定程序的存储器空间的量大于或等于由计算机程序所需要的存储器空间的量,则动态存储器管理器将由程序所请求的计算机数据加载到所需要类型的存储器设备中以及使计算机或CPU能够使用来自该存储器设备的数据来执行该程序。
和在现有技术嵌入式系统中使用的静态存储器分配不同,本文公开的装置和方法可以动态地将数据段分配给最佳存储器设备以便向系统或外围设备提供服务来最好地服务于基于程序的关键程度的需求。
如果由特定程序所需要的特定类型的存储器设备中可用的存储器空间的量小于由计算机程序所需要的存储器空间的量,则动态存储器管理器继续确定在更慢的或第二类型的存储器设备中可用的空间。如果在更慢的第二类型的存储器设备中可用的存储器空间的量大于或等于在更快类型的存储器设备中由计算机程序所需要的存储器空间的量,则动态存储器管理器加载程序或允许程序使用来自第二类型存储器设备的数据。然后可以至少使用稍微更慢的第二类型的存储器设备来执行该程序。
图3是描绘了在嵌入式计算机系统中管理存储器以使得实时应用(程序)能够共享它们需要的存储器设备的类型以及可能消除或降低实际需求的高速存储器的量的方案或方法的流程图。在图3中描绘的“emalloc”函数301的语法与现有技术malloc函数的语法略有不同。和在图2中描绘的malloc方法步骤不同,在步骤302处,动态存储器管理器(诸如在图4中示出的那一个)首先确定构成嵌入式系统的各种类型的存储器设备。在步骤302处执行的确定优选地被实现为简单地读取(典型地存储在存储器中的)表格中的条目。
在步骤302处确定可用存储器设备的类型之后,在步骤304处,确定在emalloc变元中请求的特定类型的设备中的未被使用且因此可用于供程序所使用的位置,并且将其与在emalloc变元(即在emalloc变元中的“大小”参数)中所需要的存储器的量相比较。
如果在emalloc变元中指定的存储器的量是在emalloc变元中指定的存储器设备的类型中可用的,则依靠emalloc编译器命令由程序所请求的存储器分配由动态存储器管理器来分配。在步骤308处,在特定类型的设备中程序请求存储块的地址被返回。然后加载该程序并且从该存储器设备执行该程序。
仍然参考图3,存储器管理方案与现有技术不同的是,如果在步骤304处执行的测试失败,即在所请求类型的设备中可用的存储器是不充足的或者所请求的存储器类型在系统中不存在,则该方法继续进行到步骤310,在那里做出是否可能存在可用的其他类型存储器的确定,程序可以被加载到所述可用的其他类型存储器中并且在其中被执行。如果存在其他类型的存储器,步骤312、302和304确定所请求的存储器的量是否可以被加载到次最佳类型的存储器设备(通常是次最快类型的存储器)中。如果不存在其他存储器设备,方法300在步骤314处失败并且返回空指针,其指示程序不能够被加载到任何存储器中。
图4是配置有动态存储器管理器402的嵌入式计算机系统400的框图,所述动态存储器管理器402被配置成执行在图3中所描绘且在以上所描述的步骤。
可以以软件或硬件来实现的动态存储器管理器402经由常规总线412操作地耦合到CPU 404和存储器设备406、408和410。各种外围设备414也经由总线412耦合到CPU 404。
图5是动态存储器管理器500的框图。处理器或CPU 502耦合到一个或多个非临时性存储器设备504,诸如是上文所描述的存储器设备并且其存储可以被处理器/CPU 502执行的程序指令506、508。当执行指令时,这些指令使处理器/CPU 502来实行图3中描绘的且在上文描述的步骤。
如本文中所使用的,总线被认为是在计算机系统中电气并联的导线的集合,其形成用于控制信号、地址信息和数据的传输路径。在图5中,常规的地址/数据/控制总线502。总线510使处理器/CPU能够与各种外围设备进行通信,各种外围设备为了简洁起见在图5中被省略。
前述描述是为了说明目的。本发明的真实范围在随附的权利要求中被阐述。

Claims (7)

1.一种将要由处理器执行的计算机程序的数据段分配给从位于耦合到处理器的多个不同类型的可用存储器设备中的多个区域中选择的存储器区域的方法,该方法包括:
确定耦合到处理器的不同类型的存储器设备,其中所述不同类型的存储器设备至少包括要由计算机程序使用的第一类型的存储器设备和第二类型的存储器设备;
确定由计算机程序所需要的存储器空间的量;
确定在第一类型的存储器设备中可用的空间,所述空间能够被分配以供计算机程序所使用;
如果在第一类型的存储器设备中能够被分配给计算机程序的存储器空间的量大于或等于由计算机程序所需要的存储器空间的量,则将计算机程序加载到第一类型的存储器设备中;以及
使用来自第一类型的存储器设备的数据段来执行所述计算机程序;
如果在第一类型的存储器设备中可用的存储器空间的量小于由计算机程序所需要的存储器空间的量,则确定在第二类型的存储器设备中可用的空间以供程序使用;
如果在第二类型的存储器设备中可用的存储器空间的量大于或等于由计算机程序所需要的存储器空间的量,则将该程序加载到第二类型的存储器设备中;以及
使用来自第二类型的存储器设备的数据段来执行该程序。
2.根据权利要求1所述的方法,其中第一类型的存储器设备比第二类型的存储器设备更快。
3.一种用于动态地将存储器分配给非临时性存储器设备的存储器管理器,该存储器管理器包括:
存储器类型确定器,其耦合到第一和第二不同类型的存储器设备,该存储器类型确定器被配置成确定其所耦合到的存储器设备的类型并且确定在每个类型的存储器设备中的程序可使用空间;以及
存储器大小分配器,其被配置成响应于由程序进行的用以在特定类型的存储器设备中分配第一程序可使用空间的请求来在所述特定类型的存储器设备中分配所述第一程序可使用空间,
如果在第一类型的存储器设备中能够被分配给计算机程序的存储器空间的量大于或等于由计算机程序所需要的存储器空间的量,则所述存储器大小分配器被配置成将计算机程序加载到第一类型的存储器设备中;以及
如果在第二类型的存储器设备中可用的存储器空间的量大于或等于由计算机程序所需要的存储器空间的量,则所述存储器大小分配器被配置成将该程序加载到第二类型的存储器设备中。
4.根据权利要求3所述的存储器管理器,其中所述存储器类型确定器和存储器大小分配器包括:
处理器;以及
存储器设备,其耦合到该处理器并且存储程序指令,所述程序指令当被执行时使该处理器:
确定处理器所耦合到的存储器设备的类型;以及
响应于由在处理器上运行的程序进行的请求来在耦合到处理器的特定类型的存储器设备中分配程序可使用空间。
5.根据权利要求4所述的存储器管理器,其中该处理器包括实时控制系统。
6.根据权利要求5所述的存储器管理器,其中该处理器操作地耦合到由处理器控制的多个外围设备。
7.根据权利要求3所述的存储器管理器,其中第一类型的存储器设备比第二类型的存储器设备更快。
CN201480019761.XA 2013-04-05 2014-04-01 用于实时应用的嵌入式存储器管理方案 Active CN105103138B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361809031P 2013-04-05 2013-04-05
US61/809031 2013-04-05
PCT/US2014/032529 WO2014165514A1 (en) 2013-04-05 2014-04-01 Embedded memory management scheme for real-time applications

Publications (2)

Publication Number Publication Date
CN105103138A CN105103138A (zh) 2015-11-25
CN105103138B true CN105103138B (zh) 2018-11-16

Family

ID=49119031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480019761.XA Active CN105103138B (zh) 2013-04-05 2014-04-01 用于实时应用的嵌入式存储器管理方案

Country Status (5)

Country Link
US (1) US10901883B2 (zh)
CN (1) CN105103138B (zh)
DE (1) DE112014001815T5 (zh)
GB (1) GB2516435A (zh)
WO (1) WO2014165514A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10599353B2 (en) 2017-05-16 2020-03-24 Apple Inc. Techniques for managing storage space allocation within a storage device
CN107302505B (zh) * 2017-06-22 2019-10-29 迈普通信技术股份有限公司 管理缓存的方法及装置
US10368128B2 (en) * 2017-08-11 2019-07-30 Microsoft Technology Licensing, Llc Memory allocation type for media buffer
EP4377798A1 (en) * 2021-11-24 2024-06-05 Volkswagen Aktiengesellschaft Computer implemented method for organizing access to a shared memory of a vehicle

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174245A (zh) * 2006-11-02 2008-05-07 国际商业机器公司 混合数据存储的方法和装置
CN101611387A (zh) * 2007-01-10 2009-12-23 移动半导体公司 用于增强外部计算设备的性能的自适应存储系统
CN101739273A (zh) * 2008-11-24 2010-06-16 联发科技股份有限公司 存储器共享方法
CN102508787A (zh) * 2011-11-29 2012-06-20 清华大学 混合结构内存的内存分配系统及方法
CN102667739A (zh) * 2010-01-13 2012-09-12 株式会社东芝 存储装置管理装置及用于管理存储装置的方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5008805A (en) * 1989-08-03 1991-04-16 International Business Machines Corporation Real time, fail safe process control system and method
US5875464A (en) * 1991-12-10 1999-02-23 International Business Machines Corporation Computer system with private and shared partitions in cache
US7007049B2 (en) * 2002-11-18 2006-02-28 Innopath Software, Inc. Device memory management during electronic file updating
US7222224B2 (en) * 2004-05-21 2007-05-22 Rambus Inc. System and method for improving performance in computer memory systems supporting multiple memory access latencies
JP2006127028A (ja) 2004-10-27 2006-05-18 Hitachi Ltd 記憶システム及び記憶制御装置
US7529903B2 (en) * 2005-07-05 2009-05-05 International Business Machines Corporation Systems and methods for memory migration
US20070180203A1 (en) * 2006-02-01 2007-08-02 Madhusudhan Ramgarajan Optimizing system performance in flexible interleaving memory mode
US7707379B2 (en) * 2006-07-13 2010-04-27 International Business Machines Corporation Dynamic latency map for memory optimization
US7681201B2 (en) * 2006-08-04 2010-03-16 Lectronix Method and system for integrating and controlling components and subsystems
US8718087B1 (en) * 2006-10-24 2014-05-06 Marvell International Ltd. Processing architecture for passive optical network
US20080196030A1 (en) * 2007-02-13 2008-08-14 Buros William M Optimizing memory accesses for multi-threaded programs in a non-uniform memory access (numa) system
US7685409B2 (en) * 2007-02-21 2010-03-23 Qualcomm Incorporated On-demand multi-thread multimedia processor
US9390029B2 (en) * 2009-11-04 2016-07-12 St-Ericsson Sa Dynamic management of random access memory
US8321703B2 (en) * 2009-12-12 2012-11-27 Microsoft Corporation Power aware memory allocation
US20110161597A1 (en) * 2009-12-30 2011-06-30 International Business Machines Corporation Combined Memory Including a Logical Partition in a Storage Memory Accessed Through an IO Controller
US8893143B2 (en) * 2010-01-13 2014-11-18 Marvell World Trade Ltd. Hardware virtualization for media processing
CN103080903B (zh) * 2010-08-27 2016-07-06 富士通株式会社 调度器、多核处理器系统以及调度方法
WO2012145544A2 (en) * 2011-04-19 2012-10-26 Seven Networks, Inc. Device resource sharing for network resource conservation
US20140215177A1 (en) * 2012-08-02 2014-07-31 Boo Jin Kim Methods and Systems for Managing Heterogeneous Memories
US9600413B2 (en) * 2013-12-24 2017-03-21 Intel Corporation Common platform for one-level memory architecture and two-level memory architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174245A (zh) * 2006-11-02 2008-05-07 国际商业机器公司 混合数据存储的方法和装置
CN101611387A (zh) * 2007-01-10 2009-12-23 移动半导体公司 用于增强外部计算设备的性能的自适应存储系统
CN101739273A (zh) * 2008-11-24 2010-06-16 联发科技股份有限公司 存储器共享方法
CN102667739A (zh) * 2010-01-13 2012-09-12 株式会社东芝 存储装置管理装置及用于管理存储装置的方法
CN102508787A (zh) * 2011-11-29 2012-06-20 清华大学 混合结构内存的内存分配系统及方法

Also Published As

Publication number Publication date
CN105103138A (zh) 2015-11-25
GB2516435A (en) 2015-01-28
WO2014165514A1 (en) 2014-10-09
US10901883B2 (en) 2021-01-26
DE112014001815T5 (de) 2015-12-17
US20140304485A1 (en) 2014-10-09
GB201312999D0 (en) 2013-09-04

Similar Documents

Publication Publication Date Title
CN107436809B (zh) 数据处理器
JP6280214B2 (ja) メモリで制御されるデータ移動及びタイミング
US8996818B2 (en) Bypassing memory requests to a main memory
US8943294B2 (en) Software architecture for service of collective memory and method for providing service of collective memory using the same
US8645642B2 (en) Tracking dynamic memory reallocation using a single storage address configuration table
US10079916B2 (en) Register files for I/O packet compression
US8560767B2 (en) Optimizing EDRAM refresh rates in a high performance cache architecture
US8706970B2 (en) Dynamic cache queue allocation based on destination availability
CN105103138B (zh) 用于实时应用的嵌入式存储器管理方案
KR20180007374A (ko) 메모리 채널의 소프트웨어 트레이닝을 수행하는 전자 장치 및 그것의 메모리 채널 트레이닝 방법
CN106233258B (zh) 可变宽度纠错
US20130339595A1 (en) Identifying and prioritizing critical instructions within processor circuitry
US8566532B2 (en) Management of multipurpose command queues in a multilevel cache hierarchy
US8700864B2 (en) Self-disabling working set cache
US20180336034A1 (en) Near memory computing architecture
US20230057633A1 (en) Systems, methods, and apparatus for transferring data between interconnected devices
CN106294192A (zh) 内存分配方法、内存分配装置及服务器
CN108139983A (zh) 用于在多级系统存储器中固定存储器页面的方法和设备
US8656120B2 (en) Device, method and computer-readable medium relocating remote procedure call data in heterogeneous multiprocessor system on chip
CN106155910A (zh) 一种实现内存访问的方法、装置和系统
US20150052328A1 (en) User-controlled paging
CN105612505B (zh) Cpu调度的方法和装置
US20080005726A1 (en) Methods and systems for modifying software applications to implement memory allocation
CN106339330A (zh) 高速缓存刷新的方法及系统
TWI760756B (zh) 共用代碼之系統與代碼共用方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant