CN103229157A - 划分用于多客户端计算系统的存储设备 - Google Patents
划分用于多客户端计算系统的存储设备 Download PDFInfo
- Publication number
- CN103229157A CN103229157A CN2011800569835A CN201180056983A CN103229157A CN 103229157 A CN103229157 A CN 103229157A CN 2011800569835 A CN2011800569835 A CN 2011800569835A CN 201180056983 A CN201180056983 A CN 201180056983A CN 103229157 A CN103229157 A CN 103229157A
- Authority
- CN
- China
- Prior art keywords
- memory
- client device
- group
- memory bank
- storage operation
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1647—Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
-
- 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/5011—Allocation 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/5016—Allocation 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Dram (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种用于存取存储设备的方法、计算机程序产品和系统。举例来说,所述方法可包括将所述存储设备的一个或多个存储体划分成第一组存储体和第二组存储体。所述方法还可将所述第一组存储体内的第一多个存储单元分配给第一客户端设备的第一存储操作,并且将所述第二组存储体内的第二多个存储单元分配给第二客户端设备的第二存储操作。这种存储器分配可允许在所述第一客户端设备和所述第二客户端设备分别请求第一存储操作和第二存储操作时存取所述第一组存储体和第二组存储体。此外,还可基于是否存取第一存储器地址或第二存储器地址以便执行所述第一存储操作或第二存储操作来控制对所述第一客户端设备或所述第二客户端设备与所述存储设备之间的数据总线的存取。
Description
技术领域
本发明的实施方案总体上涉及划分用于多客户端计算系统的存储设备。
背景技术
由于对于不断增加的处理速度和处理量的要求,许多计算系统使用多个客户端设备(在本文中也称为“计算设备”),如中央处理器(CPU)、图形处理器(GPU)或其组合。在具有多个客户端设备(在本文中也称为“多客户端计算系统”)和一个统一存储器体系结构(UMA)的计算机系统中,每个客户端设备都共享对UMA中的一个或多个存储设备的存取。这种通信可经由从存储控制器排布至每个存储设备的数据总线和从存储控制器排布至多个客户端设备的公用系统总线而发生。
对于多客户端计算系统来说,UMA通常相对于替代存储器体系结构来说产生较低系统成本和功率。成本降低是归因于较少的存储器芯片(例如,动态随机存取存储器(DRAM)设备)并且也归因于将计算设备与存储器芯片连接的较少数目的输入/输出(I/O)接口。这些因素也产生UMA的较低功率,因为与存储器芯片和I/O接口相关联的功率开销得以降低。另外,UMA中存储器接口之间的功耗数据复制操作得以消除,而其它存储器体系结构可能需要这些功耗操作。
然而,存在与存储设备的恢复时间相关的低效率来源,其中具有UMA的多客户端计算系统中的恢复时间可能增加。恢复时段出现于一个或多个客户端设备向存储设备的同一存储体请求连续数据传送(在本文中也称为“存储体争用”)时。恢复时段是指在对存储设备的第一存取与即刻第二存取之间的由存储设备展示的延迟时间。也就是说,在存储设备存取数据时,在恢复时段期间没有数据可在数据总线或系统总线上传送,由此导致多客户端计算系统中的低效率。此外,当处理速度已在多客户端计算系统中随着时间的推移而不断增加时,典型的存储设备的恢复时段一直未能跟上,从而导致不断增大的存储器性能差距。
因此,需要用以减少或消除与多客户端计算系统中的存储体争用相关的低效率的方法和系统。
发明内容
本发明的实施方案包括一种用于存取具有多个客户端设备的计算机系统中的存储设备的方法。所述方法可包括以下步骤:将存储设备的一个或多个存储体划分成第一组存储体和第二组存储体;将第一组存储体内的第一多个存储单元分配给与第一客户端设备相关联的第一存储操作;将第二组存储体内的第二多个存储单元分配给与第二客户端设备相关联的第二存储操作;当第一客户端设备请求第一存储操作时,经由将第一客户端设备和第二客户端设备连接至存储设备的数据总线来存取第一组存储体,其中来自第一组存储体的第一存储器地址与第一存储操作相关联;当第二客户端设备请求第二存储操作时,经由所述数据总线来存取第二组存储体,其中来自第二组存储体的第二存储器地址与第二存储操作相关联;以及分别基于是否存取第一存储器地址或第二存储器地址以便执行第一存储操作或第二存储操作来在第一存储操作或第二存储操作期间向第一客户端设备或第二客户端设备提供对数据总线的控制。
本发明的实施方案另外包括一种计算机程序产品,所述产品包括计算机可用介质,所述介质上记录有计算机程序逻辑,所述逻辑用于使得处理器能够存取具有多个客户端设备的计算机系统中的存储设备。所述计算机程序逻辑可包括以下内容:第一计算机可读程序代码,其使得处理器能够将存储设备的一个或多个存储体划分成第一组存储体和第二组存储体;第二计算机可读程序代码,其使得处理器能够将第一组存储体内的第一多个存储单元分配给与第一客户端设备相关联的第一存储操作;第三计算机可读程序代码,其使得处理器能够将第二组存储体内的第二多个存储单元分配给与第二客户端设备相关联的第二存储操作;第四计算机可读程序代码,其使得处理器能够在第一客户端设备请求第一存储操作时,经由将第一客户端设备和第二客户端设备连接至存储设备的数据总线来存取第一组存储体,其中来自第一组存储体的第一存储器地址与第一存储操作相关联;第五计算机可读程序代码,其使得处理器能够在第二客户端设备请求第二存储操作时,经由数据总线来存取第二组存储体,其中来自第二组存储体的第二存储器地址与第二存储操作相关联;以及,第六计算机可读程序代码,其使得处理器能够分别基于是否存取第一存储器地址或第二存储器地址以便执行第一存储操作或第二存储操作来在第一存储操作或第二存储操作期间向第一客户端设备或第二客户端设备提供对数据总线的控制。
本发明的实施方案还包括一种计算机系统。所述计算机系统可包括第一客户端设备、第二客户端设备、存储设备和存储控制器。存储设备可包括被划分成第一组存储体和第二组存储体的一个或多个存储体。第一组存储体内的第一多个存储单元可被分配给与第一客户端设备相关联的第一存储操作。同样地,第二组存储体内的第二多个存储单元可被分配给与第二客户端设备相关联的第二存储操作。此外,存储控制器可被配置来执行以下功能:当第一客户端设备请求第一存储操作时,经由将第一客户端设备和第二客户端设备连接至存储设备的数据总线来控制第一客户端设备与第一组存储体之间的存取,其中来自第一组存储体的第一存储器地址与第一存储操作相关联;当第二客户端设备请求第二存储操作时,经由所述数据总线来控制第二客户端设备与第二组存储体之间的存取,其中来自第二组存储体的第二存储器地址与第二存储操作相关联;以及,分别基于是否存取第一存储器地址或第二存储器地址以便执行第一存储操作或第二存储操作来在第一存储操作或第二存储操作期间向第一客户端设备或第二客户端设备提供对数据总线的控制。
本发明的其它特征和优势以及本发明的各种实施方案的结构和操作在下文中参照附图来详细描述。应注意,本发明不限于本文描述的具体实施方案。在本文中只是出于说明性目的来呈现这些实施方案。本领域技术人员将基于本文中所包含的教义而显而易知额外的实施方案。
附图说明
并入本文中并且形成本说明书的一部分的附图示出本发明的实施方案,并且与描述一起进一步用来解释本发明的原理并使得本领域技术人员能够实施和使用本发明。
图1是具有统一存储器体系结构(UMA)的多客户端计算系统的一个实施方案的图解。
图2是存储控制器的一个实施方案的图解。
图3是具有经过划分的存储体的存储设备的一个实施方案的图解。
图4是存储调度器执行的CPU和GPU相关存储请求的一个示例交错布置的图解。
图5是存取多客户端计算系统中的存储设备的方法的一个实施方案的图解。
图6是可实施本发明的实施方案的示例计算机系统的图解。
具体实施方式
以下详细描述参看示出与本发明一致的示例性实施方案的附图。其它实施方案也是可能的,并且在本发明的精神和范围内可对实施方案进行修改。因此,详细描述不意图限制本发明。事实上,本发明的范围是由附加的权利要求书来界定。
本领域技术人员将显而易知的是,如下所述,本发明可按附图中示出的软件、硬件、固件和/或实体的许多不同实施方案来实施。因此,在给出本文提供的详细程度的情况下,在描述本发明的实施方案的操作行为时应理解,这些实施方案的修改和变化形式也是可能的。
图1是具有统一存储器体系结构(UMA)的多客户端计算系统100的一个实施方案的图解。多客户端计算系统100包括第一计算设备110、第二计算设备120、存储控制器130和存储设备140。第一计算设备110和第二计算设备120经由系统总线150以通信方式连接至存储控制器130。另外,存储控制器130经由数据总线160以通信方式连接至存储设备140。
本领域技术人员将认识到,具有UMA的多客户端计算系统100示出了所述系统中所包含的设备的抽象视图。举例来说,关于存储设备140,本领域技术人员将认识到UMA可被布置成“单列”配置,其中存储设备140可代表一行存储设备(例如,DRAM设备)。此外,关于存储设备140,本领域技术人员也将认识到,UMA可被布置成“多列”配置,其中存储设备140可代表附接至数据总线160的多行存储设备。在单列和多列配置中,存储控制器130可被配置来控制对存储设备的存储体的存取。单列和多列配置的益处尤其是可实现在计算设备110与120之间划分存储体的灵活性。
基于本文的描述,本领域技术人员将认识到,多客户端计算系统100可包括两个以上的计算设备、一个以上的存储控制器、一个以上的存储设备或其组合。多客户端计算系统100的这些不同配置都在本文描述的实施方案的范围和精神内。然而,为了便于解释,本文包含的实施方案将在图1描绘的系统体系结构的情形中进行描述。
在一个实施方案中,计算设备110和120中的每一个可为例如但不限于中央处理器(CPU)、图形处理器(GPU)、专用集成电路(ASIC)控制器、其它类似类型的处理单元或其组合。计算设备110和120被配置来执行指令并且完成与多客户端计算系统100相关联的操作。举例来说,多客户端计算系统100可被配置来渲染并且显示图形。多客户端计算系统100可包括CPU(例如,计算设备110)和GPU(例如,计算设备120),其中GPU可被配置来渲染二维和三维图形并且CPU可被配置来协调所渲染的图形在显示设备(未在图1中展示)上的显示。
当执行指令和完成与多客户端计算系统100相关联的操作时,计算设备110和120可经由存储控制器130来存取存储设备140中所存储的信息。图2是存储控制器130的一个实施方案的图解。存储控制器130包括第一存储体判优器2100、第二存储体判优器2101和存储调度器220。
在一个实施方案中,第一存储体判优器2100被配置来将对存储设备(例如,图1的存储设备140)的第一组存储体的请求分类。以类似方式,第二存储体判优器2101被配置来将对存储设备(例如,图1的存储设备140)的第二组存储体的请求分类。如本领域技术人员理解,第一存储体判优器2100和第二存储体判优器2101被配置来将来自计算设备(例如,计算设备110和120)的存储请求(例如,读取和写入操作)按优先级排序。来自计算设备110的一组存储器地址可被分配给第一组存储体,从而导致由第一存储体判优器2100来处理。同样地,来自计算设备120的一组存储器地址可被分配给第二组存储体,从而导致由第二存储体判优器2101来处理。
参看图2,存储调度器220被配置来处理来自第一存储体判优器2100和第二存储体判优器2101的经过分类的存储请求。在一个实施方案中,存储调度器220以优化读取和写入效率并且最大化图1的数据总线160上的带宽的方式循环地处理经过分类的存储请求。在一个实施方案中,数据总线160具有预定总线宽度,其中存储设备140与计算设备110和120之间的数据传送使用数据总线160的整个总线宽度。
图2的存储调度器220可将与存储设备140中的存储体的冲突减少到最低限度,这是通过对存储请求进行分类、重新排序和群聚以避免同一存储体中的不同行的背对背(back-to-back)请求。在一个实施方案中,存储调度器220可基于进行请求的计算设备来将其对经过分类的存储请求的处理按优先级排序。举例来说,存储调度器220可处理来自第一存储体判优器2100的经过分类的存储请求(例如,对应于来自计算设备110的一组地址请求),然后处理经过分类的存储请求(例如,对应于来自计算设备120的一组地址请求),或反之亦然。如本领域技术人员理解,存储调度器220的输出被处理以产生经由图1的数据总线160向存储设备140发送读取和写入请求所必要的地址、命令和控制信号。对应于读取和写入存储请求的地址、命令和控制信号的产生为本领域技术人员已知的。
参看图1,根据本发明的一个实施方案,存储设备140是动态随机存取存储器(DRAM)设备。存储设备140被划分成第一组存储体和第二组存储体。第一组存储体中的一个或多个存储单元被分配给与计算设备110的操作相关联的第一多个存储缓冲器。同样地,第二组存储体中的一个或多个存储单元被分配给与计算设备120的操作相关联的第二多个存储缓冲器。
出于简化和解释目的,以下论述假定存储设备140被划分成两组存储体——第一组存储体和第二组存储体。然而,基于本文的描述,本领域技术人员将认识到,存储设备140可被划分成两组以上的存储体(例如,三组存储体、四组存储体、五组存储体等),其中每一组存储体可被分配给特定计算设备。举例来说,如果存储设备140被划分成三组存储体,那么一个存储体可被分配给计算设备110,一个存储体可被分配给计算设备120,并且第三存储体可被分配给第三计算设备(未在图1的多客户端计算系统100中描绘)。
图3是具有第一组存储体310和第二组存储体320的存储设备140的一个实施方案的图解。如图3描绘,存储设备140含有8个存储体,其中4个存储体被分配给第一组存储体310(例如,存储体0至3)并且4个存储体被分配给第二组存储体320(例如,存储体4至7)。基于本文的描述,本领域技术人员将认识到,存储设备140可含有多于或少于8个存储体(例如,4和16个存储体),并且存储设备140的存储体可被划分成不同布置,例如但不限于,6个存储体被分配给第一组存储体310并且2个存储体被分配给第二组存储体320。
第一组存储体310对应于下组地址并且第二组存储体320对应于上组地址。举例来说,如果存储设备140是具有8个存储体的两千兆字节(GB)存储设备,那么对应于0至1GB的存储器地址被分配给第一组存储体310并且对应于1至2GB的存储器地址被分配给第二组存储体320。基于本文的描述,本领域技术人员将认识到,存储设备140可具有小于或大于2GB的存储器容量。存储设备140的这些其它存储器容量在本文描述的实施方案的精神和范围内。
第一组存储体310与计算设备110的操作相关联。同样地,第二组存储体320与计算设备320的操作相关联。举例来说,如本领域技术人员将理解,当在由计算设备(例如,计算设备110和120)执行的操作或过程之间移动数据时,通常使用存储缓冲器。
如以上提及,计算设备110可为CPU,其中第一组存储体310被分配给在CPU计算设备110执行操作中使用的存储缓冲器。执行延时敏感CPU指令代码所需要的存储缓冲器可被映射到第一组存储体310中的一个或多个存储单元。将延时敏感CPU指令代码映射到第一组存储体310的益处尤其在于,可在计算设备110与120之间减少或避免存储体争用问题。
计算设备120可为GPU,其中第二组存储体320被分配给在GPU计算设备120执行操作中使用的存储缓冲器。执行图形操作所需要的帧存储缓冲器可被映射到第二组存储体320中的一个或多个存储单元。由于存储设备140的一个或多个存储器区被专用于GPU操作,因此第二组存储体320的益处尤其在于,可在计算设备110与120之间减少或避免存储体争用问题。
如上文关于图2所描述,第一存储体判优器2100可具有由计算设备110分配并且指向图3的第一组存储体310的地址。在计算设备110是CPU的以上实施例中,根据本发明的一个实施方案,计算设备110的判优可使用例如但不限于预测性页面开启策略和地址预取的技术来优化以便有效地执行延时敏感CPU指令代码。
同样地,第二存储体判优器2101可具有由计算设备120分配并且指向图3的第二组存储体320的地址。在计算设备120是GPU的以上实施例中,根据本发明的一个实施方案,计算设备120的线程可针对最大带宽来加以优化。
一旦第一存储体判优器2100将用于来自计算设备110和120的存储请求的判优线程中的每一个分类,图2的存储调度器220便处理经过分类的存储请求。相对于以上实施例,其中计算设备110是CPU并且计算设备120是GPU,可通过在GPU相关存储请求之前处理CPU相关存储请求来优化调度器220。根据本发明的一个实施方案,这个过程是可能的,因为与GPU性能相比,CPU性能通常对存储器延迟更敏感。在此,存储调度器220向计算设备110提供对数据总线160的控制,以使得与CPU相关存储请求相关联的数据传送优先于与GPU相关存储请求相关联的数据传送。
在另一个实施方案中,GPU相关存储请求(例如,来自图1的计算设备120)可在CPU相关存储请求(例如,来自计算设备110)之前和/或之后交错。图4是存储调度器220执行的CPU和GPU相关存储请求的示例交错布置400的图解。在交错布置400中,如果在处理GPU相关存储请求(例如,存储请求序列410)的同时发送CPU相关存储请求(例如,存储请求序列420),那么存储调度器220可被配置来在数据总线160上停止与GPU相关存储请求相关的数据传送而促进与CPU相关存储请求相关的数据传送。存储调度器220可被配置来在发出CPU相关存储请求之后立即在数据总线160上继续与GPU相关存储请求相关的数据传送。所产生的CPU和GPU相关存储请求两者的交错布置在图4的交错序列430中描绘。
关于图4的交错序列430,这是可如何在将CPU相关存储请求交错至GPU相关存储请求流中的意义上来优化CPU和GPU相关存储请求的实施例。因此,CPU相关存储请求以最小延时来处理,并且GPU相关存储请求流被中断持续服务CPU相关存储请求所必要的最小时间。不存在由于存储体冲突而引起的开销,因为保证CPU和GPU相关存储请求流不彼此冲突。
相对于计算设备110是CPU并且计算设备120是GPU的实施例来说,用于与计算设备110相关联的所有CPU操作的存储缓冲器可被分配给第一组存储体310中的一个或多个存储单元。同样地,用于与计算设备120相关联的所有GPU操作的存储缓冲器可被分配给第二组存储体320中的一个或多个存储单元。
或者,根据本发明的一个实施方案,用于CPU操作的存储缓冲器和用于GPU操作的存储缓冲器可分别被分配给第一组存储体310和第二组存储体320两者中的一个或多个存储单元。举例来说,用于延时敏感CPU指令代码的存储缓冲器可被分配给第一组存储体310中的一个或多个存储单元,并且用于非延时敏感CPU操作的存储缓冲器可被分配给第二组存储体320中的一个或多个存储单元。
对于在计算设备(例如,计算设备110与计算设备120)之间共享的数据来说,共享的存储器地址可被分配给第一组存储体310或第二组存储体320中的一个或多个存储单元。在这种情况下,来自两个计算设备的存储请求将在单一存储体判优器(例如,第一存储体判优器2100或第二存储体判优器2101)中进行判优。与对于每个计算设备执行的独立判优相比,这个由单一存储体判优器进行的判优可产生性能影响。然而,只要共享数据在总存储器流量中占低比例,共享数据分配就可产生每个计算设备的单独存储体判优器(例如,与计算设备110相关联的第一存储体判优器2100以及与计算设备120相关联的第二存储体判优器2101)所实现的总性能增益的极少减小。
鉴于图1的具有UMA的多客户端计算系统100的上述实施方案,使用分配给多客户端计算系统100中的每个客户端设备的专用存储器分区(例如,第一组存储体310和第二组存储体320)来实现许多益处。举例来说,可分离存储设备140的存储体,并且可分配用于计算设备110和120的单独存储体。以此方式,可实现存储体页面策略的集中调整以便满足计算设备110和120的个别需要。这会导致每个存储请求的较少存储体冲突。进而,这可在多客户端计算系统100中导致性能增益和/或功耗节约。
在另一个实施例中,由于计算设备110与120之间的减少的或零存储体争用,可更好地预测延时。由于提前关闭另一个计算设备试图开启的存储体,因此可在多客户端计算系统100中在没有显著带宽性能损失的情况下实现此增强的预测。也就是说,多客户端计算系统通常以总系统带宽为代价来关闭较低优先级计算设备(例如,GPU)的存储体,以便服务较高优先级低延时的计算设备(例如,CPU)。在上述实施方案中,分配给用于计算设备110的存储缓冲器的存储体不会干扰分配给用于计算设备120的存储缓冲器的存储体。
在又一个实施例中,多客户端计算系统的上述实施方案的另一个益处是易扩缩性。随着多客户端计算系统100中的计算设备的数目和存储设备140中的存储体的数目增加,可简单地扩缩多客户端计算系统100。扩缩可通过适当地将存储设备140划分成分配给每个计算设备的具有一个或多个存储体的多个组来完成。举例来说,如本领域技术人员应理解,DRAM存储体增长已经从4个存储体增长至8个存储体、16个存储体,并且继续增长。当客户端设备的数目增加时,这些存储体可适当地被划分并且分配给多客户端计算系统100中的每个计算设备。
图5是用于存取多客户端计算系统中的存储设备的方法500的一个实施方案的图解。方法500可使用例如但不限于图1的多客户端计算系统100来进行。
在步骤510中,存储设备的一个或多个存储体被划分成第一组存储体和第二组存储体。在一个实施方案中,存储设备是具有上半部多个存储体(例如,图3的存储体0至3)和下半部多个存储体(例如,图3的存储体4至7)的DRAM设备。划分存储设备的一个或多个存储体可包括将第一组存储体与DRAM设备中的上半部多个存储体关联(例如,映射)以及将第二组存储体与DRAM设备中的下半部存储体关联(例如,映射)。
在步骤520中,将第一组存储体内的第一多个存储单元分配给与第一客户端设备(例如,图1的计算设备110)相关联的存储操作。分配第一多个存储单元包括将第一组存储体内的一个或多个物理地址空间映射至与第一客户端设备(例如,图3的第一组存储体310)相关联的相应存储操作。举例来说,如果存储设备是具有8个存储体的2GB DRAM设备,那么可将4个存储体分配给第一组存储体,其中对应于0至1GB的存储器地址可与这4个存储体相关联(例如,映射到其所述存储体)。
在步骤530中,将第二组存储体内的第二多个存储单元分配给与第二客户端设备(例如,图1的计算设备120)相关联的存储操作。分配第二多个存储单元包括将第二组存储体内的一个或多个物理地址空间映射至与第二客户端设备(例如,图3的第二组存储体320)相关联的相应存储操作。举例来说,相对于存储设备是具有8个存储体的2GB DRAM设备的实施例来说,然后可将4个存储体分配给(例如,映射到)第二组存储体。在此,对应于1至2GB的存储器地址可与这4个存储体相关联(例如,映射到所述存储体)。
在步骤540中,当第一客户端设备请求第一存储操作时,存取第一组存储体,其中来自第一组存储体的第一存储器地址与第一存储操作相关联。可经由将第一客户端设备和第二客户端设备连接至存储设备的数据总线(例如,图1的数据总线160)来存取第一组存储体。所述数据总线具有预定总线宽度,其中第一客户端设备或第二客户端设备与存储设备之间的数据传送使用数据总线的整个总线宽度。
在步骤550中,当第二客户端设备请求第二存储操作时,存取第二组存储体,其中来自第二组存储体的第二存储器地址与第二存储操作相关联。类似于步骤540,可经由数据总线来存取第二组存储体。
在步骤560中,分别基于是否存取第一存储器地址或第二存储器地址以便执行第一或第二存储操作来在第一存储操作或第二存储操作期间向第一客户端设备或第二客户端设备提供对数据总线的控制。如果第一存储操作请求在第二存储操作请求之后发生并且如果需要存取第一存储器地址以便执行第一存储操作,那么停止第二客户端设备对数据总线的控制以促进第一客户端设备对数据总线的控制。根据本发明的一个实施方案,可在第一存储操作完成之后重新建立第二客户端设备对数据总线的控制。
本发明的各种方面可用软件、固件、硬件或其组合来实施。图6是示例计算机系统600的图解,其中本发明的实施方案或其部分可被实施为计算机可读代码。举例来说,图5的流程图500所示出的方法可在系统600中实施。本发明的各种实施方案按照这个示例计算机系统600来描述。在阅读此描述之后,对本领域技术人员来说变得显而易知的是,如何使用其它计算机系统和/或计算机体系结构来实施本发明的实施方案。
应当指出的是,本发明的各种实施方案的模拟、合成和/或制造可部分地经由使用计算机可读代码来完成,所述代码包括一般编程语言(如C或C++)、例如Verilog HDL、VHDL、Altera HDL(AHDL)等硬件描述语言(HDL),或其它可供使用的编程和/或示意性捕获工具(如电路捕获工具)。这种计算机可读代码可安置于任何已知计算机可用介质中,所述介质包括半导体、磁盘、光盘(如CD-ROM、DVD-ROM)。因此,代码可经由包括因特网在内的通信网络来传输。应理解,由如上所述的系统和技术完成的功能和/或提供的结构可在核心(如GPU核心)中表示,所述核心以程序代码来实现并且可作为产生集成电路的一部分来转化成硬件。
计算机系统600包括一个或多个处理器,如处理器604。处理器604可为专用或通用处理器。处理器604连接至通信基础设施606(例如,总线或网络)。
计算机系统600还包括主存储器1608,优选地,随机存取存储器(RAM),并且还可包括辅助存储器610。辅助存储器610可包括例如硬盘驱动器612、可拆换存储驱动器614和/或存储棒。可拆换存储驱动器614可包括软盘驱动器、磁带驱动器、光盘驱动器、闪速存储器等。可拆换存储驱动器614以众所周知的方式读取和/或写入可拆换存储单元618。可拆换存储单元618可包括软盘、磁带、光盘等,其由可拆换存储驱动器614读取和写入。如本领域技术人员将认识到,可拆换存储单元618包括计算机可用存储介质,所述介质中存储有计算机软件和/或数据。
在替代实行方案中,辅助存储器610可包括用于允许计算机程序或其它指令加载至计算机系统600中的其它类似设备。这些设备可包括例如可拆换存储单元622和接口620。这些设备的实例可包括程序盒和盒式接口(例如在视频游戏设备中所见的那些接口)、可拆换存储器芯片(例如,EPROM或PROM)和相关联插口,以及允许软件和数据从可拆换存储单元622传送至计算机系统600的其它可拆换存储单元622和接口620。
计算机系统600还可包括通信接口624。通信接口624允许软件和数据在计算机系统600与外部设备之间进行传送。通信接口624可包括调制解调器、网络接口(例如以太网卡)、通信端口、PCMCIA插槽和卡等。经由通信接口624传送的软件和数据呈信号形式,所述信号可为能够由通信接口624接收的电子、电磁、光学或其它信号。这些信号经由通信路径626提供至通信接口624。通信路径626载运信号并且可使用电线或电缆、光纤、电话线、蜂窝式电话链路、RF链路或其它通信信道来实施。
在本文件中,术语“计算机程序介质”和“计算机可用介质”用于总体上指代如可拆换存储单元618、可拆换存储单元622和安装在硬盘驱动器612中的硬盘等介质。计算机程序介质和计算机可用介质还可指代存储器,如主存储器608和辅助存储器610,其可为存储器半导体(例如,DRAM等)。这些计算机程序产品向计算机系统600提供软件。
计算机程序(也称为计算机控制逻辑)存储在主存储器608和/或辅助存储器610中。计算机程序还可经由通信接口624来接收。这些计算机程序在执行时使得计算机系统600能够实施如本文论述的本发明的实施方案。具体来说,所述计算机程序在执行时使得处理器604能够实施本发明的实施方案的过程,如以上论述的图5的流程图500所示出的方法中的步骤。因此,这些计算机程序代表计算机系统600的控制器。在本发明的实施方案使用软件来实施时,软件可存储在计算机程序产品中并且使用可拆换存储驱动器614、接口620、硬盘驱动器612或通信接口624来加载至计算机系统600中。
本发明的实施方案还针对于计算机程序产品,包括存储在任何计算机可用介质上的软件。这类软件当在一个或多个数据处理设备中执行时致使数据处理设备如本文描述那样来操作。本发明的实施方案使用现在或将来知道的任何计算机可用或可读介质。计算机可用介质的实例包括但不限于主要存储设备(例如,任何类型的随机存取存储器)、次要存储设备(例如,硬盘驱动器、软盘、CD ROM、ZIP盘、磁带、磁性存储设备、光学存储设备、MEMS、纳米技术存储设备等),以及通信介质(例如,有线和无线通信网络、局域网、广域网、内部网等)。
虽然上文已经描述了本发明的各种实施方案,但是应理解,其仅为了举例而提供,并且不具有限制性。本领域技术人员将理解其中可做出形式和细节上的各种变化而不背离如附加的权利要求书中界定的本发明的精神和范围。应理解,本发明不限于这些实施例。本发明适用于如本文描述那样来操作的任何元件。因此,本发明的宽度和范围不应由任何上述示例性实施方案来限制,而是应仅根据所附权利要求书及其等效物来界定。
Claims (28)
1.一种用于存取多客户端计算系统中的存储设备的方法,所述方法包括:
将所述存储设备的一个或多个存储体划分成第一组存储体和第二组存储体;
配置对所述第一组存储体内的第一多个存储单元的存取,其中所述第一多个存储单元与第一客户端设备的第一存储操作相关联;以及
配置对所述第二组存储体内的第二多个存储单元的存取,其中所述第二多个存储单元与第二客户端设备的第二存储操作相关联。
2.如权利要求1所述的方法,其进一步包括:
在所述第一客户端设备请求所述第一存储操作时,经由将所述第一客户端设备和所述第二客户端设备连接至所述存储设备的数据总线来存取所述第一组存储体,其中来自所述第一组存储体的第一存储器地址与所述第一存储操作相关联;
在所述第二客户端设备请求所述第二存储操作时,经由所述数据总线来存取所述第二组存储体,其中来自所述第二组存储体的第二存储器地址与所述第二存储操作相关联;以及
分别基于是否存取所述第一存储器地址或所述第二存储器地址以便执行所述第一存储操作或所述第二存储操作来在所述第一存储操作或所述第二存储操作期间向所述第一客户端设备或所述第二客户端设备提供对所述数据总线的控制。
3.如权利要求2所述的方法,其中所述数据总线具有预定总线宽度,并且其中所述提供对所述数据总线的控制包括使用所述数据总线的整个总线宽度在所述第一客户端设备或所述第二客户端设备与所述存储设备之间传送数据。
4.如权利要求2所述的方法,其中所述提供对所述数据总线的控制包括在需要存取所述第一存储器地址以便执行所述第一存储操作的情况下,在所述第二客户端设备之前向所述第一客户端设备提供对所述数据总线的控制。
5.如权利要求2所述的方法,其中所述提供对所述数据总线的控制包括在所述第一存储操作请求在所述第二存储操作请求之后发生的情况下并且在需要存取所述第一存储器地址以便执行所述第一存储操作的情况下,将对所述数据总线的控制从所述第二客户端设备让与所述第一客户端设备。
6.如权利要求5所述的方法,其中所述让与对所述数据总线的控制包括在所述第一存储操作完成之后重新建立所述第二客户端设备的对所述数据总线的控制。
7.如权利要求1所述的方法,其中所述存储设备包括具有上半部多个存储体和下半部多个存储体的动态随机存取存储器(DRAM)设备,并且其中所述划分所述一个或多个存储体包括将所述第一组存储体与所述DRAM设备中的所述上半部多个存储体关联并且将所述第二组存储体与所述DRAM设备中的所述下半部存储体关联。
8.如权利要求1所述的方法,其中所述配置对所述第一多个存储单元的存取包括将所述第一组存储体内的一个或多个物理地址空间映射到与所述第一客户端设备相关联的一个或多个相应存储缓冲器。
9.如权利要求1所述的方法,其中所述配置对所述第二多个存储单元的存取包括将所述第二组存储体内的一个或多个物理地址空间映射到与所述第二客户端设备相关联的一个或多个相应存储缓冲器。
10.一种计算机程序产品,其包括计算机可用介质,所述介质上记录有计算机程序逻辑,所述逻辑在由一个或多个处理器执行时存取具有多个客户端设备的计算机系统中的存储设备,所述计算机程序逻辑包括:
第一计算机可读程序代码,其使得处理器能够将所述存储设备的一个或多个存储体划分成第一组存储体和第二组存储体;
第二计算机可读程序代码,其使得处理器能够配置对所述第一组存储体内的第一多个存储单元的存取,其中所述第一多个存储单元与第一客户端设备的第一存储操作相关联;以及
第三计算机可读程序代码,其使得处理器能够配置对所述第二组存储体内的第二多个存储单元的存取,其中所述第二多个存储单元与第二客户端设备的第二存储操作相关联。
11.如权利要求10所述的计算机程序产品,所述计算机程序逻辑进一步包括:
第四计算机可读程序代码,其使得处理器能够在所述第一客户端设备请求所述第一存储操作时,经由将所述第一客户端设备和所述第二客户端设备连接至所述存储设备的数据总线来存取所述第一组存储体,其中来自所述第一组存储体的第一存储器地址与所述第一存储操作相关联;
第五计算机可读程序代码,其使得处理器能够在所述第二客户端设备请求所述第二存储操作时,经由所述数据总线来存取所述第二组存储体,其中来自所述第二组存储体的第二存储器地址与所述第二存储操作相关联;以及
第六计算机可读程序代码,其使得处理器能够分别基于是否存取所述第一存储器地址或所述第二存储器地址以便执行所述第一或所述第二存储操作来在所述第一存储操作或所述第二存储操作期间向所述第一客户端设备或所述第二客户端设备提供对所述数据总线的控制。
12.如权利要求11所述的计算机程序产品,其中所述数据总线具有预定总线宽度,并且其中所述第六计算机可读程序代码包括:
第七计算机可读程序代码,其使得处理器能够使用所述数据总线的整个总线宽度在所述第一客户端设备或所述第二客户端设备与所述存储设备之间传送数据。
13.如权利要求12所述的计算机程序产品,其中所述第六计算机可读程序代码包括:
第七计算机可读程序代码,其使得处理器能够在需要存取所述第一存储器地址以便执行所述第一存储操作的情况下,在所述第二客户端设备之前向所述第一客户端设备提供对所述数据总线的控制。
14.如权利要求12所述的计算机程序产品,其中所述第六计算机可读程序代码包括:
第七计算机可读程序代码,其使得处理器能够在所述第一存储操作请求在所述第二存储操作请求之后发生的情况下并且在需要存取所述第一存储器地址以便执行所述第一存储操作的情况下,将对所述数据总线的控制从所述第二客户端设备让与所述第一客户端设备。
15.如权利要求14所述的计算机程序产品,其中所述第七计算机可读程序代码包括:
第八计算机可读程序代码,其使得处理器能够在所述第一存储操作完成之后重新建立所述第二客户端设备的对所述数据总线的控制。
16.如权利要求10所述的计算机程序产品,其中所述存储设备包括具有上半部多个存储体和下半部多个存储体的动态随机存取存储器(DRAM)设备,并且其中所述第一计算机可读程序代码包括:
第七计算机可读程序代码,其使得处理器能够将所述第一组存储体与所述DRAM设备中的所述上部半多个存储体关联并且将所述第二组存储体与所述DRAM设备中的所述下半部存储体关联。
17.如权利要求10所述的计算机程序产品,其中所述第二计算机可读程序代码包括:
第七计算机可读程序代码,其使得处理器能够将所述第一组存储体内的一个或多个物理地址空间映射到与所述第一客户端设备相关联的一个或多个相应存储缓冲器。
18.如权利要求10所述的计算机程序产品,其中所述第三计算机可读程序代码包括:
第七计算机可读程序代码,其使得处理器能够将所述第二组存储体内的一个或多个物理地址空间映射到与所述第二客户端设备相关联的一个或多个相应存储缓冲器。
19.一种计算机系统,其包括:
第一客户端设备;
第二客户端设备;
具有一个或多个存储体的存储设备,所述存储体被划分成第一组存储体和第二组存储体,其中:
所述第一组存储体内的第一多个存储单元被配置来由与所述第一客户端设备相关联的第一存储操作来存取;并且
所述第二组存储体内的第二多个存储单元被配置来由与所述第二客户端设备相关联的第二存储操作来存取;以及
存储控制器,其被配置来控制所述第一客户端设备与所述第一多个存储单元之间的存取并且控制所述第二客户端设备与所述第二多个存储单元之间的存取。
20.如权利要求19所述的计算系统,其中所述第一客户端设备和所述第二客户端设备包括中央处理器、图形处理器和专用集成电路中的至少一个。
21.如权利要求19所述的计算系统,其中所述存储设备包括具有上半部多个存储体和下半部多个存储体的动态随机存取存储器(DRAM)设备,所述第一组存储体与所述DRAM设备中的所述上半部多个存储体相关联并且所述第二组存储体与所述DRAM设备中的所述下半部存储体相关联。
22.如权利要求19所述的计算系统,其中所述存储设备包括所述第一组存储体内的一个或多个物理地址空间,所述空间被映射到与所述第一客户端设备相关联的一个或多个相应存储操作。
23.如权利要求19所述的计算系统,其中所述存储设备包括所述第二组存储体内的一个或多个物理地址空间,所述空间被映射到与所述第二客户端设备相关联的一个或多个相应存储操作。
24.如权利要求19所述的计算系统,其中所述存储控制器被配置来:
在所述第一客户端设备请求所述第一存储操作时,经由将所述第一和第二客户端设备连接至所述存储设备的数据总线来存取所述第一组存储体,其中来自所述第一组存储体的第一存储器地址与所述第一存储操作相关联;
在所述第二客户端设备请求所述第二存储操作时,经由所述数据总线来存取所述第二组存储体,其中来自所述第二组存储体的第二存储器地址与所述第二存储操作相关联;以及
分别基于是否存取所述第一存储器地址或所述第二存储器地址以便执行所述第一存储操作或所述第二存储操作来在所述第一存储操作或所述第二存储操作期间向所述第一客户端设备或所述第二客户端设备提供对所述数据总线的控制
25.如权利要求24所述的计算系统,其中所述数据总线具有预定总线宽度,并且其中所述存储控制器被配置来控制使用所述数据总线的整个总线宽度的所述第一客户端设备或所述第二客户端设备与所述存储设备之间的数据传送。
26.如权利要求24所述的计算系统,其中所述存储控制器被配置来在需要存取所述第一存储器地址以便执行所述第一存储操作的情况下,在所述第二客户端设备之前向所述第一客户端设备提供对所述数据总线的控制。
27.如权利要求24所述的计算系统,其中所述存储控制器被配置来在所述第一存储操作请求在所述第二存储操作请求之后发生的情况下并且在需要存取所述第一存储器地址以便执行所述第一存储操作的情况下,将对所述数据总线的控制从所述第二客户端设备让与所述第一客户端设备。
28.如权利要求27所述的计算系统,其中所述存储控制器被配置来在所述第一存储操作完成之后重新建立所述第二客户端设备的对所述数据总线的控制。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/958,748 | 2010-12-02 | ||
US12/958,748 US20120144104A1 (en) | 2010-12-02 | 2010-12-02 | Partitioning of Memory Device for Multi-Client Computing System |
PCT/US2011/062385 WO2012074998A1 (en) | 2010-12-02 | 2011-11-29 | Partitioning of memory device for multi-client computing system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103229157A true CN103229157A (zh) | 2013-07-31 |
Family
ID=45418776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011800569835A Pending CN103229157A (zh) | 2010-12-02 | 2011-11-29 | 划分用于多客户端计算系统的存储设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20120144104A1 (zh) |
EP (1) | EP2646925A1 (zh) |
JP (1) | JP2013545201A (zh) |
KR (1) | KR20140071270A (zh) |
CN (1) | CN103229157A (zh) |
WO (1) | WO2012074998A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016106911A1 (zh) * | 2014-12-30 | 2016-07-07 | 北京兆易创新科技股份有限公司 | 一种mcu芯片的信息保护方法和装置 |
CN106919516A (zh) * | 2015-12-24 | 2017-07-04 | 联芯科技有限公司 | Ddr地址映射系统和方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9558247B2 (en) * | 2010-08-31 | 2017-01-31 | Samsung Electronics Co., Ltd. | Storage device and stream filtering method thereof |
EP2742425A1 (en) * | 2012-05-29 | 2014-06-18 | Qatar Foundation | Graphics processing unit controller, host system, and methods |
US9563562B2 (en) | 2012-11-27 | 2017-02-07 | Nvidia Corporation | Page crossing prefetches |
US9262328B2 (en) | 2012-11-27 | 2016-02-16 | Nvidia Corporation | Using cache hit information to manage prefetches |
US9639471B2 (en) * | 2012-11-27 | 2017-05-02 | Nvidia Corporation | Prefetching according to attributes of access requests |
US9811453B1 (en) * | 2013-07-31 | 2017-11-07 | Juniper Networks, Inc. | Methods and apparatus for a scheduler for memory access |
US10996959B2 (en) * | 2015-01-08 | 2021-05-04 | Technion Research And Development Foundation Ltd. | Hybrid processor |
US20230053530A1 (en) * | 2021-08-23 | 2023-02-23 | Apple Inc. | Scalable System on a Chip |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040133754A1 (en) * | 2001-10-01 | 2004-07-08 | Layer N Networks | Memory request handling method for small discontiguous accesses to high-density memory devices |
EP1517243A2 (en) * | 2003-09-16 | 2005-03-23 | Nec Corporation | Memory interleave system |
CN1680941A (zh) * | 2004-04-06 | 2005-10-12 | 株式会社Ntt都科摩 | 存储器映射控制装置、信息存储控制装置及数据移动方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6665777B2 (en) * | 2000-07-26 | 2003-12-16 | Tns Holdings, Inc. | Method, apparatus, network, and kit for multiple block sequential memory management |
US7380085B2 (en) * | 2001-11-14 | 2008-05-27 | Intel Corporation | Memory adapted to provide dedicated and or shared memory to multiple processors and method therefor |
KR100634566B1 (ko) * | 2005-10-06 | 2006-10-16 | 엠텍비젼 주식회사 | 공유 메모리 제어 방법 및 공유 메모리 동작 제어를수행하는 사용자 단말기 |
KR20090092371A (ko) * | 2008-02-27 | 2009-09-01 | 삼성전자주식회사 | 래치타입 메모리 셀들로 이루어진 공유 메모리 영역을 갖는멀티포트 반도체 메모리 장치 및 그를 채용한 멀티프로세서 시스템과 멀티포트 반도체 메모리 장치의구동방법 |
KR20100032504A (ko) * | 2008-09-18 | 2010-03-26 | 삼성전자주식회사 | 공유 버스를 갖는 불휘발성 메모리와 멀티포트 반도체 메모리 장치를 채용한 멀티 프로세서 시스템 |
-
2010
- 2010-12-02 US US12/958,748 patent/US20120144104A1/en not_active Abandoned
-
2011
- 2011-11-29 CN CN2011800569835A patent/CN103229157A/zh active Pending
- 2011-11-29 KR KR1020137013681A patent/KR20140071270A/ko not_active Application Discontinuation
- 2011-11-29 WO PCT/US2011/062385 patent/WO2012074998A1/en active Application Filing
- 2011-11-29 JP JP2013542099A patent/JP2013545201A/ja active Pending
- 2011-11-29 EP EP11802207.8A patent/EP2646925A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040133754A1 (en) * | 2001-10-01 | 2004-07-08 | Layer N Networks | Memory request handling method for small discontiguous accesses to high-density memory devices |
EP1517243A2 (en) * | 2003-09-16 | 2005-03-23 | Nec Corporation | Memory interleave system |
CN1680941A (zh) * | 2004-04-06 | 2005-10-12 | 株式会社Ntt都科摩 | 存储器映射控制装置、信息存储控制装置及数据移动方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016106911A1 (zh) * | 2014-12-30 | 2016-07-07 | 北京兆易创新科技股份有限公司 | 一种mcu芯片的信息保护方法和装置 |
US10102155B2 (en) | 2014-12-30 | 2018-10-16 | Gigadevice Semiconductor (Beijing) Inc. | Method and device of information protection for micro control unit chip |
CN106919516A (zh) * | 2015-12-24 | 2017-07-04 | 联芯科技有限公司 | Ddr地址映射系统和方法 |
CN106919516B (zh) * | 2015-12-24 | 2020-06-16 | 辰芯科技有限公司 | Ddr地址映射系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2013545201A (ja) | 2013-12-19 |
US20120144104A1 (en) | 2012-06-07 |
KR20140071270A (ko) | 2014-06-11 |
EP2646925A1 (en) | 2013-10-09 |
WO2012074998A1 (en) | 2012-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103229157A (zh) | 划分用于多客户端计算系统的存储设备 | |
US10942778B2 (en) | Concurrent program execution optimization | |
CN110120915B (zh) | 三级分解网络架构系统、装置以及用于确保三级分解网络架构中的服务质量的方法 | |
US20120209943A1 (en) | Apparatus and method for controlling distributed memory cluster | |
US20170212757A1 (en) | Simd processing unit with local data share and access to a global data share of a gpu | |
US10795837B2 (en) | Allocation of memory buffers in computing system with multiple memory channels | |
US8984203B2 (en) | Memory access control module and associated methods | |
US9841926B2 (en) | On-chip traffic prioritization in memory | |
CN102045258B (zh) | 数据缓存管理方法及装置 | |
US9501222B2 (en) | Protection zones in virtualized physical addresses for reconfigurable memory systems using a memory abstraction | |
US7904677B2 (en) | Memory control device | |
CN102859492A (zh) | 用于gpu命令调度的技术 | |
CN112703489A (zh) | 控制器、存储器件访问系统、电子设备和数据传输方法 | |
US10114866B2 (en) | Memory-constrained aggregation using intra-operator pipelining | |
CN101594299A (zh) | 基于链表的交换网络中队列缓冲管理方法 | |
CN103164278A (zh) | 一种面向多核处理器的实时动态内存管理器实现方法 | |
US20210280226A1 (en) | Memory component with adjustable core-to-interface data rate ratio | |
US8352950B2 (en) | Algorithm to share physical processors to maximize processor cache usage and topologies | |
US20090083741A1 (en) | Techniques for Accessing a Resource in a Processor System | |
CN103858393A (zh) | 网络包的并行处理 | |
US10642520B1 (en) | Memory optimized data shuffle | |
CN116956756B (zh) | 模型部署方法、任务处理方法、装置、设备及存储介质 | |
CN104156316B (zh) | 一种Hadoop集群批处理作业的方法及系统 | |
US9658951B1 (en) | Scalable high bandwidth memory in a network device | |
US20100153678A1 (en) | Memory management apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130731 |