CN1764905A - 借助于偏移量在共享存储器中寻址数据的方法 - Google Patents

借助于偏移量在共享存储器中寻址数据的方法 Download PDF

Info

Publication number
CN1764905A
CN1764905A CNA2004800080458A CN200480008045A CN1764905A CN 1764905 A CN1764905 A CN 1764905A CN A2004800080458 A CNA2004800080458 A CN A2004800080458A CN 200480008045 A CN200480008045 A CN 200480008045A CN 1764905 A CN1764905 A CN 1764905A
Authority
CN
China
Prior art keywords
data
producer
consumer
address
address space
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
CNA2004800080458A
Other languages
English (en)
Inventor
P·A·W·范尼科克
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1764905A publication Critical patent/CN1764905A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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/0284Multiple user address space allocation, e.g. using different base addresses
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及为要存储的数据(29)引用第一数目的第一方法和为要获取的数据引用第一地址的第二方法。所述数据在生产者和消费者之间共享。所述第一方法包括步骤:计算所述第一数目(24,偏移量),其等于p(25)减去Vaprod(26),其中p处于生产者的虚拟地址空间,并且Vaprod处于生产者(20)的虚拟地址空间;并且把所述第一数目作为所述数据的地址存储在分散收集列表中。选择性地,所述第一方法包括把数据存储(300)在位置p的步骤。所述第二方法包括步骤:从分散收集列表获取(400)第二数目,其中所述第二数目(24,偏移量)等于p(25)减去Vaprod(26),其中p处于生产者的虚拟地址空间,并且Vaprod处于生产者的虚拟地址空间;并且把所述第一地址(27,q)计算(500)为VAcons(28)加上所述第二数目,其中所述Vacons在所述消费者(21)的虚拟地址空间中是分散收集列表的消费者地址,并且其中所述第一地址处于所述消费者的虚拟地址空间。选择性地,所述第二方法包括获取(600)数据的步骤,其中由所述第一地址指向所获取的数据。因此,当结合使用所述方法时,即使消费者与生产者具有不同的虚拟地址空间,生产者也能够把数据传送到消费者。

Description

借助于偏移量在共享存储器中寻址数据的方法
本发明涉及一种为要存储的数据引用第一数目的第一方法,其中数据在生产者和消费者之间共享。
本发明还涉及一种为要获取或读取的数据引用第一地址的第二方法,其中数据在生产者和消费者之间共享。
本发明还涉及一种用于执行每一所述方法的计算机系统。
本发明还涉及一种用于执行每一所述方法的计算机程序产品。
另外,本发明涉及第一和第二方法在处理器之间的用途,即分别向/从处理器进行数据存储和获取的用途,其中所述处理器具有与连接的存储器。
本发明适用于分散收集列表(scatter gather lists SOL)领域。在大部分计算机系统中,数据缓冲器的存储器可能是“分散的”而不是连续的。即,缓冲器的不同“片段(fragment)”在物理上可能位于不同的存储单元。当例如把数据的“分散”缓冲器从主计算机的主存储器转送到辅助存储装置时,有必要“收集”所述缓冲器的不同片段,以便能更好地以更连续的方式来把它们转送到辅助存储装置。为此通常使用分散收集列表。分散收集列表的每个元素指向一个不同的缓冲器片段,并且所述列表有效地把所述片段“收集”在一起,以便用于所要求的转送。然后,诸如直接存取存储器(Direct Access MemoryDMA)之类的存储器控制器按照分散收集列表的每个连续元素的规定来执行所述转送。
US 6,434,635公开了一种使用分散收集列表来进行数据传送的方法和输入/输出适配器。该分散收集列表被用来把某一长度的数据缓冲器从第一存储器转送到第二存储器。借助于新产生且更新的分散收集列表,在每个连续部分的数据长度被转送之后,插入另一某长度的填充。每个分散收集列表元素指定数据段的起始和长度。所述转送可以借助于作为所述输入/输出适配器例子的直接存储存取控制器来执行。
典型情况下,数据的生产者和消费者共享主存储器。然而,生产者的虚拟地址空间不同于消费者的虚拟地址空间。当生产者想要把数据从共享的存储器传送到消费者时就会出现问题。生产者的SGL包含对生产者的虚拟地址空间中数据的地址的引用。相应地,消费者的SGL包含对在它的虚拟地址空间中相同数据的地址的引用。因为消费者与生产者具有不同的虚拟地址空间,所有生产者如何来把此数据传送给消费者就成为一个问题。相同的问题对于物理存储器(例如处在处理器的不同地址映像中的物理存储器)也是如此。
上述问题由权利要求所述并且特别是附图3、4、5所示的方法来解决。
本发明的优点是通常与跟踪使用/空闲存储器相关联的所有指针运算现在由SGL隐藏。
本发明的附加优点是其可以应用于主存储器以及存储装置及其它地址空间。
本发明更进一步的优点是SGL的FIFO特性使它们在系统(例如应用和文件系统)内各层之间有自然的异步接口,而且在更低层上也是如此,即所述优点也适用于单处理器系统和多处理器共享存储器系统。
由于与前面结合或独立于所述方法而描述的相同理由,计算机系统和计算机程序产品分别提供了相同的优点并且解决了相同的问题。
下面结合优选实施例并且参考附图将要全面解释本发明,其中:
图1示出了生产者和消费者怎样对两个分散收集列表操作。
图2示出了分散收集列表的运行情景;
图3示出了共享存储器中分散收集列表的例子;
图4示出了为要存储的数据引用第一数目的方法;和
图5示出了为要获取的数据引用第一地址的方法。
贯穿各附图,相同的附图标记表明相似的或相应的特征、功能、列表等。
图1示出了生产者和消费者怎样对两个分散收集列表操作。
分散收集列表(SGL)可以是一个描述主存储单元逻辑序列的抽象的数据类型(Abstract Data Type ADT)。然而,在本领域中已知的是:所述SGL可以包括不怎么抽象的数据类型。所述主存储单元逻辑序列不需要是连续的,即它们可以在存储器中分散开。典型情况下,能够在所述SGL的逻辑末尾添加存储单元,并且只能从SGL的逻辑起始处获得并删除存储单元。只要存在至多一个生产者和一个消费者,也即没有附加的同步方法,API(Application  ProgrammingInterface应用程序接口)就允许把SGL(附图标记12)用作在生产者(附图标记10)和消费者(附图标记11)之间的FIFO机制。单个的生产者和单个的消费者自动同步。在多个生产者之间的同步需要附加方法,诸如临界区域、互斥体、信号量等。对于多个消费者,这种情况也是如此。示出了指针(附图标记13、14和15),总体上它们表明所述分散收集列表是如何维护和引用循环缓冲器数据的存储器(附图标记16)的。典型情况下,所述指针将跟踪在其上写入或存储(生产者的)数据的那个地址,相应地,另一指针将跟踪从其读取或获取(消费者的)数据的那个地址。从本领域中可以得知:指针通常可以用来在(数据的)生产者和消费者之间保持FIFO机制。
典型应用的例子是循环缓冲器(附图标记16),假定保持环形缓冲器的数据的存储器是连续的,那么可以容易地使用SGL来描述满的部分和空的部分,空的SGL包含单个单元,即包含连续存储器片的地址和长度的单个元组,或者如果拆分所述空的部分的话,空的SGL就包含两个这种单元。在此例子中,满的SGL具有两个这种单元,起始于描述最旧数据的单元。缓冲器的回转可能处于空的SGL、满的SGL,或两者皆不是。在SGL顶部,对于生产者和消费者之间的同步,选择性地应用一种机制,在此例子中,使用触发器(附图标记17)和回调函数(附图标记18)。这里提及的同步不同于上述所提及的同步。在这里应用这种同步是为了防止发生轮询。
所述触发器和回调函数典型情况下只执行释放、发信号或类似的操作,以便保持使生产者和消费者的执行环境相分隔开。用于循环缓冲器的存储器不必是连续的:在那种情况下,SGL可能会简单地包含更多单元。
当生产者和消费者处于不同层时,所述函数名称(触发器、回调)是典型的。否则这可以只是直接对信号量、队列等的操作。
由SGL描述的所有数据必须属于相同的地址空间,所以,对于某个SGL,这可以是完全的虚拟存储器或是完全的物理存储器,但是二者的组合是不允许的。原因在于:SGL API组合那些在逻辑上是连续的并且在存储器中也是连续的单元。
片段的这种组合也被称为“去分段(de-fragmentation)”。这种去分段是可选择的,即并不做要求。当然,从资源使用(CPU,存储器等)上来讲,它是有益的。
SGL甚至可以用来例如就扇区数目和逻辑块地址来描述驻留在小的IDE HDD上的数据。可以借助于属于多处理器系统的一个或多个处理器来应用所述SGL。因此,依照本发明,所述处理器(具有与其连接的存储器)可以执行数据的读取和写入。
因此,本发明的优点在于:可以把它应用在主存储器及其它地址空间,并且可以把它应用在所述多处理器系统中。
当生产者生成数据,并且消费者消耗相同的数据时,必须考虑某些规则以便确保分散收集列表的一致性。
消费者从满SGL获得具有数据的存储器,消耗它,并且把所述存储器添加到空的SGL。
因此,本发明的优点在于:SGL的FIFO特性使它们在系统(例如应用和文件系统)内的各层之间有自然异步接口,和/或在更低层上也是如此。
生产者和消费者都可以获得SGL的长度或大小。返回的长度表示由分散收集列表所描述的数据的总大小。
如果SGL驻留在共享存储器中,并且SGL只描述了那个相同共享存储器中的存储单元,那么可以从在其映像中具有这一共享存储器的所有(虚拟)存储空间中来使用SGL。然后,那片共享存储器就被认为是如上所述的“相同的地址空间”,但是这样,从其它几个地址空间看,它就是可见的。在这些情况中,API总是使用调用特定API的进程的地址空问的虚拟地址。由于对于不同的存储空间,共享存储器的起始地址可以是不同的,所以依照本发明的SGL结构相对于其自己的虚拟地址在内部保持偏移量,如图3所示。
因此,本发明的附加优点是SGL可以作为API规范的一部分使用。
图2示出了分散收集列表的运行情景。SG列表(附图标记31)用来描述数据的逻辑序列,由附图标记32的箭头方向所指示。数据可以分散在整个存储器上。由SG列表描述的数据可以位于不同大小的数据区域,即Mem 1、Mem 2等可以具有不同的大小。附图标记34的箭头方向描述了存储器(附图标记33)中的存储器地址次序。
在该图可见的SG列表例示具有数目固定的分散收集单元(即A、B、C、D和E),并且描述了数据的逻辑序列,即Mem 3、Mem 2、Mem4和Mem 1。该图中的SG列表例示并未被完全填满;即在SG单元E中可以追加一个附加的连续数据区域。注意,逻辑数据(A、B、C、D)的次序不必与存储器地址的次序相同。
还要注意,所示出的单元(A到E)都处在SGL内。
图3示出了共享存储器中分散收集列表的例子。共享存储器是在两条虚线之间所指示的部分。附图标记20示出了生产者的虚拟地址空间,而附图标记21示出了消费者的虚拟地址空间。
注意,生产者和消费者都对SGL操作,但是在所述SGL的不同末尾上:生产者对“空的”SGL执行诸如获得存储器/数据以及删除存储器之类的操作,而对“满的”SGL执行追加操作。对于消费者来说,上述情况是从相反方向进行的。
如前所论述,因为对于不同的存储空间,共享存储器的起始地址可以是不同的,所以依照本发明的所述方法都可以相对于其自己的虚拟地址在内部保持偏移量,如此图所示。将要分别借助于图4和5讨论所述方法。
因为消费者与生产者具有不同的虚拟地址空间,所以生产者怎样把数据传送给该消费者就是个问题。实际上,由于两个SGL都处于该共享存储器中,所以这两个地址空间都包含两个SGL。这里,生产者对满的SGL进行追加,而消费者执行诸如从相同的满的SGL中获得存储器/数据并删除(数据)之类的操作。问题在于:此相同的满的SGL的虚拟地址在两个地址空间中可以不同。因为生产者知道SGL在它的虚拟地址空间中的地址-即VAprod(附图标记26),并且相应地,消费者知道SGL在它的虚拟地址空间中的地址-即VAcons(附图标记28),所以此问题得以解决。
换句话说,生产者以及消费者知道它们的、空的SGL和满的SGL的虚拟地址,即生产者和消费者都对SGL操作,但是当然是从不同的末尾进行的。要传送的数据的地址是在生产者的地址空间中的p。代替在SGL中存储此地址p,p相对于满的SGL的地址的偏移量被存储(偏移量=p-VAprod)在所述满的SGL中。
由消费者调用来从此相同的SGL获取地址的API用来构造数据
(q)在消费者的虚拟地址空间中的地址(附图标记27),(q=VAcons+偏移量)。可以看出,所述偏移量被用来链接在虚拟地址空间(即VAcons和Vaprod)之间。
图4示出了为要存储的数据引用第一数目的方法。所述图对应于在图3中关于p相对于SGL的地址的偏移量所给出的解释,在所述SGL中存储所述偏移量,即偏移量=p-VAprod。
此方法包括以下两个步骤。
在步骤100,计算所述第一数目。其等于p减Vaprod。所述p处于生产者的虚拟地址空间,并且Vaprod处于生产者的虚拟地址空间。
在步骤200,所述第一数目被存储为在所述分散收集列表中的数据的地址。
在此步骤中还可以存储所述数据的长度。
所述方法还可以包括步骤300。
这里存储数据。把所述数据存储在位置P上。典型情况下,数据首先被存储,然后,只被追加到SGL的存储器,否则就可能会存在竞争条件,即在由生产者存储数据之前,消费者已经获得地址。
图5示出了为要获取的数据引用第一地址的方法。所述图对应于在图3中关于p相对于所述SGL的地址的偏移量所给出的解释,在所述SGL中存储所述偏移量,即(偏移量=p-VAprod)。此图还涉及怎样以及在哪里再次使用偏移量,即此计算的偏移量由SGL用来构造数据(Q)在它的虚拟地址空间中的地址,即q=VAcons+偏移量。
为要获取的数据引用第一地址的方法包括以下两个步骤:
在步骤400,从分散收集列表中获取第二数目。所述第二数目已经在对SGL进行的添加数据操作期间被预先计算了。其等于p减Vaprod。所述p处于生产者的虚拟地址空间,并且Vaprod处于生产者的虚拟地址空间。
此步骤对应于前一图的步骤100。
在步骤500,计算所述第一地址q。所述q是VAcons加上所述第二数目。所述VAcons在所述消费者的虚拟地址空间中是分散收集列表的消费者地址,并且所述第一地址处于所述消费者的虚拟地址空间。
然后,获得存储器/数据函数或操作可以返回所计算的地址,即所述第一地址q。
所述方法还可以包括以下步骤600。
这里获取或读取数据。由所述第一地址指向所述数据。
计算机可读介质可以是磁带、光盘、数字化视频光盘(DVD)、光盘(可记录CD或可写入CD)、迷你盘、硬盘(IDE,ATA等)、软盘、智能卡、PCMCIA卡等。
所讨论的第一方法在多处理器系统中可以用于数据存储。
所讨论的第二方法在多处理器系统中可以用于由处理器执行的数据获取。
在本权利要求书中,不应当将置于括号内的任何附图标记看作是对权利要求的限制。词“包括”并不排除那些没有记载在权利要求中的元件或步骤。位于元件之前的词“一个”或“一种”并不排除存在多个这样元件的情况。
本发明可以借助于包括若干截然不同的元件的硬件来实现,也可以借助于合适编程的计算机来实现。在产品权利要求所列举的一些装置中,这些装置的几个部分可以被具体化为一个或相同的硬件项。在彼此不同的权利要求中所提到的某些方法,实际上并不意味着把这些方法结合是无益的。

Claims (10)

1.一种为要存储的数据(29)引用第一数目的方法,其中数据在生产者(10)和消费者(11)之间共享,所述方法包括步骤:
计算(100)所述第一数目(24,偏移量),其等于p(25)减去Vaprod(26),其中p处于生产者(20)的虚拟地址空间,并且Vaprod处于生产者的虚拟地址空间;并且
把所述第一数目作为所述数据的地址存储(200)在分散收集列表中。
2.如权利要求1所述的用于为要存储的数据引用第一数目的方法,还包括步骤:把数据存储(300)在位置p。
3.一种为要获取的数据(29)引用第一地址的方法,其中数据在生产者和消费者之间共享,所述方法包括步骤:
从分散收集列表中获取(400)第二数目,其中所述第二数目(24,偏移量)等于p(25)减去Vaprod(26),其中p处于生产者的虚拟地址空间,并且Vaprod处于生产者的虚拟地址空间;并且
把所述第一地址(27,q)计算(500)为VAcons(28)加上所述第二数目,其中所述VAcons在所述消费者(21)的虚拟地址空间中是分散收集列表的消费者地址,并且其中所述第一地址处于所述消费者的虚拟地址空间。
4.如权利要求3所述的用于为要获取的数据引用第一地址的方法,还包括步骤:
获取(600)数据,其中由所述第一地址指向所获取的数据。
5.一种用于执行如权利要求1或2所述方法的计算机系统。
6.一种用于执行如权利要求3或4所述方法的计算机系统。
7.一种包括程序代码装置的计算机程序产品,所述程序代码装置存储在计算机可读介质上,用于当所述计算机程序在计算机上运行时执行如权利要求1或2所述的方法。
8.一种包括程序代码装置的计算机程序产品,所述程序代码装置存储在计算机可读介质上,用于当所述计算机程序在计算机上运行时执行如权利要求3或4所述的方法。
9.如权利要求1或2所述的方法在多处理器系统中用于数据存储的用途。
10.如权利要求3或4所述的方法在多处理器系统中用于数据荻取的用途。
CNA2004800080458A 2003-03-25 2004-03-19 借助于偏移量在共享存储器中寻址数据的方法 Pending CN1764905A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03100773.5 2003-03-25
EP03100773 2003-03-25

Publications (1)

Publication Number Publication Date
CN1764905A true CN1764905A (zh) 2006-04-26

Family

ID=33041046

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2004800080458A Pending CN1764905A (zh) 2003-03-25 2004-03-19 借助于偏移量在共享存储器中寻址数据的方法

Country Status (6)

Country Link
US (1) US20060190689A1 (zh)
EP (1) EP1611511A1 (zh)
JP (1) JP2006521617A (zh)
KR (1) KR20050120660A (zh)
CN (1) CN1764905A (zh)
WO (1) WO2004086227A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012119420A1 (zh) * 2011-08-26 2012-09-13 华为技术有限公司 一种数据包的并发处理方法及设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2420642B (en) * 2004-11-30 2008-11-26 Sendo Int Ltd Memory management for portable electronic device
US20060236011A1 (en) * 2005-04-15 2006-10-19 Charles Narad Ring management
US20060277126A1 (en) * 2005-06-06 2006-12-07 Intel Corporation Ring credit management
US8271700B1 (en) 2007-11-23 2012-09-18 Pmc-Sierra Us, Inc. Logical address direct memory access with multiple concurrent physical ports and internal switching
US7877524B1 (en) * 2007-11-23 2011-01-25 Pmc-Sierra Us, Inc. Logical address direct memory access with multiple concurrent physical ports and internal switching
US7926013B2 (en) * 2007-12-31 2011-04-12 Intel Corporation Validating continuous signal phase matching in high-speed nets routed as differential pairs
US8219778B2 (en) * 2008-02-27 2012-07-10 Microchip Technology Incorporated Virtual memory interface
US20100110089A1 (en) * 2008-11-06 2010-05-06 Via Technologies, Inc. Multiple GPU Context Synchronization Using Barrier Type Primitives
US11940933B2 (en) * 2021-03-02 2024-03-26 Mellanox Technologies, Ltd. Cross address-space bridging

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3687990B2 (ja) * 1994-01-25 2005-08-24 株式会社日立製作所 メモリアクセス機構
US6021462A (en) * 1997-08-29 2000-02-01 Apple Computer, Inc. Methods and apparatus for system memory efficient disk access to a raid system using stripe control information
WO1999034273A2 (en) * 1997-12-30 1999-07-08 Lsi Logic Corporation Automated dual scatter/gather list dma
EP1145128B1 (en) * 1998-12-18 2003-10-29 Unisys Corporation A memory address translation system and method for a memory having multiple storage units
US6594712B1 (en) * 2000-10-20 2003-07-15 Banderacom, Inc. Inifiniband channel adapter for performing direct DMA between PCI bus and inifiniband link
US7155569B2 (en) * 2001-02-28 2006-12-26 Lsi Logic Corporation Method for raid striped I/O request generation using a shared scatter gather list

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012119420A1 (zh) * 2011-08-26 2012-09-13 华为技术有限公司 一种数据包的并发处理方法及设备

Also Published As

Publication number Publication date
US20060190689A1 (en) 2006-08-24
JP2006521617A (ja) 2006-09-21
EP1611511A1 (en) 2006-01-04
KR20050120660A (ko) 2005-12-22
WO2004086227A1 (en) 2004-10-07

Similar Documents

Publication Publication Date Title
US11036799B2 (en) Low RAM space, high-throughput persistent key value store using secondary memory
KR102007070B1 (ko) 메모리 관리 시의 중복 제거를 위해서 기준 세트로 기준 블록을 취합하는 기법
US8874822B2 (en) Scheduling access requests for a multi-bank low-latency random read memory device
CN103186350B (zh) 混合存储系统及热点数据块的迁移方法
US9720596B1 (en) Coalescing writes for improved storage utilization
US7802066B2 (en) Advanced memory management architecture for large data volumes
US20060218347A1 (en) Memory card
CN109697016B (zh) 用于改进容器的存储性能的方法和装置
US20100281077A1 (en) Batching requests for accessing differential data stores
US8225065B2 (en) Hierarchical scalable memory allocator
JP2013521579A (ja) データベースサーバのためのバッファプール拡張
US6804761B1 (en) Memory allocation system and method
CN107728935B (zh) 对分布式计算系统中的数据重新分区
CN1764905A (zh) 借助于偏移量在共享存储器中寻址数据的方法
US10620844B2 (en) System and method to read cache data on hybrid aggregates based on physical context of the data
US8478755B2 (en) Sorting large data sets
US20020052868A1 (en) SIMD system and method
Son et al. Design and evaluation of a user-level file system for fast storage devices
US10606501B2 (en) Management of paging in compressed storage
US20140095558A1 (en) Computing system and method of managing data thereof
US20240028566A1 (en) Efficient append-only file system for high-performance key-value stores
CN111581441B (zh) 用于聚类计算的加速器
US11747998B1 (en) Indexing technique for large scale distributed key-value systems
US11500746B2 (en) Method, device and computer program product for managing data storage
US20240086362A1 (en) Key-value store and file system

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